/* V20 - the homepage is intentionally untouched. Interior pages only. */
body.v20-interior{background:#061525!important}
body.v20-interior .nav{height:72px!important;min-height:60px!important;background:linear-gradient(90deg,#041222,#042b3b 60%,#071a28)!important;border-bottom:2px solid #e9bd68!important;box-shadow:0 4px 22px #000c!important}
body.v20-interior .wordmark{width:clamp(160px,23vw,310px)!important;max-width:52vw!important;height:65px!important;flex-shrink:0!important}
body.v20-interior .wordmark img{width:100%!important;max-height:62px!important;height:auto!important;object-fit:contain!important;object-position:center left!important;filter:none!important}
body.v20-interior .nav nav{z-index:5!important;position:relative!important}
body.v20-interior .nav nav button{cursor:pointer!important;pointer-events:auto!important;color:#ffe9b4!important;font-weight:700!important}
body.v20-interior #app{background:linear-gradient(180deg,#041829cc 0%,#04202bc0 18%,#031724d4 100%),var(--v20-room) center top/cover fixed!important;padding-bottom:0!important;min-height:65vh!important}
body.v20-interior #app>.v18-stage{height:clamp(390px,40vw,620px)!important;min-height:0!important;border-bottom:5px solid #f0c76f!important;box-shadow:0 12px 38px #000b!important}
body.v20-interior #app .v18-illustration img{filter:saturate(1.12) contrast(1.05)!important}
body.v20-interior #app .v18-glaze{background:linear-gradient(90deg,#001322c8,transparent 75%),linear-gradient(0deg,#031927f4,transparent 65%)!important}
body.v20-interior #app .v18-overlay{height:100%!important;padding:clamp(15px,2vw,34px)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}
body.v20-interior #app .v18-heading{max-width:min(610px,84%)!important;padding:clamp(16px,2.8vw,35px)!important;background:linear-gradient(100deg,#031624ee,#04354bca 85%,transparent)!important;border-left:4px solid #f3c66e!important;box-shadow:0 16px 50px #0016248c!important;border-radius:0 16px 16px 0!important}
body.v20-interior #app .v18-heading h1{font-size:clamp(32px,4vw,65px)!important;line-height:1.08!important;margin:8px 0!important}
body.v20-interior #app .v18-place-marker{background:#062a38e8!important;box-shadow:inset 0 2px #f5ca79!important;margin:0 auto 14px!important;border-radius:0 0 16px 16px!important}
body.v20-interior #app .panel,body.v20-interior #app .exp-scene,body.v20-interior #app .exp-wrap,body.v20-interior #app .result,body.v20-interior #app .tile,body.v20-interior #app .mission,body.v20-interior #app .exhibit{background:linear-gradient(110deg,#031c2ce8 0%,#073b4bc4 56%,#032334dc 100%),var(--v20-room) center/cover!important;box-shadow:0 16px 44px #0009,inset 0 1px #fff3c255!important;border:2px solid #dcb662b8!important;border-radius:22px!important;color:#f1f2e7!important}
body.v20-interior #app .panel,body.v20-interior #app .result,body.v20-interior #app .exp-scene{padding:clamp(18px,3vw,34px)!important}
body.v20-interior #app h2,body.v20-interior #app h3{color:#ffe5a6!important;text-shadow:0 2px 9px #00151dcc}
body.v20-interior #app .primary,body.v20-interior #app button.primary,body.v20-interior #app .proto-launch{background:linear-gradient(110deg,#fff0b3,#f3ca72 65%,#dba64a)!important;color:#132c30!important;border:2px solid #fff1b6!important;box-shadow:0 2px 20px #f0be6370,inset 0 2px #ffffff70!important;border-radius:13px!important;padding:13px 20px!important;font-weight:800!important;cursor:pointer}
body.v20-interior #app .choice,body.v20-interior #app button.secondary,body.v20-interior #app .secondary{background:linear-gradient(90deg,#072b3ff2,#08606adf)!important;border:1px solid #eac272!important;border-radius:11px!important;color:#ffe4a9!important;padding:12px 17px!important;cursor:pointer}
body.v20-interior #app button:focus-visible{outline:3px solid #8cf4f0!important;outline-offset:3px}
body.v20-interior #app select{background:#052639!important;color:#fbeacc!important;border:2px solid #e5b65e!important;border-radius:12px!important;min-height:55px!important;padding:13px!important}
/* Room activity exhibits - art and interaction have equal weight. */
body.v20-interior #app .v20-activity-scene{height:clamp(180px,26vw,340px);border-radius:14px;background-image:linear-gradient(0deg,#031c2abb,transparent 65%),var(--v20-room);background-position:center;background-size:cover;border:2px solid #d7b16b;margin:0 0 19px;box-shadow:inset 0 0 30px #04152599}
body.v20-interior #app .v20-activity-scene[hidden]{display:none}
body.v20-interior #app .exp-wrap{padding:16px!important;overflow:visible!important}
body.v20-interior #app .exp-scene{background:linear-gradient(90deg,#041827dd,#04293ac9),url('assets/v18-expedition.webp') center/cover!important}
body.v20-interior #app .v19-exp-art{background-image:url('assets/v18-expedition.webp')!important;height:clamp(180px,32vw,380px)!important}
body.v20-interior #app .v19-enchanted{background:linear-gradient(130deg,#042333d9,#063342d9),url('assets/v18-archives.webp') center/cover!important}
/* Passport reads as a collector's cabinet, not dashboard tiles. */
body.v20-interior #app .passport-grid{border-radius:22px!important;padding:clamp(12px,2vw,30px)!important;gap:10px!important;background:linear-gradient(115deg,#031a29e9,#073b49e7),url('assets/v18-archives.webp') center/cover!important;border:2px solid #e4b864!important;box-shadow:0 22px 55px #000a!important}
body.v20-interior #app .stamp.v19-stamp{position:relative;min-height:135px!important;background:linear-gradient(155deg,#0a3c49,#031a2b)!important;border:1px solid #b99758!important;border-radius:12px!important;box-shadow:inset 0 0 0 4px #052f3b,inset 0 0 0 5px #e2b75c55,0 6px 15px #0007!important}
body.v20-interior #app .stamp.v19-stamp.earned{background:radial-gradient(ellipse at top,#196774,#061c2c 80%)!important;border-color:#ffe29a!important}
body.v20-interior #app .v19-passport-seal{width:64px!important;height:64px!important;box-shadow:0 0 22px #ffe29a66!important}
body.v20-interior #app .stamp b{font-size:12px!important;color:#ffe8b5!important;line-height:1.3!important}
/* Real cinematic prototype object, launched with actual motion rather than emoji. */
body.v20-interior #app .proto-sky.v20-proto-sky{height:clamp(290px,42vw,550px)!important;position:relative!important;overflow:hidden!important;background:radial-gradient(ellipse at center,#05657f,#011321 90%)!important;border:2px solid #e3ba69!important;border-radius:16px!important}
body.v20-interior #app .v20-prototype-image{width:100%;height:100%;object-fit:cover;display:block;transform:translate3d(0,0,0) scale(1);transition:filter .4s;filter:saturate(1.16) contrast(1.08)}
body.v20-interior #app .v20-prototype-vehicle{position:absolute;inset:0;overflow:hidden}
body.v20-interior #app #prototype-stage.launched .v20-prototype-vehicle{animation:v20launch 2.8s cubic-bezier(.2,.8,.4,1) 1 both}
body.v20-interior #app #prototype-stage.launched .v20-prototype-image{filter:brightness(1.5) saturate(1.3)}
@keyframes v20launch{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-4%) scale(1.11)}85%{transform:translateY(-60%) scale(.7)}100%{transform:translateY(-110%) scale(.46);opacity:.15}}
body.v20-interior #app .v20-stage-caption{position:absolute;bottom:14px;left:14px;right:14px;border:1px solid #ffdc86;background:#031a2bd9;border-radius:8px;color:#ffe6aa;padding:9px 14px;letter-spacing:.09em;font-size:12px;font-weight:800;pointer-events:none}
body.v20-interior #app .v20-prototype-image{object-position:center}
body.v20-interior #app .v19-reactor,body.v20-interior #app .v19-stage-label{display:none!important}
body.v20-interior #app .proto-status{color:#ffe7b0!important}
/* No blank teal region below the story. */
body.v20-interior footer{margin-top:0!important;background:linear-gradient(90deg,#041a2b,#063949,#04192a)!important;color:#e8cf97!important}
@media(max-width:720px){
 body.v20-interior .nav{height:60px!important;min-height:60px!important;padding:2px 8px!important}
 body.v20-interior .wordmark{width:clamp(145px,46vw,205px)!important;height:54px!important}
 body.v20-interior .nav nav{margin-left:auto!important}
 body.v20-interior .nav nav button{font-size:12px!important}
 body.v20-interior #app{background-attachment:scroll!important;background-size:100% auto!important;background-repeat:repeat-y!important}
 body.v20-interior #app>.v18-stage{height:370px!important}
 body.v20-interior #app .v18-overlay{height:370px!important;padding:10px 12px 12px!important}
 body.v20-interior #app .v18-heading{max-width:100%!important;width:100%!important;padding:15px!important}
 body.v20-interior #app .v18-heading h1{font-size:clamp(28px,8vw,38px)!important}
 body.v20-interior #app .passport-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:10px!important;gap:7px!important}
 body.v20-interior #app .stamp.v19-stamp{min-height:112px!important}
 body.v20-interior #app .v19-passport-seal{width:49px!important;height:49px!important}
 body.v20-interior #app .v20-activity-scene{height:190px}
 body.v20-interior #app .v19-exp-art{height:180px!important}
 body.v20-interior #app .proto-sky.v20-proto-sky{height:315px!important}
 body.v20-interior #app .panel,body.v20-interior #app .exp-scene,body.v20-interior #app .result{padding:15px!important}
}
@media(prefers-reduced-motion:reduce){body.v20-interior #app #prototype-stage.launched .v20-prototype-vehicle{animation:none!important}}
