/* Tower Climb · 3D table. Enabled only when the 3D table is chosen. The game window, HUD, strip, run chip, status,
   control bar, result cards and sheets are styled once in tower-simple.css for both tables; this sheet only turns them
   into overlays on the 3D room: the canvas fills the whole window edge to edge, the HUD and bar are translucent over it,
   chips and panels are dark glass, and the primary action takes the tower's brass. */
.view-3d{--primary:#dcb877;--primary-up:#ecd08f;--primary-ink:#14211d;--panel:#08151499;--gold:#e8c88d;--gold-hi:#ffe2a6;--green:#8ff0bd;background:#080f11}
.view-3d .game-shell{background:radial-gradient(ellipse at 50% 58%,#243a31,#0e171a 65%,#060c10)}
.view-3d #world-stage canvas{display:block;width:100%;height:100%}
.view-3d .scene-shade{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(#040a0bcc 0%,#040a0b33 14%,transparent 28%,transparent 66%,#040a0b88 84%,#040a0bdd),linear-gradient(90deg,#050b0d66,transparent 16%,transparent 84%,#050b0d55)}
.view-3d .scene-loading{display:grid;position:absolute;z-index:2;top:45%;left:50%;transform:translate(-50%,-50%);gap:20px;place-items:center;color:var(--gold);pointer-events:none}
.view-3d .scene-loading span{width:100px;height:100px;display:grid;place-items:center}
.view-3d .scene-loading img{width:70px;height:70px}
.view-3d .scene-loading small{font-size:11px;letter-spacing:3px;text-transform:uppercase}

/* Overlays: legible over the room without hiding it. */
.view-3d .game-chrome{background:linear-gradient(180deg,#040a0bcc,#040a0b66 70%,#040a0b00)}
.view-3d .game-chrome,.view-3d .table-info,.view-3d .result-hud{text-shadow:0 2px 10px #000c,0 1px 2px #000}
.view-3d .icon-button{background:#09141266;border-color:#c9b68d66}
.view-3d .icon-button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}
.view-3d .floor-chip{background:#0914128c;border-color:#c9b68d66}
.view-3d .floor-badge{background:#e8c88d;color:#14211d;text-shadow:none}
.view-3d .floor-step{background:#0c1515dd;color:#c7bea5;box-shadow:inset 0 0 0 1px #cbb17d55}
.view-3d .floor-step.cleared{background:#23513ef2;color:#c6f2d6;box-shadow:inset 0 0 0 1px #8fd5b499}
.view-3d .floor-step.current{background:var(--gold);color:#1f261f;box-shadow:0 0 14px #e0bd7a88}
.view-3d .run-chip{backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px #e0c69466,0 8px 24px #0006;text-shadow:none}
.view-3d .chip-tiers li{background:#0816159c;box-shadow:inset 0 0 0 1px #d8bc8144}
.view-3d .chip-tiers li.current{background:linear-gradient(#e8c88d,#c9a263);color:#14211d}
.view-3d .chip-tiers li.current strong{color:#14211d}
.view-3d .ladder-panel{background:#0a1718f2;backdrop-filter:blur(14px);box-shadow:0 18px 44px #000c,inset 0 0 0 1px #d9bd8a77}
.view-3d .ladder-floors .current{background:#34503fe6;box-shadow:inset 0 0 0 2px var(--gold)}
.view-3d .ladder-floors .current .lf-n{background:var(--gold);color:#14211d}
.view-3d .payout-ladder li{background:#08161599}
.view-3d .payout-ladder .current{background:linear-gradient(#e8c88d,#c9a263)}
.view-3d .milestone-strip{background:#0a1614e6;box-shadow:inset 0 0 0 1px #d7bd8a88,0 8px 28px #0008;text-shadow:none}
.view-3d .milestone-strip.gain .strip-mult{background:var(--green);color:#0c2a1d}
.view-3d .extra-chip{background:#1c160bd9;box-shadow:inset 0 0 0 1px #e2c18588}
.view-3d .control-panel{background:linear-gradient(180deg,#060d0f00,#060d0fb8 24%,#060d0fee)}
.view-3d .stake-input{background:#ffffff0d;box-shadow:inset 0 0 0 1.5px #ceb47e77}
.view-3d .stake-input button{color:var(--gold)}
.view-3d .presets button{background:#ffffff0f;box-shadow:inset 0 0 0 1px #b7a16a55}
.view-3d .presets button:hover:not(:disabled){background:#ffffff1f}
.view-3d .choice-group{background:#060d0fcc;box-shadow:inset 0 0 0 1px #c7ae7c44}
.view-3d .choice-group button.selected{background:linear-gradient(#e8c88d,#c9a263);color:#162320}
.view-3d .number-choice{background:#0b191a}
.view-3d .primary{background:linear-gradient(155deg,#f4dca6,#dcb877 55%,#bf9656);color:#14211d;box-shadow:inset 0 1px 0 #fff8,0 3px 0 #685733}
.view-3d .primary:hover:not(:disabled){background:linear-gradient(155deg,#f8e4b6,#e4c286 55%,#c9a062)}
.view-3d .primary:disabled,.view-3d #action-dock.busy .primary:disabled{background:#8c7a55;color:#14211dc0;box-shadow:none}
.view-3d .primary.auto::before{background:#14211d88}
.view-3d .secondary{background:linear-gradient(#21413a,#15291f);color:#f0e5c8;box-shadow:inset 0 0 0 1px #e2c18566,0 3px 0 #0b1815}
.view-3d .secondary:hover:not(:disabled){background:linear-gradient(#28504a,#1a3326)}
.view-3d .secondary:disabled,.view-3d #action-dock.busy .secondary:disabled{background:#15291f;color:#f0e5c899}
.view-3d .bank{background:linear-gradient(#1d3a2f,#122a21);color:#d6f7e2;box-shadow:inset 0 0 0 1px #9fe0b8,0 3px 0 #07100d}
.view-3d .bank:hover:not(:disabled){background:linear-gradient(#244a3b,#173429)}
.view-3d .bank:disabled{background:#0a1614b3;color:#c9d6c9;box-shadow:inset 0 0 0 1px #8fae8255}
.view-3d .extra{background:linear-gradient(#2a2416,#17140d);color:#f3e3bf;box-shadow:inset 0 0 0 1px #e2c18599,0 3px 0 #0c0a06}
.view-3d .quiet{background:#060d0f99;box-shadow:inset 0 0 0 1px #c7ae7c88}
.view-3d .celebration{background:transparent}
.view-3d .control-row>.bz-turbo{background:#060d0fcc;color:#cdbf9c;box-shadow:inset 0 0 0 1px #c7ae7c66}
.view-3d .control-row>.bz-turbo[aria-pressed=true]{color:var(--gold-hi);box-shadow:inset 0 0 0 1.5px var(--gold)}
.view-3d .fs-v{text-shadow:0 1px 6px #000c}
.view-3d .ladder-floors .lf-v.exact,.view-3d .ladder-floors .current .lf-v{color:var(--gold-hi)}

/* Phones: the table is framed tight, so the floor strip leaves the felt and runs across the top of the room, under the
   floor line, instead of down the table's left edge. */
@media (max-width:599px){
  .view-3d .game-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr) auto auto;
    grid-template-areas:"hud" "info" "strip" "stage" "status" "bar"}
  .view-3d .floor-rail{grid-row:3;grid-column:1;justify-self:center;flex-direction:row;width:auto;gap:8px;padding:2px 8px;margin-top:2px}
  .view-3d #floor-track{flex-direction:row;gap:4px}
  .view-3d .floor-step{width:26px;height:24px}
  .view-3d .table-info{padding-left:8px}
  .view-3d .result-hud{padding-left:8px}
  .view-3d .scene-slot{margin:0 6px}
  .view-3d .celebration,.view-3d .verdict,.view-3d .cel-root{grid-row:2/6;grid-column:1/-1}
  .view-3d .verdict{padding-left:8px}
  .view-3d .ladder-panel{grid-column:1/-1}
}
.view-3d .outcome.loss strong{color:#ff9f98}
.view-3d .outcome.push strong{color:var(--gold)}
