:root{--ink:#181c22;--paper:#faf7f0;--card:#fff;--muted:#5b6572;--line:#181c221f;--frame:#181c22;--red:#e23b3b;--radius:16px;--shadow:0 14px 34px -16px #181c2252;--shadow-lift:0 22px 44px -18px #181c2266;--sprite-shadow:0 10px 16px #181c2238;--scanline:#181c2208;--display:"Space Grotesk", system-ui, sans-serif;--body:"Inter", system-ui, sans-serif;--pixel:"Silkscreen", monospace;--maxw:1080px;--nav-bg:#faf7f0db;--nav-h:86px;--nav-frame:#2f3a63;--nav-frame-soft:#7d88bd;--nav-plate:var(--card);--nav-plate-head:#f3f0e7;--nav-bevel-hi:#fff;--nav-bevel-lo:#2f3a6338;--nav-drop:#181c226b;--red-bg:var(--red);--red-bg-hover:#c22f2f;--red-fg:#fff;--red-ink:var(--red);--red-glow:#e23b3b8c;--solid-bg:#181c22;--solid-bg-hover:#2a3038;--solid-fg:#faf7f0;--solid-line:transparent;--solid-sheen:transparent;--ghost-line:#181c222e;--ghost-hover-bg:#181c220d;--ghost-hover-line:#181c22;--pop-shadow:0 10px 22px -12px #181c2273;--plate-bg:#181c22;--plate-fg:#faf7f0;--press-bg:#181c22b8;--press-line:#fff;--focus:var(--accent);--accent:#159bb8;--accent-ink:#0c3d4a;--accent-soft:#e4f4f8}html[data-time=night]{--ink:#e9f1fc;--paper:#0b1226;--card:#16223c;--muted:#9db0cc;--line:#96bae829;--frame:#8fb4e0;--red:#d6403f;--shadow:0 18px 40px -20px #030714d9;--shadow-lift:0 24px 48px -20px #020612e6, 0 0 26px -14px #7ec8ff59;--sprite-shadow:0 12px 20px #02061299;--scanline:#a8cdf50b;--nav-bg:#090f20db;--nav-frame:#5b6fa8;--nav-frame-soft:#33477a;--nav-plate:var(--card);--nav-plate-head:#101a30;--nav-bevel-hi:#b4d6ff33;--nav-bevel-lo:#0307148c;--nav-drop:#020612cc;--red-bg:var(--red);--red-bg-hover:#e6544d;--red-fg:#fff;--red-ink:#ff7b6b;--red-glow:#e8c45a59;--solid-bg:#1d2c4a;--solid-bg-hover:#27395e;--solid-fg:#e9f1fc;--solid-line:#8fb4e061;--solid-sheen:#b4d6ff29;--ghost-line:#a3c4eb57;--ghost-hover-bg:#7ec8ff1a;--ghost-hover-line:#7ec8ff;--pop-shadow:0 12px 26px -14px #020612e6, 0 0 20px -8px #7ec8ff73;--plate-bg:#d8e8fc;--plate-fg:#0b1226;--press-bg:#0a1124b3;--press-line:#cfe3fb;--focus:#a8e0ff;--gold:#e8c45a;--accent:#5cc6ec;--accent-ink:#cfeeff;--accent-soft:#12293d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-water{--accent:#159bb8;--accent-ink:#0c3d4a;--accent-soft:#e4f4f8}.theme-fire{--accent:#ef6a34;--accent-ink:#5a2410;--accent-soft:#fdeee6}.theme-grass{--accent:#22a56b;--accent-ink:#0f3f28;--accent-soft:#e7f6ee}html[data-time=night] .theme-water{--accent:#5cc6ec;--accent-ink:#cfeeff;--accent-soft:#12293d}html[data-time=night] .theme-fire{--accent:#f0a655;--accent-ink:#ffe6c6;--accent-soft:#2e2318}html[data-time=night] .theme-grass{--accent:#52cfa0;--accent-ink:#d2f6e7;--accent-soft:#10302a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;line-height:1.6;transition:background-color .75s,color .75s}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.btn{cursor:pointer;font-size:.92rem;font-weight:600;font-family:var(--body);white-space:nowrap;border:2px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:inline-flex}.btn-red{background:var(--red-bg);color:var(--red-fg)}.btn-red:hover{background:var(--red-bg-hover)}.btn-dark{background:var(--solid-bg);color:var(--solid-fg);border-color:var(--solid-line);box-shadow:inset 0 1px 0 var(--solid-sheen)}.btn-dark:hover{background:var(--solid-bg-hover)}.btn-ghost{color:var(--ink);border-color:var(--ghost-line);background:0 0}.btn-ghost:hover{background:var(--ghost-hover-bg);border-color:var(--ghost-hover-line)}.btn-pop:hover{box-shadow:var(--pop-shadow);transform:translateY(-2px)scale(1.06)}.btn-pop:active{transform:translateY(0)scale(.98)}.btn-dark.btn-pop:hover{box-shadow:var(--pop-shadow), inset 0 1px 0 var(--solid-sheen)}html[data-time=night] .btn-red.btn-pop:hover{box-shadow:var(--pop-shadow), 0 0 22px -10px var(--red-glow)}.next-arrow{color:var(--red-ink);margin-left:2px;font-size:.72rem;line-height:1;display:inline-block}.nav{z-index:50;background:var(--nav-plate-head);transition:background-color .75s;position:sticky;top:0}.nav-frame{background:var(--nav-plate-head);border-bottom:2px solid var(--nav-frame);width:100%;box-shadow:inset 0 0 0 1px var(--nav-bevel-hi), inset 0 -2px 0 0 var(--nav-bevel-lo), 0 3px 0 0 var(--nav-frame-soft), 0 14px 26px -18px var(--nav-drop);flex-direction:column;gap:3px;padding:4px 10px;transition:border-color .75s,background-color .75s;display:flex}.nav-plate{background:var(--nav-plate);border:2px solid var(--nav-frame-soft);width:100%;box-shadow:inset 1px 1px 0 var(--nav-bevel-hi), inset -1px -1px 0 var(--nav-bevel-lo);border-radius:7px;align-items:center;gap:10px;display:flex}.nav-plate-head{padding:4px 16px}.nav-plate-body{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:5px 10px;display:grid}.wordmark{font-family:var(--display);letter-spacing:.02em;color:var(--ink);font-size:.98rem;font-weight:700;line-height:1.2;text-decoration:none}.nav-lead,.nav-end{align-self:stretch;align-items:center;gap:8px;display:flex}.nav-lead{justify-self:start}.nav-end{justify-self:end}.nav-lead{border-right:2px solid var(--nav-frame-soft);padding-right:10px}.nav-end{border-left:2px solid var(--nav-frame-soft);padding-left:10px}.nav-links{justify-content:center;justify-self:center;align-items:center;gap:6px;display:flex}.nav-item{color:var(--muted);border-radius:6px;padding:7px 10px 7px 18px;font-size:.9rem;font-weight:500;line-height:1;text-decoration:none;transition:color .15s,background-color .15s;position:relative}.nav-item:before{content:"▶";color:var(--accent);opacity:0;font-size:.55rem;transition:opacity .15s;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.nav-item:hover{color:var(--ink);background:var(--ghost-hover-bg)}.nav-item:hover:before{opacity:.45}.nav-item.on{color:var(--ink);font-weight:600}.nav-item.on:before{opacity:1}.nav-item:focus-visible{outline-offset:2px}.nav .btn{padding:6px 14px;font-size:.82rem}.nav-cta{color:var(--red-fg)}.nav-cta-mobile{display:none}.nav-toggle{cursor:pointer;color:var(--ink);background:0 0;border:none;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:4px;display:none}.nav .time-toggle{border-color:var(--nav-frame-soft);opacity:.82;background:0 0;padding:2px 8px 2px 2px;transition:opacity .18s,transform .18s cubic-bezier(.34,1.56,.64,1)}.nav .time-toggle:hover,.nav .time-toggle:focus-visible{opacity:1}.nav .time-track{border-width:2px;width:42px;height:22px}.nav .time-knob{width:16px;height:16px}.nav .time-toggle.night .time-knob{transform:translate(18px)}.nav .time-star.s1{top:5px;left:7px}.nav .time-star.s2{top:11px;left:15px}.nav .time-star.s3{top:15px;left:10px}.nav .time-label{color:var(--muted);letter-spacing:.08em;font-size:.5rem}.time-toggle{border:2px solid var(--frame);background:var(--card);cursor:pointer;font-family:var(--pixel);color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:3px 8px 3px 3px;transition:transform .18s cubic-bezier(.34,1.56,.64,1),background-color .25s;display:inline-flex}.time-toggle:hover{transform:scale(1.05)}.time-track{border:2px solid var(--frame);background:linear-gradient(#7ec8ff 0%,#b8e4ff 55%,#ffe7a8 100%);border-radius:999px;width:52px;height:28px;transition:background .35s;position:relative;overflow:hidden}.time-toggle.night .time-track{background:linear-gradient(#060c1c 0%,#14224a 55%,#1b3a4a 82%,#163528 100%)}.time-sky{position:absolute;inset:0}.time-star{opacity:0;background:#fff;border-radius:1px;width:3px;height:3px;transition:opacity .3s;position:absolute}.time-toggle.night .time-star{opacity:.9}.time-star.s1{top:7px;left:8px}.time-star.s2{width:2px;height:2px;top:14px;left:18px}.time-star.s3{width:2px;height:2px;top:19px;left:12px}.time-toggle.night .time-star.s3{background:var(--gold);opacity:.85}.time-knob{background:#ffd34d;border:2px solid #181c22;border-radius:50%;place-items:center;width:20px;height:20px;transition:transform .35s cubic-bezier(.34,1.4,.64,1),background .3s;display:grid;position:absolute;top:2px;left:2px;box-shadow:inset -2px -2px #0000001f}.time-toggle.night .time-knob{background:#dbe8fb;border-color:#0b1226;transform:translate(22px);box-shadow:inset -2px -2px #1e305447,0 0 10px 2px #b4d2ff73}.time-sun,.time-moon{border-radius:50%;transition:opacity .25s;position:absolute;inset:0}.time-sun{opacity:1;background:radial-gradient(circle,#fff3b0 0 35%,#0000 36%),#ffd34d}.time-moon{opacity:0;background:radial-gradient(circle at 35% 35%,#0000 40%,#e8eef8 41%),#c9d4e8}.time-toggle.night .time-sun{opacity:0}.time-toggle.night .time-moon{opacity:1}.time-label{letter-spacing:.12em;text-align:left;min-width:3.2em;font-size:.58rem}.home{min-height:calc(100vh - var(--nav-h))}.intro-stage{min-height:calc(100vh - var(--nav-h));background:radial-gradient(120% 80% at 50% 0%, var(--accent-soft), transparent 60%), repeating-linear-gradient(0deg, transparent 0 26px, var(--scanline) 26px 27px);flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:40px 22px;display:flex}.dialogue{background:var(--card);border:2px solid var(--frame);width:100%;max-width:640px;box-shadow:var(--shadow);border-radius:18px;padding:30px 26px 24px;position:relative}.nameplate{background:var(--plate-bg);color:var(--plate-fg);font-family:var(--pixel);letter-spacing:.1em;border-radius:8px;padding:8px 14px;font-size:.95rem;position:absolute;top:-18px;left:22px}.dialogue-text{min-height:4.6em;font-size:1.18rem;line-height:1.6}.type-caret{color:var(--red-ink);vertical-align:baseline;margin-left:1px;font-size:.85em;line-height:1;animation:.7s step-end infinite caret-blink;display:inline-block}.cursor{color:var(--red-ink);font-size:.95rem;position:absolute;bottom:18px;right:18px}.cursor.bounce,.next-arrow.bounce{animation:.7s ease-in-out infinite arrow-bounce}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.dialogue-controls{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.progress{gap:8px;list-style:none;display:flex}.progress li{background:var(--line);border-radius:999px;width:26px;height:6px}.progress li.done{background:var(--red-ink)}.select-stage{max-width:var(--maxw);text-align:center;margin:0 auto;padding:8vh 22px 12vh}.select-title{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(2rem,6vw,3rem);font-weight:700}.select-sub{color:var(--muted);margin-top:8px}.starter-grid{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;display:grid}.starter-card{background:var(--card);border:1px solid var(--line);border-top:6px solid var(--accent);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);padding:26px 22px 24px;text-decoration:none;transition:transform .18s,box-shadow .18s;position:relative}.starter-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-6px)}.starter-mascot-wrap{place-items:center;min-height:168px;margin:0 auto 10px;display:grid;position:relative}.starter-mascot-wrap .pokeball{width:96px;height:96px;animation:.55s ease-in forwards ball-sink;position:absolute}.starter-mascot-wrap .pokeball-burst{animation-delay:0s;top:50%;left:50%}.starter-img{object-fit:contain;z-index:2;width:168px;height:168px;filter:drop-shadow(var(--sprite-shadow));background:0 0;position:relative}.starter-img.emerging{animation:1.05s cubic-bezier(.25,.8,.25,1) both mascot-emerge}.starter-details.pending{opacity:0;pointer-events:none}.starter-details.in .starter-dex,.starter-details.in .starter-name,.starter-details.in .starter-blurb,.starter-details.in .starter-cta{animation:.5s both starter-fade-up}.starter-details.in .starter-name{animation-delay:80ms}.starter-details.in .starter-blurb{animation-delay:.14s}.starter-details.in .starter-cta{animation-delay:.2s}.starter-dex{font-family:var(--pixel);letter-spacing:.08em;color:var(--accent);font-size:.58rem}.starter-name{font-family:var(--display);color:var(--accent-ink);margin:6px 0;font-size:1.5rem;font-weight:700}.starter-blurb{color:var(--muted);min-height:2.8em;font-size:.95rem}.starter-cta{color:var(--accent);margin-top:14px;font-weight:600;display:inline-block}@keyframes starter-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.title-screen{min-height:calc(100vh - var(--nav-h));text-align:center;place-items:center;display:grid;position:relative;overflow:hidden}.title-bg-stack{z-index:0;position:absolute;inset:0}.title-bg{image-rendering:pixelated;background-position:50%;background-size:cover;transition:opacity .9s;position:absolute;inset:0}.title-bg-video{object-fit:cover;object-position:center;background:0 0;width:100%;height:100%}.title-ambience{overflow:hidden}.title-ambience-layer{object-fit:cover;object-position:center;opacity:0;width:100%;height:100%;transition:opacity 1.75s ease-in-out;position:absolute;inset:0}.title-ambience-layer.is-front,.title-bg-day{opacity:1}.title-bg-night,.title-screen.is-night .title-bg-day{opacity:0}.title-screen.is-night .title-bg-night{opacity:1}.title-screen:not(.reduced) .title-bg-still{z-index:0}.title-screen:not(.reduced) .title-bg-video,.title-screen:not(.reduced) .title-ambience{z-index:2}.title-skyfx{z-index:1;pointer-events:none;position:absolute;inset:0}.title-screen:before{content:"";z-index:3;pointer-events:none;background:linear-gradient(#0a14281a,#0a14286b);transition:background .9s,opacity .9s;position:absolute;inset:0}.title-screen.is-night:before{background:linear-gradient(#060b1c2e,#04081675),radial-gradient(50% 36% at 82% 14%,#bed6ff29,#0000 62%)}.title-stars{z-index:1;opacity:0;transition:opacity .9s;position:absolute;inset:0}.title-screen.is-night .title-stars{opacity:1}.title-star{opacity:.55;background:#eaf2ff;border-radius:1px;width:3px;height:3px;animation:9s ease-in-out infinite star-twinkle;position:absolute;box-shadow:0 0 6px #c8e0ffbf}.title-star.n2{animation-duration:11s;animation-delay:1.1s}.title-star.n3{animation-duration:7.2s;animation-delay:3.5s}.title-star.n4{animation-duration:10s;animation-delay:2.2s}.title-star.n5{animation-duration:8.4s;animation-delay:5.1s}.title-star.n6{animation-duration:12.2s;animation-delay:.6s}.title-star.n7{animation-duration:7.7s;animation-delay:6.1s}.title-star.n8{animation-duration:10.3s;animation-delay:2.9s}.title-star.n9{animation-duration:9.3s;animation-delay:4.5s}.title-star.n10{animation-duration:11.5s;animation-delay:1.6s}.title-star.n11{animation-duration:8s;animation-delay:6.7s}.title-star.n12{animation-duration:9.6s;animation-delay:.5s}.title-star.n13{animation-duration:8.6s;animation-delay:4s}.title-star.n14{animation-duration:10.6s;animation-delay:5.6s}.title-star.n15{animation-duration:7.4s;animation-delay:1.4s}.title-star.n16{animation-duration:11.2s;animation-delay:7.7s}.title-star.n17{animation-duration:9s;animation-delay:2.7s}.title-star.n18{animation-duration:9.9s;animation-delay:5s}@keyframes star-twinkle{0%,to{opacity:.25;transform:scale(1)}40%{opacity:1;transform:scale(1.35)}70%{opacity:.45;transform:scale(1)}}.title-star.n1{top:12%;left:8%}.title-star.n2{opacity:.7;width:2px;height:2px;top:7%;left:18%}.title-star.n3{top:16%;left:28%}.title-star.n4{opacity:.65;width:2px;height:2px;top:9%;left:40%}.title-star.n5{top:14%;left:52%}.title-star.n6{top:6%;left:63%}.title-star.n7{opacity:.7;width:2px;height:2px;top:18%;left:72%}.title-star.n8{top:11%;left:84%}.title-star.n9{opacity:.6;width:2px;height:2px;top:24%;left:12%}.title-star.n10{top:4%;left:33%}.title-star.n11{opacity:.7;width:2px;height:2px;top:22%;left:47%}.title-star.n12{top:8%;left:58%}.title-star.n13{top:5%;left:76%}.title-star.n14{opacity:.65;width:2px;height:2px;top:15%;left:91%}.title-star.n15{top:18%;left:5%}.title-star.n16{top:8%;left:95%}.title-star.n17{opacity:.7;width:2px;height:2px;top:11%;left:22%}.title-star.n18{top:13%;left:68%}.title-inner{z-index:5;padding:22px;position:relative}.title-region{font-family:var(--pixel);letter-spacing:.24em;color:#fff;text-shadow:0 2px #00000080;margin-bottom:12px;font-size:.72rem;transition:color .8s,text-shadow .8s}.title-screen.is-night .title-region{color:#dbe8fb;text-shadow:0 2px #040918a6}.title-name{font-family:var(--display);letter-spacing:-.02em;color:#fff;text-shadow:0 4px #00000059,0 0 26px #00000073;font-size:clamp(3rem,12vw,7rem);font-weight:700;line-height:1;transition:color .8s,text-shadow .8s}.title-screen.is-night .title-name{color:#f2f7ff;text-shadow:0 4px #0409188c,0 0 30px #7ec8ff59}.title-press{font-family:var(--pixel);letter-spacing:.16em;text-transform:uppercase;color:var(--press-line);background:var(--press-bg);border:2px solid var(--press-line);cursor:pointer;border-radius:8px;margin-top:30px;padding:14px 28px;font-size:.9rem;transition:background-color .75s,border-color .75s,color .75s,transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;animation:1s step-end infinite press-blink}.title-press:hover{background:var(--red-bg);border-color:var(--red-bg);color:var(--red-fg);opacity:1;box-shadow:0 12px 28px -10px var(--red-glow);animation:none;transform:translateY(-3px)scale(1.08)}.title-press:active{transform:translateY(0)scale(.98)}.title-press:disabled{cursor:default;opacity:.85;animation:none}@keyframes press-blink{0%,45%{opacity:1}46%,to{opacity:0}}.starter-card.closed,.starter-card.opening{border-top-color:var(--line);place-items:center;min-height:320px;display:grid}.starter-card.opening,.starter-card.popping{border-top-color:var(--accent)}.starter-card.popping{min-height:320px}.pokeball-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:16px;width:100%;padding:24px;display:flex;position:relative}.pokeball{width:128px;height:128px;box-shadow:var(--shadow);background:linear-gradient(#e23b3b 0 calc(50% - 6px),#181c22 calc(50% - 6px) calc(50% + 6px),#fff calc(50% + 6px) 100%);border:5px solid #181c22;border-radius:50%;transition:transform .15s;position:relative}.pokeball:after{content:"";background:#fff;border:6px solid #181c22;border-radius:50%;width:38px;height:38px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}html[data-time=night] .pokeball{background:linear-gradient(#d6403f 0 calc(50% - 6px),#0a1020 calc(50% - 6px) calc(50% + 6px),#dbe8fb calc(50% + 6px) 100%);border-color:#0a1020}html[data-time=night] .pokeball:after{background:#dbe8fb;border-color:#0a1020}.pokeball-btn:hover .pokeball{animation:.55s ease-in-out infinite pokeball-alive}.pokeball-btn.wobbling{pointer-events:none}.pokeball-btn.wobbling .pokeball{animation:.72s ease-in-out both pokeball-wobble}.pokeball-burst{background:radial-gradient(circle, #fff 0%, var(--accent-soft) 45%, transparent 70%);pointer-events:none;border-radius:50%;width:16px;height:16px;animation:.45s ease-out .35s both pokeball-burst;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.pokeball-hint{font-family:var(--pixel);letter-spacing:.06em;color:var(--ink);font-size:.95rem}@keyframes pokeball-alive{0%,to{transform:rotate(0)translateY(0)}20%{transform:rotate(-10deg)translateY(-2px)}40%{transform:rotate(9deg)translateY(0)}60%{transform:rotate(-7deg)translateY(-1px)}80%{transform:rotate(5deg)translateY(0)}}@keyframes pokeball-wobble{0%{transform:rotate(0)translateY(0)}15%{transform:rotate(-14deg)translateY(-2px)}30%{transform:rotate(12deg)translateY(0)}45%{transform:rotate(-10deg)translateY(-1px)}60%{transform:rotate(8deg)translateY(0)}75%{transform:rotate(-4deg)scale(1.04)}to{opacity:.35;transform:rotate(0)scale(1.12)}}@keyframes pokeball-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}35%{opacity:1;transform:translate(-50%,-50%)scale(6)}to{opacity:0;transform:translate(-50%,-50%)scale(10)}}@keyframes ball-sink{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.55)translateY(18px)}}@keyframes mascot-emerge{0%{opacity:0;transform:translateY(48px)scale(.92)}45%{opacity:1;transform:translateY(-22px)scale(1)}to{opacity:1;transform:translateY(0)scale(1)}}.page{min-height:100vh}.hero{max-width:var(--maxw);grid-template-columns:1.4fr 1fr;align-items:center;gap:30px;margin:0 auto;padding:7vh 22px 5vh;display:grid}.dex{font-family:var(--pixel);letter-spacing:.12em;color:var(--accent);font-size:.66rem}.hero-name{font-family:var(--display);letter-spacing:-.03em;color:var(--accent-ink);margin:8px 0 12px;font-size:clamp(2.6rem,8vw,4.4rem);font-weight:700}.hero-tagline{color:var(--muted);max-width:32rem;font-size:1.15rem}.hero-art{place-items:center;display:grid;position:relative}.hero-art img,.hero-mascot{object-fit:contain;width:280px;height:280px;filter:drop-shadow(var(--sprite-shadow));background:0 0;animation:4.2s ease-in-out infinite hero-float;position:relative}video.hero-mascot{animation:none}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.route-frame{min-height:calc(100vh - var(--nav-h))}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}.block{border-top:1px solid var(--line);padding:6vh 0}.block:first-child{border-top:none}.block-h{font-family:var(--display);letter-spacing:-.01em;align-items:center;gap:12px;margin-bottom:20px;font-size:1.5rem;font-weight:700;display:flex}.block-h:before{content:"";background:var(--accent);border-radius:2px;width:16px;height:6px;transform:skew(-18deg)}.block-sub{color:var(--muted);margin:-12px 0 22px}.stats{grid-template-columns:repeat(4,1fr);gap:16px;padding:5vh 0;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;padding:18px}.stat-n{font-family:var(--display);color:var(--accent-ink);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700}.stat-l{color:var(--muted);margin-top:4px;font-size:.86rem}.exp{list-style:none}.exp-row{border-top:1px solid var(--line);padding:20px 0}.exp-row:first-child{border-top:none}.exp-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.exp-when{font-family:var(--pixel);letter-spacing:.04em;color:var(--accent);white-space:nowrap;font-size:.7rem}.exp-org{font-size:1.08rem;font-weight:600}.exp-role{color:var(--muted)}.exp-points{gap:8px;margin-top:12px;list-style:none;display:grid}.exp-points li{padding-left:20px;font-size:.95rem;line-height:1.55;position:relative}.exp-points li:before{content:"▸";color:var(--accent);position:absolute;left:0}.edu-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.notable{gap:14px;list-style:none;display:grid}.notable li{max-width:52rem;padding-left:26px;position:relative}.notable li:before{content:"▸";color:var(--accent);position:absolute;left:0}.skills{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.skill-group h3{margin-bottom:12px;font-size:1rem}.chips{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.chip{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:5px 12px;font-size:.82rem;font-weight:500}.edu-school{font-size:1.1rem;font-weight:600}.edu-degree{margin-top:4px}.edu-minors{color:var(--muted)}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;display:grid}.proj-card{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:14px;flex-direction:column;gap:10px;padding:22px;display:flex}.proj-name{font-family:var(--display);font-size:1.2rem;font-weight:700}.proj-tag{color:var(--muted);flex:1;font-size:.95rem}.proj-links a{color:var(--accent);font-weight:600;text-decoration:none}.proj-links a:hover{text-decoration:underline}.proj-private{color:var(--muted);font-size:.9rem;font-style:italic}.fun-intro{max-width:44rem;margin-bottom:30px;font-size:1.2rem}.badges{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.badge{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}.badge-icon{color:var(--accent);line-height:0;display:inline-flex}.badge h3{font-family:var(--display);margin:8px 0 6px;font-size:1.1rem}.badge p{color:var(--muted);font-size:.92rem}.contact{max-width:var(--maxw);border-top:1px solid var(--line);text-align:center;margin:6vh auto 0;padding:7vh 22px 9vh}.contact h2{font-family:var(--display);font-size:1.8rem;font-weight:700}.contact p{color:var(--muted);margin:8px 0 22px}.contact-links{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.back-lab{color:var(--muted);margin-top:26px;text-decoration:none;display:inline-block}.back-lab:hover{color:var(--ink)}.notfound{text-align:center;padding:16vh 22px}.notfound h1{font-family:var(--display);margin-bottom:10px;font-size:2rem}.notfound p{color:var(--muted);margin-bottom:22px}html[data-time=night] .dialogue,html[data-time=night] .starter-card,html[data-time=night] .proj-card,html[data-time=night] .stat,html[data-time=night] .badge{background-image:linear-gradient(#b4d6ff0f,#0000 46%)}@media (width<=820px){.starter-grid{grid-template-columns:1fr;max-width:380px;margin-inline:auto}.hero{text-align:center;grid-template-columns:1fr}.hero-art{order:-1}.stats{grid-template-columns:repeat(2,1fr)}.skills{grid-template-columns:1fr}}@media (width<=640px){:root{--nav-h:78px}.nav-frame{padding:4px 8px}.nav-plate-head{padding:4px 12px}.nav-plate-body{grid-template-columns:1fr auto;padding:4px 6px}.nav-toggle{display:inline-flex}.nav-end{display:none}.nav-cta-mobile{justify-content:center;margin-top:6px;display:inline-flex}.wordmark{font-size:.92rem}.nav .time-label{display:none}.nav .time-toggle{padding-right:2px}.nav-links{background:var(--nav-plate);border:2px solid var(--nav-frame);box-shadow:inset 0 0 0 1px var(--nav-bevel-hi), 0 3px 0 0 var(--nav-frame-soft), 0 16px 30px -18px var(--nav-drop);border-radius:10px;flex-direction:column;align-items:stretch;gap:2px;padding:8px;display:none;position:absolute;top:calc(100% - 2px);left:8px;right:8px}.nav-links.open{display:flex}.nav-item{padding:11px 12px 11px 22px;font-size:.95rem}.nav-item:before{left:8px}.wrap{padding:0 18px}.hero{padding:5vh 18px 3vh}.hero-art img,.hero-mascot{width:220px;height:220px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important;animation:none!important}.starter-card{transition:none}.starter-card:hover{transform:none}.title-press{opacity:1}.cursor,.type-caret,.next-arrow{opacity:1;transform:none}.btn-pop:hover,.title-press:hover,.time-toggle:hover{box-shadow:none;transform:none}.pokeball-btn:hover .pokeball,.pokeball-btn.wobbling .pokeball,.pokeball-burst,.starter-img,.starter-img.emerging,.starter-details.in .starter-dex,.starter-details.in .starter-name,.starter-details.in .starter-blurb,.starter-details.in .starter-cta,.hero-art img,.hero-mascot{transform:none;animation:none!important}.time-knob{transition:none!important}}
