:root{--bg: #161009;--bg2: #1e160d;--ink: #f4ead6;--muted: #b9a888;--gold: #f0d070;--line: #4a3a26;--card: #241a10}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 50% -10%,#241a10 0%,var(--bg) 60%);color:var(--ink);font-family:system-ui,Segoe UI,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.65;min-height:100vh}a{color:var(--gold);text-decoration:none}.wrap{max-width:960px;margin:0 auto;padding:24px 20px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0 18px}.topbar-left{display:flex;align-items:center;gap:14px}.topbar .home{font-weight:700;font-size:18px;color:var(--gold);font-family:"Noto Serif SC",Songti SC,serif;display:inline-flex;align-items:center;gap:9px;text-decoration:none}.topbar .brand-logo{width:30px;height:30px;display:block}.topbar .nav-back{font-size:14px;color:var(--ink);opacity:.85;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:5px 10px;white-space:nowrap}.topbar .nav-back:hover{opacity:1;border-color:var(--gold);color:var(--gold)}.lang-btn{border:1px solid var(--line);background:#ffffff0a;color:var(--ink);border-radius:8px;padding:6px 12px;font-size:14px;cursor:pointer}.topbar-right{display:flex;align-items:center;gap:8px}.icon-btn{padding:6px 10px;font-size:16px;line-height:1}#mute-btn[aria-pressed=true]{border-color:#b34;color:#e88;opacity:.85}.settings-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0000008c}.settings-overlay[hidden]{display:none}.settings-panel{width:min(360px,90vw);background:#1c1712;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 12px 40px #00000080}.settings-panel h3{margin:0 0 14px;color:var(--gold);font-size:20px}.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;font-size:15px}.set-chips{display:flex;gap:6px;flex-wrap:wrap}.set-chip{border:1px solid var(--line);background:#ffffff0a;color:var(--ink);border-radius:8px;padding:5px 10px;font-size:13px;cursor:pointer}.set-chip.on{border-color:var(--gold);color:var(--gold);background:#f0d0701f}.set-toggle input{width:20px;height:20px;accent-color:var(--gold);cursor:pointer}.set-note{font-size:12px;opacity:.7;margin:12px 0 16px}.set-done{width:100%;border:1px solid var(--gold);background:#f0d0701f;color:var(--gold);border-radius:10px;padding:9px;font-size:15px;cursor:pointer}.hero{text-align:center;padding:18px 0 26px}.hero-logo{width:72px;height:72px;display:block;margin:0 auto 12px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45))}.hero h1{margin:0 0 8px;font-size:clamp(30px,7vw,48px);color:var(--gold);font-family:"Noto Serif SC",Songti SC,serif;letter-spacing:2px}.hero p{margin:0 auto;max-width:620px;color:var(--muted);font-size:clamp(15px,3.4vw,18px)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:8px}.card{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;transition:transform .12s,border-color .12s}.card:hover{transform:translateY(-2px);border-color:var(--gold)}.card .glyph{flex:0 0 auto;width:64px;height:64px;border-radius:12px;display:grid;place-items:center;font-size:34px;font-weight:700;color:#fff5e8;font-family:"Noto Serif SC",Songti SC,serif}.card .meta h2{margin:0 0 2px;font-size:19px;color:var(--ink)}.card .meta p{margin:0;font-size:13.5px;color:var(--muted)}.gm-hero{display:flex;align-items:center;gap:18px;margin:6px 0 18px}.gm-hero .glyph{width:84px;height:84px;border-radius:16px;display:grid;place-items:center;font-size:46px;font-weight:700;color:#fff5e8;font-family:"Noto Serif SC",Songti SC,serif;flex:0 0 auto}.gm-hero h1{margin:0 0 4px;font-size:clamp(26px,6vw,38px);color:var(--gold)}.gm-hero .tagline{margin:0;color:var(--muted);font-size:clamp(15px,3.6vw,18px)}.play-row{margin:22px 0 8px}.play-btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(180deg,#d9a441,#b07c22);color:#241400;border:none;border-radius:12px;padding:14px 34px;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px #00000059}.play-btn:hover{filter:brightness(1.06)}.play-hint{margin:8px 0 0;color:var(--muted);font-size:13px}.game-preview{position:relative;margin:16px 0 4px;width:100%;max-width:560px;aspect-ratio:16 / 10;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#1a140f;box-shadow:0 8px 24px #0006}.game-preview .preview-canvas{display:block;width:100%;height:100%}.game-preview .preview-badge{position:absolute;top:8px;left:8px;z-index:2;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.5px;color:#f4ead6;background:#140e09a8;border:1px solid var(--line);pointer-events:none}.game-preview .preview-play{position:absolute;inset:0;z-index:3;display:grid;place-items:center;border:none;cursor:pointer;color:#f4ead6;font-size:22px;font-weight:800;background:#0a070447;transition:background .15s}.game-preview .preview-play:hover{background:#0a07041f}.section{margin-top:26px}.section h3{margin:0 0 10px;font-size:18px;color:var(--gold);border-left:3px solid var(--gold);padding-left:10px}.section p{margin:0;color:var(--ink)}.section ol,.section ul{margin:0;padding-left:22px;color:var(--ink)}.section li{margin:4px 0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{background:#f0d0701a;border:1px solid var(--line);color:var(--gold);border-radius:999px;padding:4px 12px;font-size:13px}.site-footer{margin-top:44px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}#stage-host{position:fixed;inset:0;z-index:50;background:var(--bg);display:none}#stage-host.on{display:block}#stage-host canvas{display:block;width:100vw;height:100vh;height:100dvh;touch-action:none}.overlay-btn{position:fixed;z-index:60;width:40px;height:40px;border:1px solid #6b5238;border-radius:8px;background:#140e09b8;color:var(--ink);font-size:18px;cursor:pointer}#exit-btn{top:8px;left:8px}#fs-btn{top:8px;right:8px}body.playing{overflow:hidden}
