.vault-main{max-width:1500px;width:calc(100% - 64px);margin:48px auto 72px;color:#e6ece7;font-family:Arial,sans-serif;outline:none}.vault-main p{line-height:1.6}.vault-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.vault-heading h1{font-size:clamp(42px,5vw,72px);letter-spacing:-3px;margin:10px 0}.vault-heading h1 span{color:#8dce9b}.vault-heading>div>p:last-child{color:#a6b1aa;font-size:18px}.vault-online{font:11px monospace;letter-spacing:2px;color:#9bd0a3;border:1px solid #344c3d;border-radius:30px;padding:12px 18px}.vault-summary,.vault-proficiency{padding:30px 34px;border:1px solid #37453d;border-radius:14px;background:linear-gradient(125deg,#202d25,#171c19 65%);box-shadow:0 12px 35px #0002}.vault-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.vault-section-title h2{font-size:44px;margin:8px 0 24px}.vault-section-title h2 span{font-size:20px;font-weight:400;color:#a4b2a8}.vault-completion{text-align:right;display:grid;gap:6px}.vault-completion strong{font-size:28px;color:#b8e5b9}.vault-completion span{font-size:13px;color:#b0bcb3}.vault-progress{height:8px;background:#070e0a;border:1px solid #34463a;border-radius:20px;overflow:hidden}.vault-progress>span{display:block;width:var(--progress);height:100%;background:linear-gradient(90deg,#527a58,#b2e6a7);border-radius:20px;animation:vault-progress 1.3s ease-out both;box-shadow:0 0 14px #a4efa6}.vault-tiers{display:flex;align-items:center;gap:24px;margin-top:26px}.vault-tiers>div:not(.tier-help){flex:1;border-right:1px solid #354139;display:flex;justify-content:space-between;padding-right:22px;gap:12px}.vault-tiers span{font-size:14px;color:#bcc9bf}.vault-tiers strong{font-size:21px}.tier-help{position:relative}.tier-help button{border:1px solid #617465;border-radius:50%;background:transparent;color:#bdcbbf;width:26px;height:26px;cursor:pointer}.tier-tooltip{display:none;position:absolute;right:0;top:32px;width:300px;max-width:80vw;padding:20px;background:#18241c;border:1px solid #617465;border-radius:10px;box-shadow:0 10px 40px #000a;z-index:5;font-size:13px}.tier-tooltip p{margin:0 0 12px}.tier-help:hover .tier-tooltip,.tier-help:focus-within .tier-tooltip,.tier-help button[aria-expanded=true]+.tier-tooltip{display:block}.vault-note{font-size:13px;color:#99a59d;margin:18px 0 28px}.vault-table-heading{display:flex;justify-content:space-between;align-items:center;margin:38px 0 20px;gap:16px}.vault-table-heading h2{font-size:22px}.vault-table-heading>span{font-size:12px;color:#9fac9f}.vault-main .table-key{background:transparent;border:0;color:#85978a}.vault-main .table-key strong{font-size:30px;color:#b8cdbb}.vault-locked{background:#1b201d;border-color:#364039;color:#84968a}.vault-locked .cell-name{color:#78877d}.cell-symbol svg{width:24px;height:30px;opacity:.75}.vault-main .series-placeholder{border-color:#46544b;color:#a9b7ac;background:#202822}.vault-back{display:inline-block;color:#a8ccb0;text-decoration:none;margin-bottom:30px;font-size:15px}.vault-element-hero{display:flex;gap:28px;align-items:center;margin:16px 0 38px}.vault-element-hero h1{font-size:50px;margin:10px 0}.vault-element-hero>div>p:last-child{color:#aab8ae}.vault-main[data-number]:not([data-number=""]){max-width:960px}.vault-empty{border:1px dashed #415047;padding:60px 24px;text-align:center;border-radius:16px;background:#19201b}.vault-empty>div svg{width:54px;height:64px;color:#91ae97}.vault-empty h2{font-size:30px;margin:20px}.vault-empty p{max-width:430px;margin:0 auto 28px;color:#a8b5ac}.vault-button{display:inline-block;background:#afdab1;color:#142619;border:0;border-radius:7px;text-decoration:none;padding:14px 22px;font:600 15px Arial;cursor:pointer}.vault-empty .vault-back{display:block;margin:24px 0 0}.vault-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#36443b;border:1px solid #36443b;border-radius:12px;overflow:hidden;margin:30px 0 14px}.vault-stats>div{background:#1b221e;padding:24px 20px}.vault-stats dt{font-size:12px;color:#a5b4aa;margin-bottom:12px}.vault-stats dd{font-size:25px;margin:0}.vault-reference{color:#b2d5b9;font-size:17px}.vault-proficiency h2{font-size:30px}.vault-proficiency>p{font-size:13px;color:#a7b9ac;margin-top:20px}.tier-milestones{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:15px;color:#76847a}.tier-milestones .earned{color:#b9e7b9}.vault-loading{padding:80px;text-align:center;color:#a5c4ac}.vault-entering{overflow:hidden}
/* CSS-built steel entrance: the whole chamber approaches before the wheel unlocks. */
.vault-entry{position:fixed;inset:0;z-index:1000;background:#050907;color:#b9c9bd;font-family:Arial,sans-serif;overflow:auto;perspective:1400px}.vault-corridor{min-height:100%;height:100%;padding:4vh 4vw;box-sizing:border-box;background:radial-gradient(ellipse at 50% 60%,#28403155,transparent 65%);animation:vault-approach 1.6s cubic-bezier(.16,1,.3,1) both}.vault-wall{position:relative;min-height:620px;height:100%;border:1px solid #3c4840;background:repeating-linear-gradient(90deg,transparent 0,transparent 99px,#39463b22 100px),linear-gradient(110deg,#1b251e,#0a110d 65%,#202a23);box-shadow:inset 0 0 100px #000,0 0 0 12px #101612,0 0 0 14px #313d34;overflow:hidden}.vault-lintel{position:absolute;left:5%;right:5%;top:5%;display:flex;justify-content:space-between;font:10px monospace;letter-spacing:3px;color:#87958a}.vault-door-frame{position:absolute;left:8%;top:15%;width:62%;height:72%;border:16px solid #2f3932;border-radius:15px;background:#030906;box-shadow:0 0 0 2px #6c786d,0 0 0 10px #111a14,inset 0 0 40px #000;perspective:1600px}.vault-door{position:absolute;inset:0;border-radius:4px;border:3px solid #556157;background:radial-gradient(circle at 45% 45%,#37423a,#232c26 45%,#18221b);box-shadow:inset 5px 5px 8px #87958733,inset -10px -10px 20px #0007;transform-origin:0 50%;transition:transform 1.8s cubic-bezier(.55,.06,.35,1);backface-visibility:hidden}.door-rivets{position:absolute;inset:18px;border:2px dashed #69746a66;border-radius:6px}.door-label{position:absolute;top:9%;width:100%;text-align:center}.door-label>span{font-size:36px;color:#93b299}.door-label h1{font-size:clamp(24px,3vw,42px);letter-spacing:9px;margin:6px 0 12px;color:#d3dbd3}.door-label p{font-size:12px;letter-spacing:2px;color:#94a298}.vault-wheel{position:absolute;left:50%;top:59%;width:min(18vw,220px);height:min(18vw,220px);border:14px solid #89968b;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#3e4c40,#151f18);box-shadow:0 15px 20px #0008,inset 0 0 0 4px #222b24,0 0 0 3px #c1cbc077;transition:transform 1.1s cubic-bezier(.6,.1,.3,1)}.vault-wheel i{position:absolute;left:calc(50% - 7px);top:0;width:14px;height:100%;background:linear-gradient(90deg,#57655b,#b1bcb1,#46554b);border-radius:8px}.vault-wheel i:nth-child(2){transform:rotate(60deg)}.vault-wheel i:nth-child(3){transform:rotate(120deg)}.vault-wheel b{position:absolute;inset:34%;display:grid;place-items:center;border:2px solid #a2b1a5;border-radius:50%;background:#314237;color:#d9e5d9;font-size:24px;box-shadow:0 3px 7px #0008}.vault-bolts{position:absolute;right:-28px;top:24%;height:58%;display:flex;flex-direction:column;justify-content:space-between}.vault-bolts i{width:50px;height:27px;border:2px solid #78867b;background:linear-gradient(#89988b,#3a493d);transition:transform .5s .55s}.door-serial{position:absolute;bottom:6%;left:8%;font:9px/1.8 monospace;letter-spacing:2px;color:#8b9e90}.vault-panel{position:absolute;right:5%;top:34%;width:19%;padding:22px 16px;border:2px solid #4e5c51;border-radius:8px;background:linear-gradient(120deg,#28352b,#141d17);box-shadow:5px 12px 30px #0009,inset 0 0 0 4px #121b15;text-align:center}.panel-led{font:9px monospace;letter-spacing:1px;color:#add49b}.scanner{height:110px;background:repeating-linear-gradient(0deg,#142c1b 0,#142c1b 2px,#0d1b12 3px);margin:20px 0 14px;border:1px solid #4b6b4f;border-radius:4px;display:grid;place-items:center;position:relative;overflow:hidden}.scanner svg{width:48px;height:48px;color:#8cba85}.scanner i{top:0;display:none;position:absolute;width:100%;height:2px;background:#b0f09b;box-shadow:0 0 14px #b0f09b;animation:scan 1s linear infinite}.vault-panel p{font:10px/1.5 monospace;min-height:30px;color:#9cb79e}.vault-panel button{width:100%;padding:14px 8px;background:#b1d4a4;border:1px solid #c4e7b7;border-radius:3px;color:#142414;font:bold 12px Arial;cursor:pointer;margin-top:10px}.vault-panel button:disabled{opacity:.8;cursor:default}.vault-panel small{display:block;font-size:9px;line-height:1.5;color:#839788;margin-top:14px}.entry-exit,.entry-skip{position:absolute;bottom:4%;font:11px monospace;color:#a7b8a9;background:transparent;border:0;text-decoration:none;cursor:pointer;padding:10px}.entry-exit{left:4%}.entry-skip{right:4%}.scanning .scanner i{display:block}.verified .vault-wheel{transform:translate(-50%,-50%) rotate(210deg)}.verified .vault-bolts i{transform:translateX(-30px)}.verified .scanner{box-shadow:0 0 20px #8fc88355}.verified .scanner i{display:none}.opening .vault-door{transform:rotateY(-108deg)}.opening .vault-panel{opacity:.5}.vault-entry button:focus-visible,.vault-entry a:focus-visible{outline:3px solid #dbf6d2;outline-offset:5px}@keyframes vault-approach{from{transform:scale(.35);opacity:.1}to{transform:scale(1);opacity:1}}@keyframes scan{from{transform:translateY(0)}to{transform:translateY(110px)}}@keyframes vault-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){.vault-main{width:calc(100% - 32px);margin-top:28px}.vault-heading{align-items:flex-start}.vault-online{font-size:8px;padding:10px;letter-spacing:1px}.vault-heading h1{letter-spacing:-2px}.vault-heading>div>p:last-child{font-size:14px}.vault-summary,.vault-proficiency{padding:24px 18px}.vault-section-title h2{font-size:34px}.vault-section-title h2 span{font-size:14px}.vault-completion strong{font-size:22px}.vault-completion span{font-size:10px}.vault-tiers{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vault-tiers>div:not(.tier-help){padding-right:12px}.vault-tiers .tier-help{grid-column:2;justify-self:end}.vault-stats{grid-template-columns:1fr 1fr}.vault-stats dd{font-size:23px}.vault-table-heading{align-items:flex-start;flex-direction:column;gap:8px}.vault-main .periodic-scroll{padding-left:0}.tier-milestones{font-size:10px;gap:6px}.vault-element-hero{gap:18px}.vault-element-hero h1{font-size:36px}.vault-corridor{padding:2vh 3vw}.vault-wall{min-height:660px}.vault-lintel{font-size:8px;letter-spacing:1px;top:4%}.vault-lintel span:last-child{display:none}.vault-door-frame{left:7%;top:12%;width:78%;height:53%;border-width:10px}.door-label{top:5%}.door-label h1{font-size:24px;letter-spacing:6px}.door-label p{font-size:10px}.door-label>span{font-size:28px}.vault-wheel{width:125px;height:125px;border-width:10px;top:61%}.vault-wheel b{font-size:18px}.door-serial{font-size:7px;letter-spacing:1px;bottom:5%}.vault-panel{right:7%;top:70%;width:62%;padding:12px 14px;display:grid;grid-template-columns:60px 1fr;column-gap:12px}.scanner{grid-row:1/5;height:82px;margin:0}.scanner svg{width:32px;height:32px}.panel-led{grid-column:2;font-size:8px}.vault-panel p{grid-column:2;min-height:0;margin-top:5px;font-size:9px}.vault-panel button{grid-column:2;margin-top:6px;padding:10px}.vault-panel small{grid-column:1/-1;font-size:8px;margin-top:8px}.entry-exit,.entry-skip{bottom:2%;font-size:9px}.vault-bolts{right:-20px}.vault-bolts i{width:35px;height:21px}}
@media(prefers-reduced-motion:reduce){.vault-corridor,.vault-progress>span,.scanner i{animation:none}.vault-door,.vault-wheel,.vault-bolts i{transition:none}}

/* One composited camera move reveals the already-rendered table. */
.vault-entry { transform-origin: 43% 48%; }
.vault-main { transform-origin: 50% 50%; }
.vault-entering .vault-main { opacity: 0; }
.vault-revealing .vault-main { opacity: 1; }
.vault-entering .vault-progress > span { animation-play-state: paused; }
.vault-progress > span { transform-origin: left center; }
.vault-entry.zooming { pointer-events: none; will-change: transform, opacity; }
.vault-entry.opening .vault-door { transition-duration: 1.2s; }
.vault-entry.opening .vault-corridor { animation: none; }
.vault-entry .vault-door, .vault-entry .vault-wheel { will-change: transform; }
@media (max-width: 700px) { .vault-entry { transform-origin: 50% 38%; } }

.tier-help button, .tier-tooltip { font-family:"Iceland",sans-serif; }
.tier-tooltip { font-size:16px; }

/* Stack the entrance controls in document flow on phones, including short screens. */
@media (max-width:700px) {
  .vault-corridor { height:auto; min-height:100vh; min-height:100dvh; padding:16px 12px; }
  .vault-wall { height:auto; min-height:0; padding:20px 16px 10px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px 8px; box-shadow:inset 0 0 100px #000,0 0 0 6px #101612,0 0 0 7px #313d34; }
  .vault-lintel { position:static; grid-column:1/-1; line-height:1.5; }
  .vault-door-frame { position:relative; left:auto; top:auto; width:auto; height:clamp(260px,43svh,380px); margin:0 8px; grid-column:1/-1; }
  .vault-panel { position:static; width:auto; min-width:0; grid-column:1/-1; }
  .vault-panel .scanner { grid-column:1; grid-row:1/4; align-self:center; }
  .vault-panel small { grid-row:4; }
  .entry-exit,.entry-skip { position:static; min-width:0; min-height:44px; padding:8px 0; display:flex; align-items:center; font-size:10px; line-height:1.5; }
  .entry-exit { grid-column:1; justify-content:flex-start; }
  .entry-skip { grid-column:2; justify-content:flex-end; text-align:right; }
  .vault-element-hero > div:last-child { min-width:0; }
  .vault-element-hero h1 { font-size:clamp(26px,7vw,36px); overflow-wrap:anywhere; }
  .vault-element-hero .element-eyebrow { font-size:11px; }
  .tier-milestones { flex-wrap:wrap; }
}

.door-label > .vault-atom { display:inline-block; width:1em; height:1em; vertical-align:middle; }
.vault-atom svg { display:block; width:100%; height:100%; }
.vault-loading { display:flex; align-items:center; justify-content:center; gap:12px; padding:60px 20px; animation:vault-load-fade .3s ease-out both; }
.vault-loading::before,.vault-status-loading::before { content:""; display:inline-block; flex:0 0 auto; width:16px; height:16px; border:2px solid #8ec98744; border-top-color:#8ec987; border-radius:50%; animation:vault-load-spin .8s linear infinite; }
.vault-status-loading::before { width:10px; height:10px; margin-right:7px; vertical-align:-2px; }
.vault-is-loading .vault-summary,.vault-is-loading .vault-proficiency,.vault-is-loading .vault-stats { opacity:.65; animation:vault-load-pulse 1.5s ease-in-out infinite; }
.vault-entry.verified .vault-wheel { transition-duration:.5s; }
.vault-entry.verified .vault-bolts i { transition-duration:.25s; transition-delay:.1s; }
@keyframes vault-load-spin { to { transform:rotate(360deg); } }
@keyframes vault-load-pulse { 50% { opacity:.4; } }
@keyframes vault-load-fade { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .vault-loading,.vault-loading::before,.vault-status-loading::before,.vault-is-loading .vault-summary,.vault-is-loading .vault-proficiency,.vault-is-loading .vault-stats { animation:none; } .vault-entry.verified .vault-wheel,.vault-entry.verified .vault-bolts i { transition:none; } }
