.vault-game{color:#eef8ff;background:#0b1422;min-height:100vh;font-family:Arial,Noto Sans TC,sans-serif}.vault-header{color:#9ab5c9;justify-content:space-between;gap:16px;max-width:1180px;margin:auto;padding:22px 28px;font-size:14px;display:flex}.vault-header a{color:#c7e9f7;text-decoration:none}.vault-header small{color:#87b0c1;margin-left:8px}.vault-main{max-width:1180px;margin:auto;padding:20px 28px 48px}.vault-heading{justify-content:space-between;align-items:end;gap:32px;margin:0 0 24px;display:flex}.vault-heading p{color:#a9c2d4;max-width:420px;margin:4px 0;font-size:16px;line-height:1.7}.vault-heading h1{letter-spacing:2px;margin:8px 0 0;font-size:40px;font-weight:800}.vault-heading h1 span{color:#8ae7f8}.vault-layout{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);align-items:start;gap:24px;display:grid}.vault-stage{background:#101f30;border:1px solid #30495d;border-radius:20px;position:relative;overflow:hidden}.vault-hud{text-align:center;color:#a7bed1;border-bottom:1px solid #2c4356;grid-template-columns:repeat(4,1fr);gap:8px;padding:18px 12px;font-size:14px;display:grid}.vault-hud strong{color:#eefbff;font-variant-numeric:tabular-nums;font-size:26px;line-height:1.3;display:block}.vault-hud small{color:#91adc0;font-size:14px;font-weight:400}.vault-hud .low{color:#ffbd7b}.vault-board-wrap{padding:22px 28px 12px}.vault-board{aspect-ratio:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-width:480px;margin:auto;display:grid}.vault-cell{background:#182d42;border:1px solid #27425a;border-radius:7px;place-items:center;min-width:0;display:grid;position:relative}.vault-cell.wall{background:#31465a;border-color:#435c72;box-shadow:inset 0 -5px #24384b}.vault-cell.ice{background:repeating-linear-gradient(135deg,#244e68,#244e68 8px,#2a5a73 8px 11px);border-color:#5792ac}.vault-cell.goal{background:#173d3e;border-color:#5fdac4}.vault-cell.filled{box-shadow:inset 0 0 12px #4dd3b355}.goal-mark{color:#76e5c3;stroke-dasharray:3 2;width:66%;height:66%;position:absolute}.ice-mark{color:#83c0d6;opacity:.6;width:42%;height:42%}.vault-crate{color:#ffce7d;filter:drop-shadow(0 3px 2px #0005);place-items:center;display:grid;position:absolute;inset:12%}.vault-crate svg{stroke:#ffe9b8;stroke-width:1.2px;width:100%;height:100%}.vault-crate b{color:#634414;font-size:18px;position:absolute}.filled .vault-crate{color:#75e7bc}.vault-player{color:#123146;background:#a4efff;border-radius:50%;place-items:center;display:grid;position:absolute;inset:13%;box-shadow:0 0 12px #89e9ff66}.vault-player svg{width:62%;height:62%;transform:rotate(45deg)}.vault-legend{color:#a5c0d0;flex-wrap:wrap;justify-content:center;gap:14px;padding:8px;font-size:14px;display:flex}.vault-legend span{align-items:center;gap:5px;display:flex}.vault-touch{grid-template-rows:repeat(2,50px);grid-template-columns:repeat(3,58px);justify-content:center;gap:7px;padding:12px 0 20px;display:grid}.vault-up{grid-column:2}.vault-left{grid-area:2/1}.vault-down{grid-area:2/2}.vault-right{grid-area:2/3}.vault-game button{cursor:pointer;touch-action:manipulation;min-height:44px;font-family:inherit;font-size:16px}.vault-touch button{color:#d9faff;background:#26465c;border:1px solid #497084;border-radius:10px;place-items:center;display:grid}.vault-game button:disabled{opacity:.35;cursor:default}:is(.vault-game button:focus-visible,.vault-game a:focus-visible){outline-offset:3px;outline:3px solid #ffce7d}.vault-touch button:active:not(:disabled){background:#4b8195}.vault-overlay{z-index:3;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#091827ed;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:28px;display:flex;position:absolute;inset:0}.vault-overlay>span{letter-spacing:2px;color:#81dbef;font-size:12px}.vault-overlay h2{margin:0;font-size:28px;font-weight:800}.vault-overlay p{color:#b6cedd;max-width:350px;margin:0 0 8px;font-size:16px;line-height:1.8}.vault-overlay button{color:#122c3c;background:#a1edfa;border:0;border-radius:10px;min-width:170px;padding:12px 25px;font-weight:700}.vault-overlay .secondary{color:#d9eff9;background:#254153}.vault-panel{background:#112033;border:1px solid #2d455a;border-radius:18px;padding:25px}.vault-kicker{color:#79cfdf;letter-spacing:2px;margin:0 0 8px;font-size:12px}.vault-panel h2{margin:0 0 20px;font-size:27px;font-weight:800}.vault-progress{gap:9px;display:flex}.vault-progress span{color:#869daf;border:1px solid #3a5268;border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;display:grid}.vault-progress .current{color:#b8f4ff;background:#264b60;border-color:#a5efff}.vault-progress .done{color:#8af0ca;background:#204c43}.vault-message{color:#c0d7e4;min-height:85px;margin-bottom:20px;padding:18px 0 0;font-size:16px;line-height:1.8}.vault-actions{flex-wrap:wrap;gap:8px;display:flex}.vault-actions button{color:#cce9f6;background:#20384c;border:1px solid #3e5a6e;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:14px;display:flex}.vault-guide{border-top:1px solid #2c4458;margin-top:24px;padding-top:18px}.vault-guide h3{margin:0 0 12px;font-size:16px}.vault-guide p,.vault-help{color:#aac2d1;margin:12px 0;font-size:14px;line-height:1.85}.vault-help{color:#87a4b8;margin-top:20px}.vault-game.game-focus .vault-heading,.vault-game.game-focus .vault-panel{display:none}.vault-game.game-focus .vault-layout{max-width:660px;margin:auto;display:block}@media (max-width:840px){.vault-layout{grid-template-columns:1fr}.vault-stage{width:100%;max-width:620px;margin:auto}.vault-heading{align-items:start}.vault-heading>p{max-width:260px}.vault-panel{width:100%;max-width:620px;margin:auto}.vault-message{min-height:0}}@media (max-width:520px){.vault-header{padding:16px}.vault-main{padding:8px 12px 30px}.vault-heading{margin-bottom:16px;display:block}.vault-heading h1{font-size:32px}.vault-heading>p{max-width:none;margin-top:10px;font-size:14px}.vault-board-wrap{padding:15px 10px 8px}.vault-board{gap:3px}.vault-hud{gap:3px;padding:13px 5px}.vault-hud strong{font-size:22px}.vault-legend{gap:9px;font-size:12px}.vault-overlay{padding:20px}.vault-overlay h2{font-size:24px}.vault-panel{padding:20px}.vault-crate b{font-size:14px}.vault-header>span{font-size:12px}}
