/* Vault artwork and gameplay only; page.css remains the shared Dice Bloom shell. */
.vault-stage{padding:6px 0 80px;direction:ltr}
.vault-machine{width:min(100%,max(260px,calc(100svh - 335px)));margin-inline:auto}
#vault{display:block;width:100%;height:auto;margin-bottom:15px;overflow:visible;touch-action:none;user-select:none;-webkit-tap-highlight-color:transparent}
.vault-ring{cursor:grab;outline:none;transform-origin:320px 320px;transition:transform 540ms cubic-bezier(.18,.77,.18,1)}
.vault-ring:active{cursor:grabbing}
.vault-ring.is-selected .ring-outline{stroke:#f4d18b;stroke-opacity:1;stroke-width:2}
.vault-ring:focus-visible .ring-outline{stroke:#fff4c7;stroke-width:5;stroke-opacity:1}
.vault-ring .sector{stroke:#0a1016;stroke-width:2}
.vault-ring text{fill:#f9e9c4;font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-weight:650;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#0008;stroke-width:1;transition:transform 540ms cubic-bezier(.18,.77,.18,1)}
.vault-ring.is-dragging,.vault-ring.is-dragging text{transition:none}
.vault-ring .ring-outline{fill:none;stroke:#a58c5c;stroke-opacity:.35;stroke-width:1;pointer-events:none}
.vault-guides{pointer-events:none}
.vault-hub-label{fill:#bda46e;font:700 12px system-ui;letter-spacing:2px}
.vault-target{fill:#f4d18b;font:500 52px ui-monospace,monospace;letter-spacing:-3px}
.vault-mark{fill:#b9a376;font:600 12px system-ui}
.vault-open .vault-target{fill:#8ff3c9}
.column-readout{height:36px;display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 9px;color:#c3cdd0;font:500 clamp(15px,4cqw,20px) ui-monospace,monospace;font-variant-numeric:tabular-nums}
.column-readout strong{color:#ecd39f;font-weight:700}
.column-readout.is-correct strong{color:#8eebc1}
.readout-panel{display:grid;grid-template-columns:44px 1fr 44px;gap:6px;align-items:center;border:1px solid #635e4b;border-radius:12px;padding:3px;background:linear-gradient(160deg,#26333c,#0f1a23);box-shadow:inset 0 1px 0 #fff1}
.readout-panel>button{min-height:44px;border:0;border-radius:8px;background:#ffffff05;color:#e1c68e;font-size:27px;cursor:pointer}
.readout-middle{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px;min-width:0}
#column-index{font:600 11px ui-monospace,monospace;color:#b2a27d}
.column-readout{margin:0;gap:0;white-space:nowrap;font-size:clamp(13px,3.65cqw,19px)}
.vault-led{pointer-events:none}
.led-light{fill:#ff7870;stroke:#672925;stroke-width:2}
.led-check{opacity:0;pointer-events:none}
.led-cross{opacity:1;pointer-events:none}
.vault-led.is-correct .led-cross{opacity:0}
.vault-led.is-correct .led-light{fill:#9cf5c5;stroke:#1f5949;stroke-width:1.5}
.vault-led.is-correct .led-check{opacity:1}
.vault-led.is-highlighted .led-light{stroke:#f1d59a;stroke-width:2}
.vault-controls{margin-top:12px}
.turn-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 66px;gap:12px;align-items:center}
.turn-controls button,.turn-controls select{box-sizing:border-box;min-width:0;min-height:46px;border:1px solid #8c7955;border-radius:10px;color:#ead4a5;background:linear-gradient(155deg,#303a43,#141e28);box-shadow:inset 0 1px 0 #ffffff18;cursor:pointer}
.turn-controls button{font-size:29px;line-height:1}
.turn-controls select{width:100%;padding:0 8px;font:600 14px system-ui;color-scheme:dark}
.turn-controls option{background:#18232d;color:#f2dcad}
.turn-controls .hint-button{font:600 13px system-ui;margin-inline-start:4px}
.vault-controls button:disabled{opacity:.45;cursor:default}
.vault-reduced .vault-ring,.vault-reduced .vault-ring text{transition-duration:70ms}
.vault-paused .vault-ring{pointer-events:none}
@container gf-page (min-width:600px){.vault-stage{padding-top:0;margin-top:-60px;pointer-events:none}.vault-stage .vault-ring{pointer-events:visiblePainted}.vault-stage .readout-panel,.vault-stage .vault-controls{pointer-events:auto}.vault-paused .vault-stage .vault-ring{pointer-events:none}.vault-controls{margin-top:14px}.turn-controls{grid-template-columns:56px minmax(0,1fr) 56px 92px;gap:16px}.turn-controls button,.turn-controls select{min-height:48px}.turn-controls .hint-button,.turn-controls select{font-size:16px}}
@media (prefers-reduced-motion:reduce){.vault-ring,.vault-ring text{transition-duration:.01ms}}
