:root{--bg:#faf7f2;--ink:#1f1a14;--muted:#7a7064;--line:#e7e0d5;--accent:#2563eb;--card:#fff;color:var(--ink);background:var(--bg);font-family:ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#15130f;--ink:#f3efe8;--muted:#a39a8e;--line:#2c2822;--card:#1d1a16;--accent:#60a5fa}}body{margin:0}nav{border-bottom:1px solid var(--line);background:var(--bg);align-items:center;gap:18px;padding:14px 24px;display:flex;position:sticky;top:0}nav a{color:var(--muted);font-weight:600;text-decoration:none}nav a.on,nav a:hover{color:var(--ink)}nav .brand{color:var(--accent);letter-spacing:-.02em;font-size:20px;font-weight:900}.spacer{flex:1}main{max-width:1100px;margin:0 auto;padding:24px}.muted{color:var(--muted)}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;display:grid}.card{background:var(--card);border:1px solid var(--line);color:inherit;border-radius:16px;flex-direction:column;gap:6px;padding:12px;text-decoration:none;display:flex}.card:hover{border-color:var(--accent)}.card h3{margin:6px 0 0}.card p{margin:0}.cover{aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#3b82f6,#10b981);border-radius:10px;width:100%}.cover.placeholder{color:#fff;place-items:center;font-size:48px;font-weight:900;display:grid}.price s{color:var(--muted)}.price em{color:#16a34a;font-style:normal;font-weight:700}.game{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;display:grid}@media (width<=760px){.game{grid-template-columns:1fr}}.game h1{margin:0 0 4px}.tagline{color:var(--muted);margin-top:0;font-size:18px}.demo{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:10px;padding:10px 12px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:12px 20px;font-weight:700}button.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}button:disabled{opacity:.5}.buy{margin:18px 0}.downloads{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.owned{color:#16a34a;font-weight:700}.note{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.signin{flex-direction:column;gap:12px;max-width:380px;margin:40px auto;display:flex}.signin input{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:12px}footer{opacity:.7;flex-wrap:wrap;gap:18px;max-width:960px;margin:48px auto 24px;padding:0 16px;font-size:14px;display:flex}footer a{color:inherit}.policy{max-width:720px;line-height:1.6}.policy li{margin-bottom:8px}.signin .check{align-items:center;gap:8px;display:flex}.dev .row,.row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.dev select,.row input{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;max-width:100%;padding:8px 10px}.row input{flex:1;min-width:200px}.dev button{border-radius:10px;padding:8px 14px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:18px;display:flex}.tabs button{color:var(--muted);background:0 0;border-bottom:2px solid #0000;border-radius:0}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.tiles{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:18px;display:grid}.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}.tile-label{color:var(--muted);font-size:13px}.tile-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.tile-sub,.small{font-size:12px}.chart{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 18px;padding:12px}.chart svg{width:100%;height:160px;display:block}.chart figcaption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:6px;font-size:12px;display:flex}.chart .legend{gap:12px;display:flex}.chart .legend i{border-radius:3px;width:10px;height:10px;display:inline-block}rect.c1,i.c1,.bar{fill:var(--accent);background:var(--accent)}rect.c2,i.c2{fill:#f59e0b;background:#f59e0b}.cols{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.dev table{border-collapse:collapse;width:100%;font-size:14px}.dev th{text-align:left;color:var(--muted);font-size:12px;font-weight:600}.dev td,.dev th{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.dev .num{text-align:right;font-variant-numeric:tabular-nums}.pick tbody tr{cursor:pointer}.pick tbody tr:hover,.pick tbody tr.on{background:color-mix(in srgb, var(--accent) 10%, transparent)}.split{grid-template-columns:minmax(220px,320px) 1fr;gap:18px;display:grid}@media (width<=720px){.split{grid-template-columns:1fr}.dev .errors th:nth-child(4),.dev .errors td:nth-child(4){display:none}}.bar-cell{white-space:nowrap;width:40%}.bar{vertical-align:middle;border-radius:4px;height:10px;margin-right:6px;display:inline-block}.mono,pre{overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Menlo,monospace}pre{background:var(--bg);border:1px solid var(--line);white-space:pre;border-radius:10px;padding:10px;font-size:12px;overflow-x:auto}.detail{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:14px}.detail h3{margin:0}.detail details{margin-top:10px}.detail summary{cursor:pointer;font-size:14px}.kind{text-transform:uppercase;background:var(--line);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700}.kind.panic{color:#fff;background:#dc2626}.kind.error{color:#000;background:#f59e0b}a.button,.button{background:var(--accent);color:#fff;border:1px solid #0000;border-radius:12px;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-block}a.button.secondary{color:var(--ink);border-color:var(--line);background:0 0}nav a.button.small{color:#fff;border-radius:10px;padding:7px 14px}nav a.button.small:hover{color:#fff}.home section{margin:0 0 56px}.home h2{letter-spacing:-.01em;margin:0 0 16px;font-size:24px}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding:32px 0 8px;display:grid}.hero.solo{grid-template-columns:1fr;max-width:760px}.hero h1{letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(34px,5.5vw,56px);line-height:1.05}.lede{color:var(--muted);margin:0 0 24px;font-size:19px;line-height:1.5}.cta{flex-wrap:wrap;gap:12px;display:flex}.join-art{height:300px;position:relative}.tv{color:#fff;background:linear-gradient(135deg,#1e3a8a,#0f766e);border-radius:18px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0 104px 40px 0;overflow:hidden;box-shadow:0 20px 50px #0000002e}.tv-pick,.tv-room{flex-direction:column;align-items:center;gap:10px;animation:.35s fade-in;display:flex}.tv-label{opacity:.8;font-size:14px}.tv-tiles{gap:10px;display:flex}.tv-tile{opacity:.55;border-radius:10px;align-items:flex-end;width:84px;height:58px;padding:6px 8px;font-size:12px;font-weight:800;transition:transform .25s,opacity .25s,box-shadow .25s;display:flex}.tv-tile.on{opacity:1;transform:scale(1.08);box-shadow:0 0 0 3px #fff}.tv-tile.chosen{transform:scale(1.16)}.tv-game{background:#fff;border-radius:999px;padding:2px 10px;font-size:15px;font-weight:900}.tv-code{letter-spacing:.15em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:64px;font-weight:900}.tv-seats{gap:10px;display:flex}.seat{border:2px dashed #fff9;border-radius:50%;width:22px;height:22px;transition:transform .3s}.seat.in{border:2px solid #fff;animation:.35s pop}@keyframes pop{0%{transform:scale(.3)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.phone{background:var(--card);border:6px solid var(--ink);border-radius:24px;width:132px;height:230px;transition:width .45s,height .45s;position:absolute;bottom:0;right:0;overflow:hidden;box-shadow:0 14px 30px #0003}.phone.is-pad{width:196px;height:112px}.ph-home{text-align:center;height:100%;color:var(--muted);place-items:center;padding:14px;font-size:12px;display:grid}.ph-browser{flex-direction:column;gap:14px;padding:10px 8px;animation:.3s fade-in;display:flex}.ph-url{background:var(--bg);border:1px solid var(--line);border-radius:8px;min-height:14px;padding:5px 7px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.caret{background:var(--ink);vertical-align:middle;width:1px;height:11px;margin-left:1px;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.ph-form{flex-direction:column;align-items:center;gap:10px;display:flex}.ph-code{gap:4px;display:flex}.ph-code span{border:1px solid var(--line);background:var(--bg);border-radius:6px;place-items:center;width:22px;height:28px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:800;display:grid}.ph-join{background:var(--accent);color:#fff;border-radius:8px;padding:6px 22px;font-size:13px;font-weight:800;transition:transform .15s}.ph-join.pressed{transform:scale(.9)}.pad{height:100%;animation:.3s fade-in;position:relative}.pad .stick{border:4px solid var(--line);background:radial-gradient(circle, var(--muted) 30%, transparent 32%);border-radius:50%;width:52px;height:52px;position:absolute;top:24px;left:18px}.pad .btn{border-radius:50%;width:30px;height:30px;position:absolute}.pad .btn.a{background:#22c55e;top:40px;right:22px}.pad .btn.b{background:#ec4899;top:16px;right:60px}.steps ol{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;line-height:1.5}.steps li:before{content:counter(step);background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;margin-bottom:10px;font-weight:800;display:inline-grid}.steps li b{display:block}.row-head{justify-content:space-between;align-items:baseline;display:flex}.row-head a{color:var(--accent);font-weight:600;text-decoration:none}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:20px;display:grid}.feature-grid>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}.feature-grid p{color:var(--muted);margin:6px 0 0;line-height:1.5}.dev-band{background:color-mix(in srgb, var(--accent) 12%, var(--card));border:1px solid var(--line);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.dev-band>div{flex:1;min-width:260px}.dev-band h2{margin-bottom:8px}.dev-band p{color:var(--muted);margin:0;line-height:1.5}.center{text-align:center}footer .spacer{flex:1}@media (width<=760px){.hero{grid-template-columns:1fr}.join-art{height:300px}.tv{inset:0 96px 96px 0}.tv-room,.tv-pick{gap:6px}.tv-code{font-size:40px}.tv-tiles{gap:6px}.tv-tile{width:50px;height:40px;padding:4px 5px;font-size:9px}.phone{width:116px;height:200px}.phone.is-pad{width:150px;height:88px}.ph-code{gap:3px}.ph-code span{width:19px;height:24px;font-size:12px}.pad .stick{width:44px;height:44px;top:14px;left:12px}.pad .btn{width:24px;height:24px}.pad .btn.a{top:30px;right:14px}.pad .btn.b{top:10px;right:46px}nav{flex-wrap:wrap;gap:12px;padding:12px 16px}main{padding:16px}}@media (width<=480px){nav{flex-wrap:nowrap;gap:10px;font-size:15px}nav a[href=\/signin]{display:none}}.prompt-box{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:0 0 22px;padding:14px 16px}.prompt-head{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.prompt-head button{border-radius:8px;padding:6px 12px;font-size:13px}.prompt-box code{overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;line-height:1.5;display:block}.prompt-fill{color:var(--muted);font-style:italic}.admin h1{margin:0}.scroll{margin-bottom:18px;overflow-x:auto}.games-table td:first-child{min-width:200px}.sortable{cursor:pointer;white-space:nowrap}.sortable.on{color:var(--ink);text-decoration:underline}.badge{background:var(--line);color:var(--muted);vertical-align:middle;border-radius:99px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.badge.published{color:#16a34a;background:#22c55e2e}.badge.in-review{color:#b45309;background:#f59e0b33}.badge.rejected{color:#dc2626;background:#ef44442e}.review-card{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:10px;margin-bottom:12px;padding:14px;display:grid}.review-card p{margin:6px 0}.review-card textarea{border:1px solid var(--line);background:var(--bg,transparent);min-height:60px;color:var(--ink);font:inherit;border-radius:10px;padding:8px 10px}.dev-band pre.cmds{background:var(--card);border:1px solid var(--line);white-space:pre;border-radius:10px;margin:14px 0 10px;padding:12px 14px;font-size:13px;line-height:1.6;overflow-x:auto}
