/* Game surface and game-specific controls only. */
.guided-demo-focus{position:relative;z-index:2;outline:3px solid #f0d98e!important;outline-offset:4px;filter:drop-shadow(0 0 10px #d9bc78aa);animation:guided-demo-pulse .9s ease-in-out infinite alternate}
@keyframes guided-demo-pulse{from{outline-offset:2px;filter:drop-shadow(0 0 4px #d9bc7866)}to{outline-offset:7px;filter:drop-shadow(0 0 14px #f0d98ecc)}}
.guided-demo-running main>:not(.demo-bar){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.guided-demo-focus{animation:none!important}}
:root{color-scheme:dark;--black:#050609;--panel2:#151923;--gold2:#f6dfa0;font-family:Arial,sans-serif;background:var(--black);color:var(--ivory);}
[tabindex]:focus-visible{outline:3px solid #fff2b8;outline-offset:3px}
.brandbar{display:flex;align-items:center;justify-content:space-between;width:min(100%,760px);min-height:44px;margin:0 auto 7px;border:1px solid #8f7434;border-radius:0 0 12px 12px;overflow:hidden;background:linear-gradient(100deg,#f4d77e 0,#bd8c2c 42%,#39280e 75%,#0a0b0e 100%);box-shadow:0 8px 24px #000b}
.brandbar a{display:flex;align-items:center;min-height:42px;color:#080704;text-decoration:none;font-weight:850}
.brand-link{padding:0 13px;font-family:Georgia,serif;font-size:1rem}
.home-button{justify-content:center;min-width:88px;padding:0 14px;border-left:1px solid #8d6c27;background:linear-gradient(145deg,#f4da8b,#b78227);font-size:.82rem;text-transform:uppercase}
.board-frame{position:relative;margin:0 8px;overflow:hidden;border:0;border-radius:24px;padding:0;background:transparent;box-shadow:none}
.board-frame:before{content:none}
#board{display:block;width:100%;max-height:min(60svh,660px);overflow:hidden;border-radius:24px;touch-action:none}
.board-bg{fill:#06090fb8;stroke:#5c4928;stroke-width:1}
.ceiling{stroke:#d5b55b;stroke-width:2;filter:url(#gold-glow)}
.bubble-image{filter:url(#bubble-shadow)}
.aim-line{fill:none;stroke:#f7dc8f;stroke-width:2.2;stroke-dasharray:3 8;stroke-linecap:round;filter:url(#gold-glow)}
.play-controls{display:grid;grid-template-columns:42px 92px 42px 60px minmax(64px,1fr);align-items:center;justify-content:center;gap:7px;padding:10px 8px}
.aim-button,.colour-toggle,.fire-button{height:50px;border:1px solid #8d7135;border-radius:13px;background:linear-gradient(145deg,#1b202b,#090b10);color:var(--gold2);font-weight:900}
.aim-button{font-size:1.8rem}
.aim-wheel{position:relative;width:92px;height:50px;border:1px solid #8d7135;border-radius:999px;background:radial-gradient(circle,#594119 0 13%,#111722 15% 44%,#a98131 46% 49%,#090b0f 51%);touch-action:none}
.aim-wheel span{position:absolute;left:50%;bottom:50%;width:3px;height:20px;border-radius:2px;background:#f8df91;transform-origin:50% 100%;transform:rotate(var(--wheel-angle,0deg));box-shadow:0 0 8px #ffd76e}
.colour-picker{position:relative}
.colour-toggle{display:flex;width:60px;align-items:center;justify-content:center;gap:1px;padding:3px}
.colour-toggle img{width:38px;height:38px;object-fit:contain}
.colour-options{position:absolute;right:0;bottom:58px;z-index:5;display:grid;grid-template-columns:repeat(3,48px);gap:5px;padding:7px;border:1px solid #8d7135;border-radius:15px;background:#080a0ff2;box-shadow:0 14px 30px #000}
.colour-option{width:48px;height:48px;border:1px solid transparent;border-radius:11px;padding:2px;background:#151923}
.colour-option[aria-pressed=true]{border-color:#ffe69a;box-shadow:0 0 12px #f2c75a}
.colour-option img{width:100%;height:100%;object-fit:contain}
.fire-button{background:linear-gradient(145deg,#f8df90,#a87522);color:#080704;font-size:1rem;box-shadow:inset 0 1px #fff9,0 5px 14px #0008}
.preview-sound{height:38px;border:1px solid #725a2e;border-radius:9px;background:#171b23;color:var(--gold2)}
.control-list>div{display:grid;grid-template-columns:34px 1fr;align-items:start;gap:8px}
.control-list b{display:grid;width:31px;height:31px;place-items:center;border:1px solid #79612f;border-radius:50%;color:var(--gold2)}
.control-list p{margin-top:4px}
.result-spark{display:block;margin:-5px auto -18px}
@media(min-width:700px) and (orientation:portrait){.board-frame{margin-inline:18px}
.play-controls{padding-inline:18px}
#board{max-height:690px}}
@media(max-width:370px){.play-controls{grid-template-columns:38px 78px 38px 54px 1fr;gap:4px}
.aim-wheel{width:78px}}
@media(max-height:760px){#board{max-height:51svh}
.play-controls{padding-block:6px}}
.demo-mode .board-frame,.demo-mode .play-controls{pointer-events:none}
.demo-mode .colour-options{display:grid}
.bubble-image{transform-box:fill-box;transform-origin:center}
.board-frame,.play-controls{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
[role="button"],[role="slider"]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
#board,.aim-wheel{touch-action:none}
img,svg{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.level-stat-button{appearance:none;border:0;border-radius:0;color:inherit;cursor:pointer;touch-action:manipulation;min-height:44px}
.level-stat-button:hover:not(:disabled),.level-stat-button:active:not(:disabled){background:#d7b26816}
.level-stat-button:focus-visible{outline-offset:-3px}
.level-stat-button:disabled{cursor:default}
