@font-face{font-family:Inter;src:url(/fonts/inter-latin-var.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter Fallback;src:local(Arial);size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}:root{color-scheme:light;--bg:#fbf7f0;--surface:#fff;--surface-2:#f3ece0;--ink:#1f1b16;--ink-muted:#5f574d;--line:#e7dfd1;--control-border:#8a7f70;--accent:#b83d0b;--accent-hover:#9c3309;--accent-ink:#fff;--focus:#b83d0b;--good:#2b7d50;--warn:#8a5a00;--bad:#b3261e;--shadow:0 6px 20px #1f1b161a;--scene-wall:#f6efe3;--scene-ink:#3b342b;--pot:#9aa3ab;--pot-dark:#6b747c;--pot-inner:#4a5157;--milk:#fffaf0;--foam:#fff3dc;--foam-warm:#ffe0b8;--foam-hot:#ffc98f;--flame:#2f6fed;--flame-core:#8fb4ff;--stove:#2b2724;--gauge-track:#ddd3c4;--gauge-band:#2b7d50;--rim-line:#b3261e;--rim-casing:#fffaf0;--radius:12px;--radius-stage:20px;--font:"Inter", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#17140f;--surface:#221d16;--surface-2:#2b251d;--ink:#f4eee4;--ink-muted:#b7ab9a;--line:#3a3228;--control-border:#8d8172;--accent:#ff8a4c;--accent-hover:#ffa574;--accent-ink:#1b1209;--focus:#ff8a4c;--good:#5cc48a;--warn:#f0b429;--bad:#ff7a70;--shadow:0 6px 20px #0006;--scene-wall:#2a241c;--scene-ink:#efe6d8;--pot:#8c959d;--pot-dark:#5f676e;--pot-inner:#3a4045;--milk:#fff7ea;--foam:#fff0d6;--foam-warm:#ffdcb0;--foam-hot:#ffc485;--flame:#5b8cff;--flame-core:#a9c4ff;--stove:#0f0d0b;--gauge-track:#4a4136;--gauge-band:#5cc48a;--rim-line:#b3261e;--rim-casing:#fff7ea}}:root[data-theme=dark]{color-scheme:dark;--bg:#17140f;--surface:#221d16;--surface-2:#2b251d;--ink:#f4eee4;--ink-muted:#b7ab9a;--line:#3a3228;--control-border:#8d8172;--accent:#ff8a4c;--accent-hover:#ffa574;--accent-ink:#1b1209;--focus:#ff8a4c;--good:#5cc48a;--warn:#f0b429;--bad:#ff7a70;--shadow:0 6px 20px #0006;--scene-wall:#2a241c;--scene-ink:#efe6d8;--pot:#8c959d;--pot-dark:#5f676e;--pot-inner:#3a4045;--milk:#fff7ea;--foam:#fff0d6;--foam-warm:#ffdcb0;--foam-hot:#ffc485;--flame:#5b8cff;--flame-core:#a9c4ff;--stove:#0f0d0b;--gauge-track:#4a4136;--gauge-band:#5cc48a;--rim-line:#b3261e;--rim-casing:#fff7ea}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:1rem;line-height:1.5}h1,h2,h3{margin:0 0 .5em;line-height:1.2}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:650}p{margin:0 0 1em}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-hover)}img,svg{max-width:100%}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--surface);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px 16px;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 16px}.prose{max-width:65ch}.btn{border-radius:var(--radius);min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background-color .15s ease-out,transform .12s ease-out;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-ink)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--control-border)}.btn-secondary:hover{background:var(--surface-2);color:var(--ink)}.icon-btn{border-radius:var(--radius);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.site-header{padding:24px 0 8px}.site-header-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.wordmark{letter-spacing:-.02em;color:var(--ink);font-size:1.25rem;font-weight:750;text-decoration:none}.wordmark span{color:var(--accent)}.header-links{align-items:center;gap:8px;font-size:.875rem;display:flex}.header-links a{color:var(--ink-muted);padding:12px 4px}.site-footer{border-top:1px solid var(--line);color:var(--ink-muted);margin-top:64px;padding:24px 0 32px;font-size:.875rem}.site-footer ul{flex-wrap:wrap;gap:4px 20px;margin:0 0 12px;padding:0;list-style:none;display:flex}.site-footer a{color:var(--ink-muted);padding:10px 0;display:inline-block}.site-footer a:hover{color:var(--ink)}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.intro{color:var(--ink-muted);max-width:40ch;margin:16px 0 32px;font-size:1.125rem}.intro h1{color:var(--ink)}.game-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.game-grid.is-single{grid-template-columns:minmax(0,560px);justify-content:center}.game-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);height:100%;color:var(--ink);text-decoration:none;transition:transform .18s ease-out,box-shadow .18s ease-out;display:block;overflow:hidden}.game-card:hover,.game-card:focus-visible{box-shadow:var(--shadow);color:var(--ink);transform:translateY(-2px)}.game-card img{aspect-ratio:4/3;background:var(--surface-2);width:100%;height:auto;display:block}.game-card-body{padding:12px 16px 16px}.game-card-title{margin:0 0 4px;font-size:1.125rem;font-weight:600}.game-card-premise{color:var(--ink-muted);margin:0;font-size:.9375rem}@media (hover:hover) and (pointer:fine){.game-card-premise{opacity:0;transition:opacity .18s ease-out}.game-card:hover .game-card-premise,.game-card:focus-visible .game-card-premise{opacity:1}}.coming-soon{text-align:center;color:var(--ink-muted);margin-top:24px}.game-header{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:8px;height:48px;padding:0 8px;display:flex}.game-header .logo{white-space:nowrap;min-width:44px;height:44px;color:var(--ink);border-radius:var(--radius);justify-content:center;align-items:center;font-weight:750;text-decoration:none;display:inline-flex}.game-header-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.game-header-actions{gap:2px;display:flex}.mute-toggle .icon-off{display:none}.mute-toggle[aria-pressed=true] .icon-off{display:block}.mute-toggle[aria-pressed=true] .icon-on{display:none}.stage{background:var(--scene-wall);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:calc(100dvh - 48px);min-height:480px;max-height:900px;position:relative;overflow:hidden}@media (width>=1200px){.stage{border-radius:var(--radius-stage);border:1px solid var(--line);max-width:1000px;height:calc(100dvh - 96px);margin:24px auto 0}}.stage-fallback{text-align:center;max-width:40ch;color:var(--scene-ink);margin:0 auto;padding:48px 16px}.stage-fallback .premise{font-size:1.25rem;font-weight:600}.analytics-choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.analytics-choice label{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-weight:600;display:flex}.analytics-choice input{width:22px;height:22px;accent-color:var(--accent)}.analytics-status{color:var(--ink-muted);font-size:.875rem}.js .nojs-note{display:none}.game-content{padding-top:48px}.game-content section{margin-bottom:40px}.game-content ol,.game-content ul{padding-left:1.25em}.faq dt{margin-top:16px;font-weight:600}.faq dd{color:var(--ink-muted);margin:4px 0 0}.breadcrumbs ol{color:var(--ink-muted);flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;font-size:.875rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";margin-right:8px}.breadcrumbs a{color:var(--ink-muted)}.play-another a{font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
