:root{--bg: #0c1018;--panel: rgba(18, 24, 36, .82);--text: #e8edf6;--muted: #9aa6bd;--gold: #f2c14e;--accent: #6cb7ff}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#app{position:relative;width:100vw;height:100vh}#scene{display:block;width:100%;height:100%}#hud{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:16px;padding:10px 14px;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none}#turn-indicator{display:flex;align-items:center;gap:8px;font-weight:600}.dot{width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);box-shadow:0 0 8px #ffffff80}.dot.black{background:#1b1f2a;box-shadow:0 0 8px #6cb7ff66}#last-move{color:var(--muted);font-size:13px;min-width:120px}button{font:inherit;color:var(--text);background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:6px 12px;cursor:pointer;transition:background .15s}button:hover{background:#ffffff29}#help{position:absolute;bottom:14px;left:50%;transform:translate(-50%);color:var(--muted);font-size:12px;background:var(--panel);padding:6px 14px;border-radius:20px;white-space:nowrap}.hidden{display:none!important}#setup-overlay,#promotion-overlay,#gameover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#06090e8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10}.setup-box,.promotion-box,.gameover-box{background:var(--panel);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:22px 26px;text-align:center;box-shadow:0 20px 60px #00000080}.promotion-title{margin-bottom:14px;font-weight:600}.promotion-choices{display:flex;gap:10px}.promotion-choices button{font-size:16px;padding:12px 16px}#gameover-text{font-size:22px;font-weight:700;margin-bottom:16px}.setup-title{font-size:20px;font-weight:700;margin-bottom:6px}.setup-sub{color:var(--muted);font-size:13px;margin-bottom:16px}.setup-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setup-choices button{font-size:18px;letter-spacing:2px;padding:14px 18px;display:flex;flex-direction:column;gap:2px;align-items:center}.setup-choices button small{font-size:11px;color:var(--muted);letter-spacing:0}
