:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(16% .02 260);--bg2:oklch(13.5% .018 260);--card:oklch(21% .022 260);--line:oklch(28% .022 260);--line-2:oklch(38% .024 260);--txt:oklch(97.8% .002 247);--dim:oklch(72% .018 257);--accent:oklch(72% .14 252);--on-accent:oklch(16% .02 260);--accent-soft:oklch(72% .14 252/.16);--accent-2:oklch(75% .12 330);--focus:oklch(72% .14 252);--btn-solid-bg:oklch(97.8% .002 247);--btn-solid-fg:oklch(16% .02 260);--warn:oklch(80% .13 80);--ok:oklch(74% .15 165);--banner-info:oklch(22% .022 260);--banner-warn:oklch(24% .05 70);--banner-warn-txt:oklch(88% .11 85);--stage:oklch(12% .018 260);--scrim:oklch(10% .018 260/.74);--pill:oklch(14% .018 260/.72);--shadow-1:0 1px 3px 0 #0000004d, 0 1px 2px -1px #0000004d;--shadow-2:0 10px 26px #0000006b;--shadow-accent:0 8px 22px oklch(72% .14 252/.22);--header-tint:oklch(16% .02 260/.8);--footer-tint:oklch(16% .02 260/.92);--input:oklch(19% .02 260);--kbd-bg:oklch(19% .02 260);--thumb-tone-1:oklch(20% .022 260);--thumb-tone-2:oklch(23% .022 260);--radius:1rem;--t-fast:.12s;--t-med:.22s;--t-long:.32s;--ease-out:cubic-bezier(.22, 1, .36, 1)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:oklch(97.8% .002 247);--bg2:oklch(96% .005 247);--card:oklch(100% 0 0);--line:oklch(92% .005 250);--line-2:oklch(84% .008 250);--txt:oklch(16% .02 260);--dim:oklch(50% .02 257);--accent:oklch(62% .21 258);--on-accent:oklch(99% 0 0);--accent-soft:oklch(62% .21 258/.12);--accent-2:oklch(52% .18 330);--focus:oklch(62% .21 258);--btn-solid-bg:oklch(16% .02 260);--btn-solid-fg:oklch(97.8% .002 247);--warn:oklch(55% .13 70);--ok:oklch(48% .13 165);--banner-info:oklch(95% .01 240);--banner-warn:oklch(96% .05 90);--banner-warn-txt:oklch(42% .1 70);--stage:oklch(16% .02 260);--scrim:oklch(14% .018 260/.66);--pill:oklch(100% 0 0/.86);--shadow-1:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-2:0 14px 30px #10142229;--shadow-accent:0 8px 20px oklch(62% .21 258/.18);--header-tint:oklch(97.8% .002 247/.8);--footer-tint:oklch(97.8% .002 247/.94);--input:oklch(100% 0 0);--kbd-bg:oklch(96% .005 247);--thumb-tone-1:oklch(93% .008 250);--thumb-tone-2:oklch(100% 0 0)}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);color:var(--txt);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}h1,h2,h3{letter-spacing:-.025em}.page{flex-direction:column;min-height:100dvh;display:flex}.page>.home,.page>.game-page,.page>.doc{flex:1}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}::selection{background:var(--accent-soft)}.banner-offline,.banner-consent,.pnav,.pfooter,.card,.card-soon,.mini,.stage,.chip,.btn,input{transition:background-color var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, box-shadow var(--t-fast) ease, transform var(--t-fast) var(--ease-out), opacity var(--t-fast) ease}@keyframes pf-page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pf-page-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}::view-transition-old(page-content){animation:pf-page-out var(--t-long) ease both}::view-transition-new(page-content){animation:pf-page-in var(--t-long) ease both}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}::view-transition-group(*){animation:none!important}}.banner-offline,.banner-consent{flex-wrap:wrap;align-items:center;gap:10px;padding:9px 18px;font-size:13.5px;display:flex}.banner-offline{background:var(--banner-warn);color:var(--banner-warn-txt)}.banner-consent{background:var(--banner-info);border-bottom:1px solid var(--line)}.banner-consent a{margin-left:6px;font-size:12.5px}.banner-consent .btn-accept,.banner-consent .btn-reject{cursor:pointer;border:0;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700}.banner-consent .btn-accept{background:var(--accent);color:var(--on-accent);margin-left:auto}.banner-consent .btn-reject{color:var(--txt);border:1px solid var(--line);background:0 0}.hidden{display:none!important}.pnav{z-index:40;border-bottom:1px solid var(--line);background:var(--header-tint);-webkit-backdrop-filter:blur(8px);position:sticky;top:0}.pnav-row{align-items:center;gap:10px;max-width:72rem;min-height:64px;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--txt);letter-spacing:-.025em;white-space:nowrap;align-items:center;font-size:1.125rem;font-weight:600;display:inline-flex}.brand:hover,.brand:focus-visible{color:var(--accent)}.navlinks{align-items:center;gap:4px;margin-left:auto;display:flex}.navlink{color:var(--dim);transition:color var(--t-fast) ease, background-color var(--t-fast) ease;border-radius:999px;padding:8px 16px;font-size:.875rem;font-weight:500}.navlink:hover,.navlink:focus-visible{color:var(--txt)}.navlink.on{background:var(--btn-solid-bg);color:var(--btn-solid-fg)}.navlink.on:hover,.navlink.on:focus-visible{color:var(--btn-solid-fg)}.shell-tools{align-items:center;gap:6px;margin-left:8px;display:flex}.btn{background:var(--accent);color:var(--on-accent);cursor:pointer;white-space:nowrap;transition:transform var(--t-fast) var(--ease-out), filter var(--t-fast) ease, box-shadow var(--t-fast) ease, border-color var(--t-fast) ease, background-color var(--t-fast) ease, color var(--t-fast) ease;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-family:inherit;font-size:.875rem;font-weight:700;line-height:1.2;display:inline-flex}.btn:hover,.btn:focus-visible{filter:brightness(1.06);box-shadow:var(--shadow-accent)}.btn:active{transform:scale(.97)}.btn.btn-solid{background:var(--btn-solid-bg);color:var(--btn-solid-fg)}.btn.btn-solid:hover,.btn.btn-solid:focus-visible{filter:none;box-shadow:var(--shadow-2);opacity:.9}.btn.btn-outline{background:var(--bg);color:var(--txt);border:1px solid var(--line);font-weight:500}.btn.btn-outline:hover,.btn.btn-outline:focus-visible{filter:none;box-shadow:none;background:var(--bg2);border-color:var(--line-2)}.btn.btn-ghost{color:var(--dim);border:1px solid var(--line);background:0 0;font-weight:500}.btn.btn-ghost:hover,.btn.btn-ghost:focus-visible{filter:none;box-shadow:none;border-color:var(--line-2);color:var(--txt)}.theme-toggle{min-width:64px}.lang-toggle{min-width:64px;font-size:12.5px}.locale-note{color:var(--dim);padding:.5rem 24px 0;font-size:.85rem}.kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0;font-size:.75rem;font-weight:500}.home-wrap{max-width:72rem;margin:0 auto;padding:0 24px}.hero{gap:40px;padding:64px 0 40px;display:grid}.hero h1{margin:24px 0 0;font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:700;line-height:1.05}.hero h1 .accent-word{color:var(--accent)}.hero-sub{max-width:36rem;color:var(--dim);margin:24px 0 0;font-size:1.125rem;line-height:1.7}.hero-ctas{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero-visual-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.hero-visual{border:1px solid var(--line);border-radius:calc(var(--radius) + 12px);background:var(--card);width:100%;box-shadow:var(--shadow-1);align-self:start;margin:0;padding:16px}.hero-visual img{aspect-ratio:16/9;object-fit:cover;border-radius:calc(var(--radius) + 6px);background:var(--thumb-tone-1);width:100%;height:auto;display:block}.hero-visual figcaption{color:var(--dim);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 6px 4px;font-size:.875rem;display:flex}.hero-visual figcaption strong{color:var(--txt);font-weight:600}.stats-band{border:1px solid var(--line);border-radius:calc(var(--radius) + 12px);background:var(--card);box-shadow:var(--shadow-1);padding:32px}.stats-band dl{margin:0}.stat-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0;display:flex}.stat-row:first-child{border-top:0;padding-top:0}.stat-row:last-child{padding-bottom:0}.stat-row dt{letter-spacing:-.025em;font-size:1.875rem;font-weight:700}.stat-row dd{color:var(--dim);margin:0;font-size:.875rem}.stats-note{color:var(--dim);margin:24px 0 0;font-size:.875rem}.section-head{margin:56px 0 24px}.section-head h2{margin:12px 0 0;font-size:clamp(1.875rem,3.5vw,2.25rem);font-weight:700;line-height:1.15}.section-head .section-sub{max-width:42rem;color:var(--dim);margin:16px 0 0}.search{background:var(--input);border:1px solid var(--line);width:100%;max-width:360px;color:var(--txt);transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease;border-radius:999px;margin:0;padding:10px 18px;font-family:inherit;font-size:14px;display:block}.search::placeholder{color:var(--dim)}.search:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.home-tools{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:12.5px}.chip:hover,.chip:focus-visible{color:var(--txt);border-color:var(--line-2)}.chip.on{background:var(--btn-solid-bg);border-color:var(--btn-solid-bg);color:var(--btn-solid-fg);font-weight:700}.chip.on:hover,.chip.on:focus-visible{filter:brightness(1.06)}.chip:active{transform:scale(.96)}@keyframes pf-card-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}.card,.card-soon{animation:pf-card-in var(--t-long) var(--ease-out) backwards;animation-delay:calc(var(--stagger-i,0) * 55ms)}.work-grid{gap:24px;padding-bottom:16px;display:grid}@media (width>=760px){.work-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1080px){.work-grid{grid-template-columns:repeat(3,1fr)}}.card{border:1px solid var(--line);border-radius:calc(var(--radius) + 12px);background:var(--card);color:var(--txt);box-shadow:var(--shadow-1);transition:transform var(--t-med) var(--ease-out), border-color var(--t-fast) ease, box-shadow var(--t-med) ease;flex-direction:column;padding:24px;display:flex}@media (width>=640px){.card{padding:32px}}.card:hover,.card:focus-visible{border-color:var(--line-2);box-shadow:var(--shadow-2);outline:none;text-decoration:none;transform:translateY(-4px)}.card:active{transform:translateY(-1px)scale(.995)}.card-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--thumb-tone-1);border-radius:calc(var(--radius) + 4px);border:1px solid var(--line);width:100%;transition:transform var(--t-med) var(--ease-out), filter var(--t-med) ease;margin-bottom:20px;display:block}.card:hover .card-thumb{transform:scale(1.015)}.card-kicker{letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin:0;font-size:.75rem;font-weight:500}.card-title{margin:4px 0 0;font-size:1.5rem;font-weight:600;line-height:1.2}.card:hover .card-title{color:var(--accent)}.card-tagline{color:var(--dim);margin:12px 0 0;font-size:.95rem}.card-bullets{color:var(--txt);opacity:.85;gap:8px;margin:16px 0 0;padding:0;font-size:.875rem;list-style:none;display:grid}.card-bullets li{align-items:flex-start;gap:8px;display:flex}.card-bullets li:before{content:"";background:var(--accent);border-radius:999px;flex:none;width:6px;height:6px;margin-top:7px}.card-ctas{flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;display:flex}.card-link{color:var(--accent);font-size:.875rem;font-weight:600}.card-link:hover,.card-link:focus-visible{text-decoration:underline}.card-meta{color:var(--dim);margin:auto 0 0;padding-top:16px;font-size:.8rem}.card-soon{border:1px dashed var(--line-2);border-radius:calc(var(--radius) + 12px);text-align:center;min-height:178px;color:var(--dim);justify-content:center;align-items:center;padding:24px;font-size:.9rem;display:flex}.game-wrap{max-width:72rem;margin:0 auto;padding:0 24px}.stage{background:var(--stage);aspect-ratio:16/9;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);max-height:70vh;margin:24px 0 0;position:relative;overflow:hidden}.stage iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.hud{z-index:2;color:var(--dim);pointer-events:none;justify-content:space-between;font-size:12.5px;display:flex;position:absolute;top:10px;left:12px;right:12px}.hud .pill{background:var(--pill);border:1px solid var(--line);color:var(--txt);-webkit-backdrop-filter:blur(6px);border-radius:999px;padding:4px 12px}.loader-card,.overlay-card{background:var(--scrim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;position:absolute;inset:0}.spinner{border:3px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loader-card p{color:var(--txt)}.rotate-hint{background:var(--card);border:1px solid var(--warn);color:var(--warn);z-index:3;opacity:0;pointer-events:none;border-radius:10px;padding:10px 14px;font-size:13px;transition:opacity .2s;position:absolute;bottom:14px;right:14px}.rotate-hint[data-visible]{opacity:1;pointer-events:auto}.toast{background:var(--card);color:var(--txt);border:1px solid var(--ok);box-shadow:var(--shadow-2);opacity:0;pointer-events:none;z-index:60;border-radius:999px;padding:10px 18px;font-size:13px;transition:opacity .25s,transform .25s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(8px)}.toast[data-visible]{opacity:1;transform:translate(-50%)translateY(0)}.stagebar{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0 0;display:flex}.info{color:var(--dim);margin-right:auto;font-size:.875rem}.controls-line{color:var(--dim);padding-top:10px;font-size:.875rem}.kbd{background:var(--kbd-bg);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;margin:0 2px;padding:1px 7px;font-family:inherit;font-size:12px;display:inline-block}.game-description{color:var(--dim);max-width:46rem;padding:10px 0 8px}.rail{padding:12px 0 40px}.rail h3{margin:0;font-size:1.05rem;font-weight:600}.rail-row{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:12px;display:grid}.mini{background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) - 4px);color:var(--txt);transition:transform var(--t-fast) var(--ease-out), border-color var(--t-fast) ease;align-items:center;gap:10px;padding:10px;display:flex}.mini:hover,.mini:focus-visible{border-color:var(--line-2);outline:none;text-decoration:none;transform:translateY(-2px)}.mini-sq{background:var(--thumb-tone-2);border-radius:8px;flex:none;width:44px;height:44px;overflow:hidden}.mini-thumb{object-fit:cover;width:100%;height:100%;display:block}.mini p{color:var(--dim);margin:0;font-size:12.5px}.mini b{font-size:13px}.thumb-comet-courier{background:radial-gradient(120% 160% at 20% 10%,#1e3a8a55 0%,#0000 60%),linear-gradient(160deg,#0f2f4e,#132a5c)}.thumb-lighthouse-logic{background:radial-gradient(120% 160% at 80% 0,#7c3aed44 0%,#0000 60%),linear-gradient(160deg,#241a4f,#14324a)}.thumb-tide-pool-tap{background:radial-gradient(120% 160% at 50% 100%,#0ea5e955 0%,#0000 65%),linear-gradient(160deg,#0c3a44,#123a56)}.doc{width:100%;max-width:46rem;margin:0 auto;padding:48px 24px 32px}.doc h1{margin:0;font-size:clamp(1.875rem,3.5vw,2.25rem);font-weight:700;line-height:1.15}.doc p,.doc li{color:var(--dim)}.doc ul{margin:8px 0 8px 20px}.doc .btn{margin-top:12px}.pfooter{border-top:1px solid var(--line);background:var(--footer-tint);margin-top:56px}.pfooter-row{max-width:72rem;color:var(--dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin:0 auto;padding:36px 24px;font-size:.875rem;display:flex}.footer-links{align-items:center;gap:16px;display:flex}.footer-link{color:var(--dim);transition:color var(--t-fast) ease}.footer-link:hover,.footer-link:focus-visible{color:var(--txt)}@media (width>=768px){.hero{grid-template-columns:repeat(2,minmax(0,1fr));padding:96px 0 56px}}@media (width<=640px){.pnav-row{gap:8px;min-height:56px;padding:0 14px}.brand{font-size:1.05rem}.navlink{padding:6px 7px;font-size:.85rem}.shell-tools{gap:4px;margin-left:0}.btn{padding:8px;font-size:.8rem}.theme-toggle,.lang-toggle{min-width:0}.home-wrap,.game-wrap{padding:0 14px}.hero{padding:40px 0 28px}.hero-sub{font-size:1rem}.stats-band{padding:24px}.stage{aspect-ratio:4/3;margin:14px 0 0}.doc{padding:32px 14px 24px}.pfooter-row{padding:26px 14px}}@media (prefers-reduced-motion:reduce){.card,.card-soon,.spinner{animation:none}.card,.mini,.chip,.btn,.card-thumb{transition:none}}
