:root{--bg: #0f1320;--panel: #161b2e;--panel-2: #1d2440;--ink: #e6ebff;--muted: #9fb0d8;--accent: #0d9488;--accent-2: #14b8a6;--line: rgba(120, 140, 200, .22)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(1200px 800px at 70% -10%,#1a2138,var(--bg));color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}#app{min-height:100%;display:flex;align-items:flex-start;justify-content:center;padding:56px 16px 32px}button{font:inherit;color:var(--ink);cursor:pointer;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:9px 14px;transition:background .15s,border-color .15s,transform .05s}button:hover{background:#283357}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button.primary,.primary{background:var(--accent);border-color:var(--accent-2);font-weight:600}button.primary:hover{background:var(--accent-2)}.menu{width:min(720px,96vw);text-align:center}.title{font-size:40px;letter-spacing:1px;margin:4px 0 2px}.subtitle{color:var(--muted);margin:0 0 22px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:620px){.cards{grid-template-columns:1fr}}.card{text-align:left;padding:18px;border-radius:14px;background:var(--panel)}.card:hover{border-color:var(--accent-2)}.card-name{font-size:19px;font-weight:700}.card-blurb{color:var(--muted);margin:6px 0 10px;font-size:14px}.card-rating{font-size:12px;color:var(--accent-2);text-transform:uppercase;letter-spacing:.5px}.resume{width:100%;margin-bottom:16px;background:var(--panel);font-weight:600}.menu-foot{margin-top:18px}.setup h2{margin:6px 0 16px}.back{background:transparent;border:none;color:var(--muted);padding:4px;float:left}.group{margin:14px 0;text-align:left}.glabel{color:var(--muted);font-size:13px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.pills{display:inline-flex;gap:8px;flex-wrap:wrap}.pill{background:var(--panel)}.pill.on{background:var(--accent);border-color:var(--accent-2);font-weight:600}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:22px}.select{width:100%;padding:9px 12px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;font:inherit}.ghint{color:var(--muted);font-size:12px;margin-top:6px}.game{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;justify-content:center}.board-host{background:var(--panel);padding:10px;border-radius:14px;border:1px solid var(--line)}.board2d,.board-layered{display:block;border-radius:8px}.side{width:280px;display:flex;flex-direction:column;gap:12px}.status{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:20px}.players{display:flex;flex-direction:column;gap:8px}.player{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.player.turn{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2) inset}.player.dead{opacity:.5}.player-head{display:flex;align-items:center;gap:8px}.swatch{width:14px;height:14px;border-radius:4px;border:2px solid;display:inline-block}.pname{font-weight:700}.seat{color:var(--muted);font-size:12px}.clock{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}.clock.low{color:#ff6b6b;font-weight:800}.meta{color:var(--muted);font-size:12px;margin:4px 0}.tray{min-height:22px;font-size:20px;line-height:1;color:#cdd6f4}.tray-glyph{margin-right:1px}.tray-empty{color:var(--muted);font-size:14px}.rating{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.controls .wide{grid-column:1 / -1}.board3d{display:block;border-radius:8px;cursor:grab;touch-action:none}.board3d:active{cursor:grabbing}.hint{color:var(--muted);font-size:12px;text-align:center}.overlay{position:fixed;inset:0;background:#060912b8;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.result,.promo,.help{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;width:min(440px,94vw);text-align:center}.result-title{font-size:22px;font-weight:700;margin-bottom:16px}.result-row,.promo-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.promo-title{margin-bottom:12px;font-weight:600}.help{text-align:left;width:min(560px,94vw);max-height:86vh;overflow:auto}.help h2{margin-top:0}.help h3{margin:16px 0 6px;color:var(--accent-2);font-size:15px}.help p{margin:8px 0}.rules-list{margin:6px 0;padding-left:20px}.rules-list li{margin:6px 0}.help-foot{text-align:right;margin-top:14px;position:sticky;bottom:-22px;background:var(--panel);padding-top:8px}
