.view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 13px}
.music-panel{grid-column:1/-1;min-width:0;margin-top:23px;padding-top:19px;border-top:1px solid var(--line)}.music-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.music-heading h3{font-size:12px;font-weight:400;letter-spacing:.06em;color:#d9d3c8}.music-heading>span{font:8px var(--mono);letter-spacing:.15em;color:#a69378}.music-panel>label{display:block;font-size:10px;color:#a9b9c9;margin-bottom:6px}.music-panel select{width:100%;min-width:0;max-width:100%;padding:10px 8px;border:1px solid #b0c6d438;border-radius:4px;background:#101c28;color:#d8e3ec;font-size:12px;color-scheme:dark}.music-transport{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.music-transport button{min-width:92px;padding:7px 12px;font-size:11px;color:#ddc5a2;border-color:#b49a7347}.music-transport button[aria-pressed=true]{background:#302b2390;border-color:#dbc19b77}.music-transport>span{font:10px var(--mono);color:#8198ad;white-space:nowrap}.music-volume{margin-top:10px}.music-status{font-size:10px;color:#8ca5b8;line-height:1.8;margin-top:6px;min-height:1.8em}.music-status[data-state=playing]{color:#a9cfd0}.music-status[data-state=error]{color:#e6b681}
.audio-check{grid-column:1/-1;display:flex;gap:12px;align-items:center;margin:9px 0}.audio-check button{white-space:nowrap;font-size:10px;padding:7px 10px;color:#d9eaf0;border-color:#91cad14a;background:#192c353d}.audio-feedback{min-width:0;flex:1;font-size:10px;color:#a4c7d1}.audio-feedback [role=meter]{height:3px;background:#59798130;margin-top:7px;overflow:hidden;border-radius:3px}.audio-feedback i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#79b6c5,#e8cf9e);transform:scaleX(0);transform-origin:left;transition:transform .12s linear}.audio-help{border-left:1px solid #8db9c14d;padding-left:8px;margin-top:8px!important}
.settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings #resign{margin-left:0}.ambient-controls{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:14px;font-size:10px;color:#aabaca}.ambient-controls label{white-space:nowrap}.ambient-controls input{min-width:40px;width:100%;height:24px;accent-color:#c6af8b;cursor:pointer}.ambient-controls output{min-width:3ch;font:10px var(--mono);color:#cbd8e4}.ambient-controls input:focus-visible{outline:2px solid #a9dcef;outline-offset:3px;border-radius:4px}.ambient-hint{grid-column:1/-1;font-size:9px;line-height:1.8;color:#7f93a7;margin-top:3px}

.hole-core{background:#020305;border-color:#ff8b2f;box-shadow:0 0 7px #ff7a20,0 0 22px #ff5e1880,0 0 60px #e84a152b,inset 0 0 12px #3d1309}
.hole-core:before{content:'';position:absolute;inset:-28px -24px;border-radius:50%;background:repeating-radial-gradient(ellipse at center,#ffac46 0 1px,#e04b17 2px 3px,#ff741e 4px 5px,#701c09 6px 7px);mask-image:radial-gradient(ellipse at center,transparent 54%,#000 56% 61%,#0009 64%,transparent 73%);filter:drop-shadow(0 0 7px #ff661a)}
.hole-core:after{inset:4px;border-color:#ffa24a88;box-shadow:none}
.hole-disk{inset:132px 13px 112px;border-color:#ffb56c;transform:rotate(-3deg);background:radial-gradient(ellipse at center,transparent 30%,#e64c1980 44%,#ffbe70bb 49%,#ff7922aa 53%,#a83918aa 59%,#ff842052 65%,transparent 73%);box-shadow:0 0 8px #ffb45fcc,inset 0 -3px 7px #ff7a20aa,0 4px 24px #e94b1938}
.hole-disk:before{border-color:#ff7e3999}.hole-disk:after{border-color:#ef501942}
.stone.black,.player-stone.black{background:#020306;border-color:#ff943e;box-shadow:0 0 3px #ff8c38,0 0 11px #e850225c,inset 0 0 3px #b43e1640}
.stone.black:before,.player-stone.black:before{border-color:#ffb05bc9;transform:rotate(-12deg);box-shadow:0 0 4px #ff701a88,inset 0 0 3px #ff9d4880}
.stone.white,.player-stone.white{background:radial-gradient(circle at 44% 38%,#fffdf8 0%,#e9f8ff 42%,#8cdbf6 78%,#518ace 100%);border-color:#d6f7ff;box-shadow:0 0 6px #8bdfff99,0 0 18px #6baded38}
.stone.white:before,.player-stone.white:before{content:'';position:absolute;inset:27% -18%;border:1px solid #a7e9ff99;border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 4px #8adeff66;pointer-events:none}
.view-switch{display:flex;gap:0;border:1px solid #b3c6d431;border-radius:5px;padding:3px;background:#06111bd9}
.view-switch button{font-size:11px;padding:6px 15px;border:0;background:transparent;color:#92a3b5}
.view-switch button[aria-pressed=true]{background:#26333f;color:#f5d7aa;box-shadow:inset 0 0 0 1px #e2b47d30}
.camera-controls{display:flex;gap:6px}.camera-controls button{font-size:10px;background:#111e2c99;padding:6px 9px;color:#bdc8d3}
.board-frame.in-3d,.board-frame.scene-loading{max-width:none;aspect-ratio:1.15;background:#020611;overflow:hidden;border-color:#7897b04f;box-shadow:0 30px 90px #0009,0 0 40px #22609913}
.stage-host{position:absolute;inset:0;z-index:1;background:#030611;visibility:hidden}.board-frame.in-3d .stage-host{visibility:visible}.stage-host canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}
.board-frame.in-3d .board-aura,.board-frame.in-3d #capture-canvas{display:none}
/* The same authoritative grid stays reachable to assistive technology and keyboards. */
.board-frame.in-3d #board{position:absolute;width:1px;height:1px;inset:0;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
.board-frame.scene-loading #board{visibility:hidden}
.stage-status{position:absolute;inset:0;z-index:6;background:radial-gradient(ellipse at 50% 48%,#203047 0,#071019 60%);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:13px;color:#d1c0a6;text-align:center;padding:25px}
.stage-status small{font-size:10px;color:#a7b2c0}.loading-orbit{width:49px;height:49px;border:1px solid #daae7855;border-top-color:#f1c88f;border-radius:50%;box-shadow:0 0 30px #eead652a;animation:loading-orbit 2s linear infinite}
@keyframes loading-orbit{to{transform:rotate(360deg)}}
.universe-hud{position:absolute;top:16px;left:18px;right:18px;z-index:3;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.universe-hud>span{font:8px var(--mono);letter-spacing:.14em;color:#b2d2e5;text-shadow:0 0 10px #000;display:flex;align-items:center;gap:7px}
.universe-hud i{width:4px;height:4px;border-radius:50%;background:#97d4db;box-shadow:0 0 8px #b1ebff}
.universe-hud button{pointer-events:auto;font-size:10px;padding:5px 9px;border-color:#bbd3ec27;background:#071220aa;color:#cad6e2}
.universe-hud .universe-turn{font:10px var(--sans);letter-spacing:.02em;color:#ecd0a7;display:none}.board-frame:fullscreen .universe-turn{display:block}
.target-readout{position:absolute;bottom:16px;left:18px;z-index:3;pointer-events:none;font:10px var(--mono);color:#d6c09f;letter-spacing:.06em;text-shadow:0 0 12px #000}
.board-frame.in-3d .capture-caption{bottom:12%;font-size:10px;line-height:1.7;letter-spacing:.16em;background:linear-gradient(90deg,transparent,#020610b5,transparent);padding:10px 0}
.board-frame:fullscreen{width:100vw;height:100dvh;max-width:none;aspect-ratio:auto;border:0;background:#030611}
.board-frame:fullscreen .universe-hud{top:24px;left:28px;right:28px}
.board-frame:fullscreen .target-readout{bottom:25px;left:28px;font-size:12px}
.file-hint{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#26333f;color:#eed5b4;padding:18px 24px;text-align:center;font-size:13px}.file-hint a{margin-left:20px;text-decoration:underline}
@media(min-width:1051px){.game-layout{grid-template-columns:minmax(0,1fr) 285px;gap:30px}.side-panel{padding-left:23px}}
@media(max-width:1050px) and (min-width:761px){.game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.side-panel{padding-left:15px}.view-toolbar{flex-wrap:wrap}.camera-controls{margin-left:auto}.player-card{gap:10px}.player-card h3{font-size:13px}}
@media(max-width:760px){.board-frame.in-3d,.board-frame.scene-loading{aspect-ratio:.94}.view-toolbar{gap:8px;flex-wrap:wrap;padding-bottom:11px}.camera-controls{margin-left:auto;gap:5px}.view-switch button{font-size:10px;padding:5px 10px}.camera-controls button{font-size:9px;padding:6px 7px}.universe-hud{left:12px;right:12px;top:11px}.universe-hud>span{font-size:7px}.universe-hud button{font-size:9px;padding:4px 6px}.target-readout{left:12px;bottom:12px;font-size:8px}.board-frame.in-3d .capture-caption{font-size:8px;padding-inline:10px;bottom:9%}}
@media(max-width:430px){.view-toolbar{display:grid;grid-template-columns:1fr auto}.camera-controls{gap:5px;grid-column:1/-1;margin-left:0;justify-content:flex-end}.view-switch{width:max-content}.camera-controls button{min-height:32px}.board-caption p{max-width:67%}}
@media(prefers-reduced-motion:reduce){.loading-orbit{animation:none}}
