/* A tactile play surface, shared by every mission. */
.game-page{max-width:1480px}
.game-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);gap:24px}
.board-panel{overflow:hidden;padding:24px 20px;background:linear-gradient(160deg,#fff,#f3f7fc);box-shadow:0 18px 55px #183e7010}
.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 12px}
.board-scene-name{font-size:9px;font-weight:800;letter-spacing:1.5px;color:#446480;white-space:nowrap;display:flex;align-items:center;gap:7px}
.board-scene-name i{height:6px;width:6px;background:#1ca9b5;border-radius:50%;box-shadow:0 0 0 4px #1ca9b512}
.board-views{display:flex;border:1px solid #d5e0ed;padding:3px;border-radius:10px;background:white;gap:2px}
.board-views button{border:0;border-radius:7px;background:transparent;padding:8px 11px;font-size:10px;color:#63758a;font-weight:bold;white-space:nowrap;min-height:34px}
.board-views button[aria-pressed=true]{background:#183e70;color:white;box-shadow:0 3px 8px #14284922}
.board-stage{position:relative;border:1px solid #d0dce9;border-radius:18px;overflow:hidden;isolation:isolate;background:#dbe7f5}
.board-canvas{width:100%;aspect-ratio:1.06;min-width:0}
.board-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y;outline-offset:-5px}
.board-canvas canvas:focus-visible{outline:3px solid #42b8df}
.scene-corner{position:absolute;top:17px;left:18px;z-index:1;pointer-events:none;color:#1c466e;font-size:9px;font-weight:900;letter-spacing:1.3px}
.scene-corner b{display:block;font-size:7px;letter-spacing:2.8px;font-weight:normal;margin-top:5px;color:#6989a6}
.scene-caption{position:absolute;bottom:14px;left:17px;font-size:9px;letter-spacing:.5px;color:#537593;pointer-events:none}
.board-hover{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);max-width:95%;white-space:nowrap;font-size:10px;background:#12335de8;color:white;border-radius:20px;padding:8px 12px;pointer-events:none}
.board-hover:empty{display:none}
.board-view-note{font-size:10px;color:#6a7f96;margin:10px 0 0;line-height:1.6;min-height:16px}
.spatial-board .board-legend{padding-top:14px;border-top:1px solid #dbe5ee;margin-top:14px;margin-bottom:10px}
.spatial-board .board-instruction{min-height:0}
.spatial-board .team-roles span{border:1px solid #dce6ef;background:#fff}
.control-panel{box-shadow:0 18px 55px #183e7009;border-color:#dce5ef}
.code-card{box-shadow:0 3px 0 #c7d9ef;border-color:#bdd2ec}
.code-card.empty{box-shadow:inset 0 2px 4px #14284905}
.piece-option{background:linear-gradient(145deg,#fff,#edf1f8);box-shadow:0 4px 0 #dde3ef;transition:transform .15s,border-color .15s}
.piece-option:hover{transform:translateY(-3px)}
.piece-option[aria-pressed=true]{box-shadow:0 4px 0 #c2a6e7;background:#f3ebff}
.mini-shape{transform:perspective(120px) rotateX(16deg) rotateZ(-5deg);gap:2px;filter:drop-shadow(2px 5px 2px #30264a20)}
.mini-shape i:not(.blank){border-radius:3px;background:linear-gradient(135deg,#c3a0f1,#8b57cf);box-shadow:0 3px 0 #63339c,inset 0 1px 0 #e3c9ff}
@media(max-width:1100px){.game-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,1fr)}.board-panel{padding:18px 14px}.board-toolbar{flex-wrap:wrap}.board-views{margin-left:auto}.board-scene-name{font-size:8px}}
@media(max-width:1000px){.game-layout{grid-template-columns:1fr}.board-panel{padding:18px 16px}.board-canvas{aspect-ratio:1.08}.board-stage{max-width:650px;margin:auto}.board-toolbar{max-width:650px;margin:16px auto 12px}.board-view-note{max-width:650px;margin:10px auto 0}.board-views button{padding:8px 9px}.game-page{padding-inline:4%}}
@media(max-width:400px){.board-panel{padding:16px 10px}.board-scene-name{font-size:7px;letter-spacing:.7px}.board-views button{font-size:9px;padding:7px}.scene-corner{top:12px;left:12px}.scene-caption{font-size:8px}}
@media print{.board-experience{display:none}.board-wrap[hidden]{display:block!important}}
