/* V19 - aesthetic controls inside the existing cinematic Just Imagine universe.
   Everything is strictly interior-scoped. Approved homepage remains untouched. */
body.v19-world{background:#041b2b;color:#fff1cb}
body.v19-world #app{background:linear-gradient(90deg,rgba(1,20,29,.86),rgba(1,30,36,.57),rgba(1,20,29,.88)),var(--v19-scene) center top/cover fixed;min-height:0;padding-bottom:28px}
body.v19-world .nav{background:linear-gradient(90deg,#02192a,#06384b 55%,#02192a)!important;border-bottom:1px solid #eac16f!important}
body.v19-world .wordmark{padding:0!important;display:flex!important;align-items:center!important;width:clamp(140px,20vw,250px)!important;max-width:43vw!important;height:62px!important;background:transparent!important;border:0!important}
body.v19-world .wordmark img{display:block!important;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 8px #d3943b55)}
body.v19-world .v18-stage{border-bottom:3px solid #e8bd6f!important}
body.v19-world .v18-place-marker{margin-top:0!important}
body.v19-world #app .panel,body.v19-world #app .exp-scene,body.v19-world #app .tile,body.v19-world #app .result,body.v19-world #app .exhibit,body.v19-world #app .mission,body.v19-world #app .exp-wrap{background:linear-gradient(112deg,rgba(2,29,46,.94),rgba(4,58,67,.81)),url('assets/v18-stars.webp') center/cover!important;border:1.5px solid #d6a858c4!important;border-radius:20px!important;box-shadow:0 14px 44px #001320a8,inset 0 1px #ffdf8b77!important;color:#ecf6ef!important}
body.v19-world #app .panel:not(.v18-primary-activity){position:relative}
body.v19-world #app .exp-wrap{background:linear-gradient(160deg,#082d3ac9,#02172dea),url('assets/v18-expedition.webp') center/cover!important}
body.v19-world #app .exp-scene{min-height:0!important;position:relative;overflow:hidden}
body.v19-world #app .exp-scene h2,body.v19-world #app .result h3{position:relative;z-index:1}
body.v19-world #app .v19-exp-art{height:clamp(150px,24vw,260px);background-size:cover;background-position:center 43%;border:1px solid #d6b97699;border-radius:12px;margin:0 0 18px;box-shadow:0 0 20px #00c4d02d}
body.v19-world #app .exp-illustration.v19-photo-decor{display:none!important}
body.v19-world #app .v19-photo-decor{width:100%!important;height:clamp(180px,25vw,280px)!important;min-height:180px!important;border-radius:14px!important;background-size:cover!important;background-position:center!important;border:1px solid #e2c0748f!important;margin-bottom:16px!important;font-size:0!important;overflow:hidden!important}
body.v19-world #app .v18-card-art{filter:saturate(1.05) brightness(1.04)}
body.v19-world #app .v19-enchanted{background:linear-gradient(145deg,#042a3bda,#053b49dd),url('assets/v18-archives.webp') center/cover!important}
body.v19-world #app .passport-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
body.v19-world #app .stamp.v19-stamp{background:radial-gradient(circle at 50% 0%,#24697a88,transparent 55%),linear-gradient(140deg,#042538,#073b48)!important;min-height:108px;border:1px solid #d6b16a88!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:13px!important;box-shadow:inset 0 0 18px #e1b95711}
body.v19-world #app .stamp.v19-stamp.earned{border-color:#f8d78a!important;background:radial-gradient(circle at 50% 0%,#2e8b9399,transparent 60%),linear-gradient(140deg,#043344,#084052)!important}
body.v19-world #app .stamp .v19-passport-seal{font:800 clamp(12px,1.35vw,17px)/1 Georgia,serif!important;letter-spacing:.02em!important;color:#ffe29b!important;display:grid!important;place-items:center!important;background:radial-gradient(circle,#155364 27%,#063049 55%,#bd8f3a 58%,#ffe69a 64%,#69491e 70%,#082a3d 73%)!important;width:57px!important;height:57px!important;border-radius:50%!important;box-shadow:0 0 16px #ffce6a55!important;margin:0 auto 5px!important}
body.v19-world #app .stamp:not(.earned) .v19-passport-seal{filter:saturate(.4);opacity:.65}
body.v19-world #app .stamp b{font-size:clamp(10px,1vw,13px)!important;line-height:1.25!important;text-wrap:balance}
body.v19-world #app .proto-sky.v19-proto-scene{height:clamp(250px,40vw,520px)!important;min-height:250px!important;padding:0!important;position:relative;background:#062f41!important;overflow:hidden;border:1px solid #f5c8788c!important;border-radius:14px!important}
body.v19-world #app .v19-proto-scene img{height:100%;width:100%;display:block;object-fit:cover;object-position:center center;filter:contrast(1.08) saturate(.97);transition:transform 1.1s ease,filter 1.1s ease}
body.v19-world #app .v19-reactor{position:absolute;inset:10% 36%;background:radial-gradient(ellipse,#5af7ff44,transparent 70%);mix-blend-mode:screen;pointer-events:none;animation:v19thrum 2.5s ease-in-out infinite}
body.v19-world #app .v19-stage-label{position:absolute;bottom:10px;left:13px;padding:8px 10px;border:1px solid #f2d08577;border-radius:20px;background:#021c2ddc;color:#ffe2ac;font:700 11px/1.3 system-ui,sans-serif;letter-spacing:.09em}
body.v19-world #app #prototype-stage.launched .v19-proto-scene img{transform:scale(1.07);filter:brightness(1.45) saturate(1.18)}
body.v19-world #app #prototype-stage.launched .v19-reactor{animation:v19thrum .34s ease-in-out 4}
@keyframes v19thrum{50%{opacity:.42;transform:scale(1.2)}}
body.v19-world #app .proto-launch,body.v19-world #app button.primary,body.v19-world #app .primary{background:linear-gradient(105deg,#ffefa8,#e1ad53)!important;border:1px solid #fff6cc!important;border-radius:100px!important;color:#052638!important;box-shadow:0 4px 19px #e6b75655!important;font-weight:800!important}
body.v19-world #app button.secondary,body.v19-world #app .secondary,body.v19-world #app .choice,body.v19-world #app .exp-option{background:linear-gradient(135deg,#073a4b,#085563)!important;border:1px solid #edc473!important;color:#ffedbd!important;box-shadow:inset 0 1px #ffffec20,0 3px 15px #001b27bb;border-radius:13px!important}
body.v19-world #app .exp-track i{box-shadow:inset 0 0 0 1px #f1c47570,0 0 7px #1daab755!important}
body.v19-world #app .exp-track .filled{box-shadow:0 0 16px #edbd59bb!important}
body.v19-world #app .result .art.v19-photo-decor{height:clamp(180px,33vw,330px)!important}
body.v19-world #app .section-head{display:none!important}
body.v19-world #app .back{display:none!important}
body.v19-world #app .v18-open{box-shadow:0 0 20px #d5a54b8c!important}
body.v19-world footer{margin-top:0;background:linear-gradient(90deg,#042334,#073d4b,#031b2d)!important}
@media(max-width:700px){
 body.v19-world #app{background-attachment:scroll;background-size:auto 950px;background-repeat:repeat-y}
 body.v19-world .nav{padding:4px 10px!important;min-height:62px!important;gap:6px!important}
 body.v19-world .wordmark{max-width:51vw!important;width:47vw!important;height:53px!important}
 body.v19-world .nav nav button{font-size:12px!important;padding:6px 4px!important}
 body.v19-world #app .passport-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
 body.v19-world #app .stamp.v19-stamp{min-height:100px;padding:7px 3px!important}
 body.v19-world #app .stamp .v19-passport-seal{width:49px!important;height:49px!important}
 body.v19-world #app .v19-exp-art{height:150px}
 body.v19-world #app .proto-sky.v19-proto-scene{height:285px!important}
 body.v19-world #app .v18-stage{min-height:370px!important}
 body.v19-world #app .v18-overlay{height:370px!important}
 body.v19-world #app .v18-place-marker{padding:8px 12px!important}
 body.v19-world #app .panel,body.v19-world #app .result{padding:15px!important}
}
@media(prefers-reduced-motion:reduce){body.v19-world #app .v19-reactor{animation:none!important}body.v19-world #app .v19-proto-scene img{transition:none!important}}
