/* Game surface only; the shared page.css remains byte-identical. */
.tower-stage{position:relative;width:min(100%,420px);width:min(100%,420px,max(260px,calc((100svh - 244px)/1.52)));margin:0 auto;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
#tower{display:block;width:100%;height:auto;aspect-ratio:25/38;border:0;border-radius:0;background:transparent;box-shadow:none;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:crosshair;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#tower:focus,#tower:focus-visible{outline:none;box-shadow:none}
.tower-console{position:relative;width:min(100%,266px);margin:-2px auto 0}
.tower-controls{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px}
.tower-fire,.tower-colour-toggle{min-width:0;min-height:50px;border:1px solid #8a7652;border-radius:12px;padding:8px;background:linear-gradient(145deg,#252729,#101216);color:#ead6ae;font:700 15px/1.4 Arial,sans-serif;box-shadow:inset 0 1px 0 #dcc49620,0 3px 9px #0004;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.tower-fire{background:linear-gradient(120deg,#79623d,#b5a06c 48%,#806a42);color:#101318}
.tower-fire:disabled{opacity:.65;cursor:default}
.tower-colour-toggle:disabled,.tower-colour-option:disabled{opacity:1;filter:none;cursor:default}
.tower-fire:focus-visible,.tower-colour-toggle:focus-visible{outline:2px solid #fff1c8;outline-offset:3px}
.tower-colour-picker{position:relative;min-width:0}
.tower-colour-toggle{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:50px;padding:3px}
/* No independent gradients, brightness filters, borders or inner shadows on balls. */
.tower-marble{display:block;flex:none;width:36px;height:36px;border:0;border-radius:50%;background-color:transparent;background-size:300% 200%;background-position:var(--ball-x,0%) var(--ball-y,0%);background-repeat:no-repeat;box-shadow:none;filter:none;opacity:1}
.tower-marble.is-empty{background-image:none!important;outline:1px dashed #a7936c;outline-offset:-3px}
.tower-colour-status{min-height:2.8em;margin:7px 0 0;color:#c9b995;text-align:center;font:13px/1.4 Arial,sans-serif}
.tower-colour-options{position:absolute;left:0;bottom:calc(100% + 9px);z-index:5;display:grid;grid-template-columns:repeat(3,52px);gap:7px;padding:10px;border:1px solid #8a7652;border-radius:14px;background:#101317fa;box-shadow:0 8px 25px #0009}
.tower-colour-options[hidden]{display:none}
.tower-colour-option{display:grid;place-items:center;width:52px;height:52px;border:1px solid #555047;border-radius:11px;background:#1b1c1e;cursor:pointer;touch-action:manipulation}
.tower-colour-option[aria-pressed="true"]{border-color:#e5c78e;box-shadow:inset 0 0 0 1px #e5c78e}
.tower-colour-option:focus-visible{outline:2px solid #ffe3a4;outline-offset:2px}
.tower-graphics-status{position:absolute;top:35%;left:12px;right:12px;z-index:2;padding:16px;border:1px solid #9c8967;border-radius:12px;background:#101623;color:#f3dcaa;line-height:1.5;text-align:center}
@container gf-page (min-width:600px){.tower-stage{width:min(100%,460px,max(300px,calc((100svh - 390px)/1.52)));padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}.tower-console{width:min(100%,290px)}}
@media (min-width:600px) and (orientation:landscape) and (pointer:coarse){.tower-stage{width:min(100%,350px,max(260px,calc((100svh - 300px)/1.52)));padding-bottom:calc(130px + env(safe-area-inset-bottom,0px))}}

.tower-keyboard-focus{position:absolute;top:calc(100% + 5px);left:0;right:0;margin:0;color:#ffe3a4;text-align:center;font:12px/1.4 Arial,sans-serif;text-decoration:underline;text-underline-offset:4px}
.tower-keyboard-focus[hidden]{display:none}
