#gameOfLifeCanvas[data-astro-cid-mcppuut5]{position:fixed;top:0;left:0;width:100%;height:100%;display:block;z-index:-1}:root{--bg0: #070a12;--bg1: #0b1020;--panel: #0f1730cc;--panel2: #0d142bcc;--border: #233055;--fg: #eaf0ff;--muted: #a9b6dd;--muted2: #7e8ab3;--a: #7aa2f7;--b: #9ece6a;--c: #f7768e;--d: #bb9af7;--e: #2ac3de;--shadow: 0 18px 40px rgba(0, 0, 0, .45);--shadow2: 0 10px 24px rgba(0, 0, 0, .35);--r: 14px}*{box-sizing:border-box}html{overflow-x:hidden;width:100%;max-width:100vw;scrollbar-width:thin;scrollbar-color:#505050 var(--bg1)}html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:var(--bg1);border-left:1px solid rgba(122,162,247,.1)}html::-webkit-scrollbar-thumb{background:#7aa2f766;border-radius:6px;border:2px solid var(--bg1);transition:background .3s ease}html::-webkit-scrollbar-thumb:hover{background:#7aa2f7b3}html,body{height:100%}body{margin:0;color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;line-height:1.7;overflow-x:hidden;width:100%;max-width:100vw;background:linear-gradient(120deg,#070a12,#0b1020,#081633,#0b1020,#070a12);background-size:400% 400%;animation:bgShift 18s ease-in-out infinite}@keyframes bgShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.bg{position:fixed;inset:0;z-index:0;pointer-events:none}#life{position:absolute;inset:0;width:100%;height:100%;opacity:.38;mix-blend-mode:screen;filter:blur(.25px)}.vignette{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(900px 420px at 15% -5%,rgba(122,162,247,.15),transparent 60%),radial-gradient(900px 420px at 95% 5%,rgba(187,154,247,.12),transparent 55%),radial-gradient(900px 420px at 30% 110%,rgba(42,195,222,.1),transparent 55%),linear-gradient(180deg,#00000040,#0000008c);box-shadow:inset 0 0 140px #000000b3}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}.wrap{position:relative;z-index:1;max-width:1050px;margin:0 auto;padding:clamp(12px,3vw,28px) clamp(12px,4vw,18px) clamp(40px,8vw,70px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,2vw,12px);padding:clamp(6px,1.5vw,10px) clamp(6px,1.5vw,10px) 0;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:10px;padding:clamp(6px,1.5vw,8px) clamp(10px,2vw,12px);border-radius:999px;background:linear-gradient(180deg,#0f1730bf,#0d142ba6);border:1px solid rgba(35,48,85,.9);box-shadow:var(--shadow2);color:var(--muted);font-size:clamp(.8rem,2vw,.92rem);backdrop-filter:blur(6px);white-space:nowrap}.pulse{width:10px;height:10px;border-radius:999px;background:var(--b);box-shadow:0 0 #9ece6ab3,0 0 #9ece6a80,0 0 #9ece6a4d;animation:pulseGlow 2.4s infinite}@keyframes pulseGlow{0%{box-shadow:0 0 #9ece6ab3,0 0 #9ece6a80,0 0 #9ece6a4d}50%{box-shadow:0 0 0 12px #9ece6a00,0 0 0 20px #9ece6a00,0 0 0 28px #9ece6a00}to{box-shadow:0 0 #9ece6a00,0 0 #9ece6a00,0 0 #9ece6a00}}.hero{margin-top:clamp(12px,3vw,18px);border-radius:calc(var(--r) + 8px);border:1px solid rgba(35,48,85,.9);background:radial-gradient(900px 400px at 20% 10%,rgba(247,118,142,.14),transparent 60%),radial-gradient(900px 420px at 85% 20%,rgba(122,162,247,.16),transparent 60%),linear-gradient(180deg,#0f1730cc,#0d142bad);box-shadow:var(--shadow);padding:clamp(16px,4vw,26px) clamp(12px,3vw,18px);position:relative;overflow:hidden;backdrop-filter:blur(6px)}.hero:before{content:"";position:absolute;inset:-2px;background:linear-gradient(90deg,transparent 0%,rgba(42,195,222,.25) 30%,rgba(187,154,247,.2) 60%,transparent 100%);transform:translate(-60%);animation:sweep 8s linear infinite;pointer-events:none;opacity:.65}@keyframes sweep{0%{transform:translate(-60%)}to{transform:translate(60%)}}.heroInner{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:start}@media(max-width:820px){.heroInner{grid-template-columns:1fr}}h1{margin:0 0 10px;font-size:clamp(2.1rem,4.2vw,3.15rem);letter-spacing:-.03em}.tagline{margin:0;color:var(--muted);font-size:clamp(.95rem,2.2vw,1.02rem);max-width:65ch}.kbd{display:flex;gap:clamp(6px,1.5vw,8px);align-items:center;margin-top:clamp(10px,2vw,14px);flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;padding:clamp(6px,1.5vw,8px) clamp(8px,2vw,10px);border-radius:999px;border:1px solid rgba(35,48,85,.9);background:#070a124d;color:var(--muted);font-size:clamp(.8rem,1.8vw,.92rem);box-shadow:0 8px 18px #00000040;backdrop-filter:blur(6px);white-space:nowrap}.dot{width:8px;height:8px;border-radius:999px;background:var(--a)}.ctaRow{display:flex;flex-wrap:wrap;gap:clamp(8px,2vw,10px);margin-top:clamp(12px,2vw,16px)}a.btn{display:inline-flex;align-items:center;gap:10px;padding:clamp(8px,1.5vw,10px) clamp(10px,2vw,12px);border-radius:12px;border:1px solid rgba(35,48,85,.9);background:#070a124d;transition:transform .15s ease,border-color .15s ease,background .15s ease;box-shadow:var(--shadow2);color:var(--fg);backdrop-filter:blur(6px);font-size:clamp(.9rem,1.8vw,1rem);white-space:nowrap}a.btn:hover{transform:translateY(-2px);border-color:#7aa2f7e6;background:#0f17308c}a.btn span{color:var(--muted);font-size:clamp(.8rem,1.6vw,.92rem)}.section{margin-top:clamp(18px,4vw,26px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,14px)}@media(max-width:900px){.section{grid-template-columns:1fr}}@media(max-width:600px){.section{margin-top:clamp(12px,3vw,18px);gap:clamp(8px,1.5vw,12px)}}.card{border-radius:var(--r);border:1px solid rgba(35,48,85,.9);background:linear-gradient(180deg,var(--panel),var(--panel2));box-shadow:var(--shadow2);padding:clamp(12px,3vw,16px) clamp(12px,3vw,16px) clamp(10px,2vw,14px);backdrop-filter:blur(6px)}.card h2{margin:0 0 10px;font-size:clamp(1.1rem,2.5vw,1.25rem);letter-spacing:-.01em}.card p{margin:clamp(8px,1.5vw,10px) 0;color:var(--muted);font-size:clamp(.9rem,1.8vw,1rem)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(150px,40vw,230px),1fr));gap:clamp(8px,2vw,12px);margin-top:clamp(8px,1.5vw,10px)}.tile{position:relative;display:block;padding:clamp(10px,2vw,14px) clamp(10px,2vw,14px) clamp(8px,1.5vw,12px);border-radius:12px;border:1px solid rgba(35,48,85,.9);background:#070a124d;transition:transform .15s ease,border-color .15s ease,background .15s ease;overflow:hidden;backdrop-filter:blur(6px);min-height:100%;touch-action:manipulation}.tile:hover{transform:translateY(-2px);border-color:#2ac3ded9;background:#0f173085}.tile strong{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--fg);font-size:clamp(.9rem,1.8vw,1rem)}.tile small{display:block;margin-top:clamp(4px,1vw,6px);color:var(--muted2);line-height:1.35;font-size:clamp(.8rem,1.6vw,.9rem)}.icon{width:10px;height:10px;border-radius:999px;background:var(--e);box-shadow:0 0 0 6px #2ac3de1f;flex:0 0 auto}hr.sep{border:none;height:1px;background:#233055e6;margin:18px 0 10px}a.term{font-weight:800;color:var(--fg);position:relative;padding:0 2px}a.term:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,var(--a),var(--d),var(--e));opacity:.65;transform:scaleX(.4);transform-origin:left;transition:transform .15s ease,opacity .15s ease}a.term:hover:after{transform:scaleX(1);opacity:1}footer{margin-top:clamp(24px,5vw,34px);color:var(--muted2);font-size:clamp(.8rem,1.6vw,.9rem);padding:clamp(8px,1.5vw,12px) clamp(6px,1.5vw,8px) 0}.mini{color:var(--muted2);font-size:clamp(.8rem,1.6vw,.92rem)}@media(max-width:480px){.topbar{flex-direction:column;align-items:stretch;gap:8px}.badge{justify-content:center}.heroInner{gap:clamp(12px,3vw,18px)}.kbd{gap:6px}.pill{padding:6px 8px;font-size:.8rem;flex:1;justify-content:center}a.btn{flex:1;justify-content:center;min-height:44px}a.btn strong{display:none}}@media(max-width:768px)and (min-width:481px){h1{font-size:clamp(1.8rem,5vw,2.1rem)}.grid{grid-template-columns:repeat(auto-fit,minmax(clamp(120px,35vw,200px),1fr))}}@media(hover:none)and (pointer:coarse){a.btn{min-height:44px;padding:clamp(10px,2vw,12px) clamp(12px,2.5vw,14px)}.tile{min-height:44px;padding-top:max(14px,calc(env(safe-area-inset-top) + 4px))}}@media(prefers-reduced-motion:reduce){body{animation:none}.hero:before{animation:none}.pulse{animation:none}}
