:root{--paper:#fbf6ec;--surface:#fffdf8;--chip:#f1e8d6;--line:#e4dac6;--control-border:#8c8572;--ink:#1e2340;--ink-2:#4a4f6e;--lantern:#c8401c;--lantern-strong:#a93414;--on-lantern:#fff;--teal:#0e6b64;--gold:#8a5a12;--scrim:#141830b8;--shadow:0 6px 20px #1e23401a;--font-ui:ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--r-control:10px;--r-card:14px;--r-panel:16px;--content:1120px;--game-accent:var(--lantern)}:root[data-theme=dark]{--paper:#151a30;--surface:#1e2442;--chip:#2a3158;--line:#333a63;--control-border:#7c84b0;--ink:#f6efdf;--ink-2:#b9beda;--lantern:#ff8a5c;--lantern-strong:#ffa37f;--on-lantern:#151a30;--teal:#5fd0c5;--gold:#f2c46d;--shadow:0 6px 20px #00000059}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#151a30;--surface:#1e2442;--chip:#2a3158;--line:#333a63;--control-border:#7c84b0;--ink:#f6efdf;--ink-2:#b9beda;--lantern:#ff8a5c;--lantern-strong:#ffa37f;--on-lantern:#151a30;--teal:#5fd0c5;--gold:#f2c46d;--shadow:0 6px 20px #00000059}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}button,input{font:inherit}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);margin:0;font-size:1rem;line-height:1.625}h1,h2,h3{margin:0 0 var(--s-3);line-height:1.15}h1{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);font-weight:800}h2{margin-top:var(--s-7);font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);font-weight:700}h3{font-size:1.125rem;font-weight:700}p{margin:0 0 var(--s-4);max-width:68ch}a{color:var(--teal);text-underline-offset:3px}img{max-width:100%;display:block}kbd{font:600 .875rem / 1 var(--font-ui);background:var(--chip);border:1.5px solid var(--control-border);white-space:nowrap;border-radius:6px;padding:4px 8px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 5px var(--surface);border-radius:6px}.skip-link{left:var(--s-4);background:var(--ink);color:var(--paper);border-radius:var(--r-control);z-index:100;padding:12px 16px;position:absolute;top:-64px}.skip-link:focus{top:var(--s-2)}.wrap{max-width:var(--content);padding:0 var(--s-4);margin:0 auto}@media (width>=600px){.wrap{padding:0 var(--s-5)}}@media (width>=1200px){.wrap{padding:0 var(--s-6)}}.site-header{background:var(--surface);border-bottom:1.5px solid var(--line)}.site-header .wrap{align-items:center;gap:var(--s-4);flex-wrap:wrap;min-height:64px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;min-height:48px;font-size:1.125rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--lantern);border-radius:50%;width:26px;height:26px;box-shadow:inset 0 -5px #00000024}.site-nav{align-items:center;gap:var(--s-1);margin-left:auto;display:flex}.site-nav a,.theme-toggle{border-radius:var(--r-control);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 12px;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover,.theme-toggle:hover{background:var(--chip)}.site-nav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--lantern);border-radius:0}@media (height<=499px){.site-header .wrap{min-height:48px}}.site-footer{margin-top:var(--s-8);border-top:1.5px solid var(--line);padding:var(--s-5) 0 var(--s-7);color:var(--ink-2);font-size:.875rem}.site-footer a{color:var(--ink-2);margin-right:var(--s-4);min-height:48px;line-height:48px;display:inline-block}.btn{border-radius:var(--r-control);min-width:48px;min-height:48px;font:700 1rem / 1 var(--font-ui);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--lantern);color:var(--on-lantern)}.btn-primary:hover,.btn-primary:active{background:var(--lantern-strong)}.btn-secondary{color:var(--ink);border-color:var(--ink);background:0 0}.btn-secondary:hover{background:var(--chip)}.btn-quiet{color:var(--ink);background:0 0;padding:0 12px}.btn-quiet:hover{background:var(--chip)}.btn[disabled],.btn[aria-disabled=true]{background:var(--chip);color:var(--ink-2);cursor:not-allowed;border-color:#0000}.btn svg{flex:none;width:22px;height:22px}.chips{gap:var(--s-2);margin:0 0 var(--s-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.chip{background:var(--chip);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}.chip--tested:before{content:"✓";color:var(--teal);font-weight:800}.chip--label{border:1.5px solid var(--ink);background:var(--surface)}.chip--concept{background:var(--ink);color:var(--paper)}button.chip{cursor:pointer;min-height:48px;font-family:var(--font-ui);border:1.5px solid #0000;padding:0 16px}button.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}button.chip[aria-pressed=true]:before{content:"✓"}.feature{gap:var(--s-5);padding:var(--s-5) 0;align-items:center;display:grid}.feature>*{min-width:0}@media (width>=900px){.feature{gap:var(--s-7);grid-template-columns:1.25fr 1fr}}.feature .eyebrow{color:var(--teal);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--s-2);font-size:.875rem;font-weight:700}.feature .display{margin-bottom:var(--s-3);font-size:clamp(2rem,1.3rem + 3vw,3rem);font-weight:800;line-height:1.08}.feature .actions{gap:var(--s-3);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.poster{aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-card);background:var(--chip);border:1.5px solid var(--line);width:100%;height:auto}.poster-caption{color:var(--ink-2);margin-top:var(--s-1);font-size:.8125rem}.grid{gap:var(--s-5);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1200px){.grid{grid-template-columns:repeat(4,1fr)}}.card{height:100%;padding:var(--s-3);gap:var(--s-2);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-card);color:var(--ink);flex-direction:column;text-decoration:none;transition:transform .12s ease-out,box-shadow .12s ease-out;display:flex;position:relative}.card:hover,.card:focus-visible{box-shadow:var(--shadow);transform:translateY(-3px)}.card .poster{border-radius:10px}.card h3{margin:var(--s-2) 0 0}.card p{color:var(--ink-2);margin:0;font-size:.9375rem;line-height:1.45}.card .facts{padding-top:var(--s-2);color:var(--ink-2);margin-top:auto;font-size:.8125rem;font-weight:600}.card .ribbon{position:absolute;top:20px;left:20px}.filterbar{gap:var(--s-3);margin:var(--s-5) 0;display:grid}.search{align-items:center;gap:var(--s-2);background:var(--surface);border:1.5px solid var(--control-border);border-radius:999px;max-width:420px;min-height:48px;padding:0 16px;display:flex}.search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;width:100%;min-height:44px}.search:focus-within{outline:3px solid var(--ink);outline-offset:2px}.result-count{color:var(--ink-2);margin:0;font-size:.875rem}.empty{text-align:center;padding:var(--s-7) var(--s-4);background:var(--surface);border:1.5px dashed var(--control-border);border-radius:var(--r-panel)}.empty p{margin-left:auto;margin-right:auto}.notice{gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:1.5px solid var(--control-border);border-left:6px solid var(--teal);border-radius:var(--r-control);margin:var(--s-4) 0;display:flex}.notice--warn{border-left-color:var(--gold)}.notice p{margin:0}table.controls{border-collapse:collapse;background:var(--surface);border-radius:var(--r-control);border:1.5px solid var(--line);width:100%;max-width:760px;overflow:hidden}table.controls th,table.controls td{overflow-wrap:anywhere;text-align:left;border-bottom:1.5px solid var(--line);vertical-align:top;padding:12px 16px}table.controls thead th{background:var(--chip);font-size:.875rem}table.controls tr:last-child td{border-bottom:0}dl.facts{grid-template-columns:max-content 1fr;gap:8px 24px;max-width:760px;margin:0;display:grid}dl.facts dt{font-weight:700}dl.facts dd{color:var(--ink-2);margin:0}ol.steps{max-width:68ch;padding-left:1.25rem}ol.steps li{margin-bottom:var(--s-2)}.breadcrumbs{padding:var(--s-4) 0 var(--s-2);color:var(--ink-2);font-size:.875rem}.breadcrumbs a{color:var(--ink-2);min-height:32px;display:inline-block}.player{margin:var(--s-4) 0 var(--s-5)}.play-surface{width:100%;aspect-ratio:var(--aspect,16 / 9);border-radius:var(--r-card) var(--r-card) 0 0;outline-offset:4px;background:#141830;max-height:78vh;position:relative;overflow:hidden}.play-surface .layer{position:absolute;inset:0}.play-surface .poster-bg{object-fit:cover;width:100%;height:100%}[data-game-mount]{position:absolute;inset:0}.host-layer{z-index:3;padding:var(--s-4);background:var(--scrim);place-items:center;display:grid;overflow:auto}.host-layer[hidden]{display:none}.host-layer--clear{background:linear-gradient(#1418301a,#1418309e);place-items:end start}.panel{color:#1e2340;border-radius:var(--r-panel);border-top:4px solid var(--game-accent);width:min(100%,460px);padding:var(--s-5);background:#fffdf8;box-shadow:0 12px 40px #00000059}.panel h2,.panel h3{margin:0 0 var(--s-2);color:#1e2340;font-size:1.375rem}.panel p{color:#4a4f6e;margin-bottom:var(--s-3)}.panel .actions{gap:var(--s-2);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.panel .btn{padding-top:10px;padding-bottom:10px;line-height:1.25}.panel .btn-primary{color:#fff;background:#c8401c}.panel .btn-secondary{color:#1e2340;border-color:#1e2340}.panel .btn-secondary:hover{background:#f1e8d6}.panel :focus-visible{outline-color:#1e2340;box-shadow:0 0 0 5px #fff}.panel .stack{gap:var(--s-2);display:grid}.panel .stack .btn{width:100%}.panel .chip{color:#1e2340;background:#f1e8d6}.panel--poster{width:min(100%,520px);margin:var(--s-4)}.progress{background:#f1e8d6;border:1.5px solid #8c8572;border-radius:999px;height:12px;overflow:hidden}.progress>span{background:#0e6b64;width:0;height:100%;display:block}.countdown{color:#fffdf8;text-align:center;font-size:6rem;font-weight:800;line-height:1}.countdown small{margin-top:var(--s-3);font-size:1rem;font-weight:600;display:block}.host-pause{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));color:#fffdf8;cursor:pointer;z-index:5;background:#141830c7;border:2px solid #fffdf8;border-radius:12px;place-items:center;width:48px;height:48px;display:none;position:absolute}.host-pause svg{width:24px;height:24px}.host-pause:before{content:"";position:absolute;inset:-8px}.control-bar{align-items:center;gap:var(--s-2);min-height:48px;padding:0 var(--s-3);background:var(--surface);border:1.5px solid var(--line);border-radius:0 0 var(--r-card) var(--r-card);border-top:0;flex-wrap:wrap;display:flex}.control-bar .title{margin-right:var(--s-2);font-weight:700}.control-bar .spacer{flex:1}@media (width<=899px){.control-bar .label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}.player.is-immersive .play-surface,.play-surface:fullscreen{z-index:50;aspect-ratio:auto;border-radius:0;width:100vw;height:100dvh;max-height:none;position:fixed;inset:0}.player.is-immersive .control-bar{display:none}.player.is-immersive .host-pause[data-show=true],.play-surface:fullscreen .host-pause[data-show=true]{display:grid}body.has-immersive{overflow:hidden}.toast{color:#1e2340;z-index:6;background:#fffdf8;border:2px solid #1e2340;border-radius:999px;max-width:calc(100% - 32px);padding:10px 18px;font-size:.9375rem;font-weight:600;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.toast[hidden]{display:none}.lede{margin-bottom:var(--s-3);font-size:1.0625rem}@media (width<=599px){.site-nav .nav-home,.theme-toggle .label{display:none}.site-header .wrap{gap:var(--s-2);flex-wrap:nowrap}.site-nav a,.theme-toggle{padding:0 10px}.breadcrumbs{padding:var(--s-2) 0 0}.player{margin-top:var(--s-2)}.player:not(.is-immersive) .play-surface{aspect-ratio:4/3}.panel--poster{margin:var(--s-2);padding:var(--s-3)}.panel--poster h2{display:none}.panel--poster .chips{margin-bottom:var(--s-2)}.panel--poster .actions{margin-top:var(--s-2)}}[hidden]{display:none!important}figure{margin:0}button{touch-action:manipulation}.site-nav{flex-shrink:0}.theme-toggle{justify-content:center;min-width:48px}.theme-toggle svg{width:22px;height:22px}.site-nav .nav-about{display:none}@media (width>=600px){.site-nav .nav-about{display:inline-flex}}.page-heading{padding-top:var(--s-5)}.page-heading+p{margin-bottom:var(--s-5)}.content-section{max-width:760px}.table-scroll{margin:-4px;padding:4px;overflow-x:auto}.poster-panel,.poster-panel>.poster-bg,.poster-panel>.host-layer{position:absolute;inset:0}.panel--poster{max-width:520px}.panel--poster .poster-caption{color:#4a4f6e;margin-bottom:0}.panel .btn-primary:hover{background:#a93414}.panel{max-height:100%;overflow-y:auto}.development-note{color:var(--ink-2);font-size:.875rem}.game-page .lede{max-width:68ch}.host-pause{z-index:5}.info-grid{gap:16px;display:grid}.info-grid article{border:1.5px solid var(--line);border-radius:var(--r-card);background:var(--surface);padding:20px}.info-grid h3{margin-top:0}@media (width>=900px){.info-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=599px){.brand{gap:6px;font-size:1rem}.brand-mark{width:22px;height:22px}.site-nav{gap:0}.site-nav a,.theme-toggle{padding:0 8px;font-size:.875rem}.play-surface .host-layer{padding:8px}.panel--poster{margin:0}.panel--poster .chips{gap:4px}.panel--poster .chip{padding:4px 8px;font-size:.75rem}.panel--poster .poster-caption{font-size:.75rem}.control-bar .title{width:100%;padding-top:8px;font-size:.875rem}dl.facts{grid-template-columns:1fr;gap:4px}dl.facts dd{margin-bottom:12px}table.controls th,table.controls td{padding:10px 8px;font-size:.875rem}}@media (height<=419px){.host-layer{padding:8px}.panel{padding:12px}.panel .stack{grid-template-columns:1fr 1fr}.panel .stack>:first-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.card:hover,.card:focus-visible{transform:none}}
