
/* Flight Museum upgrade */
:root{--museum-gold:#fbbf24;--museum-pink:#fb7185;--museum-deep:#06111f;--museum-panel:#0b1b30;--museum-glow:#38bdf8}
html{scroll-behavior:smooth}.museum-body{background:#f5f7fb}.museum-body.night{filter:none}.museum-body.night main .section:not(.dark):not(.alt){background:#07111f;color:#e5edf7}.museum-body.night .section.alt{background:#0a1626;color:#e5edf7}.museum-body.night .panel,.museum-body.night .quality-card,.museum-body.night .chapter-card,.museum-body.night .boarding-pass{background:#102035;color:#e5edf7;border-color:#243a54}.museum-body.night .muted{color:#9fb1c7}
.takeoff-intro{position:fixed;inset:0;background:radial-gradient(circle at 50% 65%,#183c64,#06111f 62%);z-index:9999;display:grid;place-items:center;color:white;transition:opacity .7s,visibility .7s;cursor:pointer}.takeoff-intro.done{opacity:0;visibility:hidden}.takeoff-sky{position:absolute;inset:0;overflow:hidden}.intro-plane{position:absolute;left:-10%;top:52%;font-size:54px;transform:rotate(-7deg);animation:takeoff 2.8s cubic-bezier(.18,.75,.3,1) forwards;filter:drop-shadow(0 0 18px #38bdf8)}.intro-line{position:absolute;left:0;right:0;top:57%;height:1px;background:linear-gradient(90deg,transparent,#38bdf8,transparent);opacity:.35}.intro-copy{text-align:center;z-index:2;margin-top:180px}.intro-copy span{display:block;letter-spacing:.28em;font-size:12px;color:#7dd3fc}.intro-copy strong{display:block;font-size:clamp(28px,5vw,64px);margin:.35em 0}.intro-copy small{color:#b6c5d7}@keyframes takeoff{0%{left:-10%;top:62%;transform:rotate(-5deg) scale(.8)}55%{top:46%;transform:rotate(-13deg) scale(1.2)}100%{left:110%;top:14%;transform:rotate(-18deg) scale(.75)}}
.museum-hero{min-height:100vh;background:radial-gradient(circle at 82% 22%,rgba(56,189,248,.22),transparent 28%),radial-gradient(circle at 15% 85%,rgba(124,58,237,.22),transparent 27%),linear-gradient(135deg,#06111f,#0d2340 64%,#07111f);position:relative;overflow:hidden}.museum-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:42px 42px;opacity:.035;pointer-events:none}.museum-nav{backdrop-filter:blur(18px);background:rgba(6,17,31,.55);border-bottom:1px solid rgba(255,255,255,.09)}.theme-toggle{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;width:38px;height:38px;cursor:pointer}.glass{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}.hero-note{margin-top:14px;color:#91a7c0;font-size:12px}.museum-orbit{position:relative}.hero-stats{position:absolute;right:2%;bottom:-26px;display:grid;grid-template-columns:auto auto;gap:4px 10px;padding:12px 16px;background:rgba(6,17,31,.78);border:1px solid rgba(125,211,252,.22);border-radius:16px;backdrop-filter:blur(10px)}.hero-stats b{color:#7dd3fc}.hero-stats span{color:#b7c6d8;font-size:12px}.scroll-cue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:2;color:#71849b;letter-spacing:.25em;font-size:10px}.scroll-cue span{display:block;text-align:center;font-size:20px;animation:bob 1.3s infinite}@keyframes bob{50%{transform:translateY(5px)}}
.badge-wall{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.badge-card{position:relative;min-height:190px;padding:20px;border-radius:22px;background:linear-gradient(145deg,#fff,#eef4fb);border:1px solid #dce7f3;overflow:hidden;cursor:pointer;transition:.25s}.badge-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(15,23,42,.12)}.badge-card:before{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-44px;top:-44px;background:radial-gradient(circle,rgba(56,189,248,.25),transparent 67%)}.badge-icon{font-size:36px}.badge-card strong{display:block;font-size:18px;margin-top:18px}.badge-value{font-size:28px;font-weight:900;color:#0f5db8;margin:4px 0}.badge-card p{font-size:13px;color:#64748b;margin:0}.badge-pop{animation:badgepop .45s ease}@keyframes badgepop{50%{transform:scale(1.035)}}
.map-event{background:linear-gradient(180deg,#06111f,#081a2f)}.journey-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.map-play{background:linear-gradient(90deg,#0ea5e9,#6366f1)!important;color:#fff!important;border:0!important}.year-stage{min-width:260px;flex:1;display:flex;align-items:center;gap:12px;color:#dbeafe}.year-stage span{min-width:76px;font-weight:800;font-size:18px}.year-stage input{width:100%;accent-color:#38bdf8}.map-duo{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.museum-map,.globe-shell{min-height:590px;border:1px solid rgba(125,211,252,.16);border-radius:22px;overflow:hidden;background:#07111f;position:relative}.globe-shell{display:flex;flex-direction:column}.globe-label{display:flex;justify-content:space-between;padding:12px 15px;color:#dbeafe;border-bottom:1px solid rgba(255,255,255,.08)}.globe-label span{font-size:11px;color:#7890aa}.globe-map{flex:1;min-height:540px}.map-story-strip{display:flex;gap:10px;overflow:auto;padding:14px 2px 3px}.map-story{min-width:230px;padding:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);border-radius:14px;color:#dbeafe}.map-story b{display:block;color:#7dd3fc}.map-story span{font-size:12px;color:#8da2ba}
.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.chapter-card{position:relative;padding:22px;border-radius:22px;background:white;border:1px solid #e1e8f0;min-height:250px;overflow:hidden;cursor:pointer;transition:.25s}.chapter-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,23,42,.1)}.chapter-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--accent,#38bdf8)}.chapter-year{font-size:38px;font-weight:900;letter-spacing:-.04em;color:#cbd5e1}.chapter-card h3{font-size:22px;margin:6px 0}.chapter-card p{font-size:14px;color:#64748b}.chapter-link{position:absolute;bottom:18px;color:#0f5db8;font-weight:700;font-size:13px}
.runway{position:relative;padding-left:30px}.runway:before{content:"";position:absolute;left:9px;top:0;bottom:0;border-left:3px dashed #c7d2e1}.runway-stop{position:relative;padding:0 0 22px 18px}.runway-stop:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#0ea5e9;left:-27px;top:4px;box-shadow:0 0 0 5px rgba(14,165,233,.15)}.runway-stop strong{display:block}.runway-stop small{color:#64748b}.firsts-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.first-card{padding:16px;border-radius:16px;border:1px solid #dce5ef;background:#fff}.first-card .date{font-weight:900;color:#0f5db8;font-size:19px}.first-card b{display:block;margin:6px 0}.first-card p{font-size:13px;color:#64748b}
.dna-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.dark .story-panel p{color:#9fb1c7}#explorerGauge{display:grid;place-items:center;min-height:250px}.gauge-ring{--p:38.4;width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#38bdf8 calc(var(--p)*1%),#172b43 0);position:relative}.gauge-ring:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#0b1b30}.gauge-ring .inside{position:relative;z-index:2;text-align:center}.gauge-ring strong{font-size:36px;color:white}.gauge-ring span{display:block;color:#8ca3bc;font-size:11px}
.loyalty-list{display:grid;gap:10px}.loyalty-row{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #e7edf4}.loyalty-row .code{font-size:21px;font-weight:900;color:#0f5db8}.loyalty-row small{display:block;color:#64748b}.loyalty-row .years{font-weight:800;color:#334155}
.context-timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.context-card{padding:20px;border-radius:20px;background:#fff;border:1px solid #e0e8f1;position:relative}.context-card .context-year{position:absolute;right:18px;top:14px;font-size:28px;font-weight:900;color:#d6e0ec}.context-card h3{padding-right:80px}.context-card p{color:#5d6f84}.context-card a{font-weight:700;color:#0f5db8}
.challenge{background:radial-gradient(circle at 80% 20%,rgba(251,191,36,.12),transparent 25%),#07111f}.quiz-shell{max-width:850px;margin:auto}.quiz-card{padding:26px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.05);color:#e5edf7}.quiz-question{font-size:24px;font-weight:800;margin-bottom:18px}.quiz-options{display:grid;gap:10px}.quiz-option{padding:14px 16px;text-align:left;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#0b1b30;color:#e5edf7;cursor:pointer}.quiz-option:hover{border-color:#38bdf8}.quiz-option.correct{background:rgba(34,197,94,.18);border-color:#22c55e}.quiz-option.wrong{background:rgba(244,63,94,.16);border-color:#fb7185}.quiz-explain{margin-top:15px;color:#a9bbcf}.quiz-score{text-align:center;color:#7dd3fc;margin-top:12px;font-weight:800}
.boarding-section{background:linear-gradient(135deg,#f8fafc,#eef6ff)}.boarding-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.boarding-controls input{width:130px;padding:12px 14px;border:1px solid #cfd9e6;border-radius:12px;font-size:16px}.boarding-pass{max-width:1000px;margin:auto;background:#fff;border:1px solid #d8e2ee;border-radius:24px;box-shadow:0 25px 55px rgba(15,23,42,.1);display:grid;grid-template-columns:1fr 250px;overflow:hidden}.boarding-main{padding:28px}.boarding-side{background:#081a2f;color:#fff;padding:28px;position:relative}.boarding-side:before{content:"";position:absolute;left:-10px;top:0;bottom:0;border-left:2px dashed #b7c4d5}.bp-top{display:flex;justify-content:space-between;align-items:center}.bp-brand{font-size:12px;letter-spacing:.2em;color:#0ea5e9;font-weight:800}.bp-flight{font-weight:900}.bp-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:30px 0}.bp-airport strong{font-size:54px;letter-spacing:-.05em}.bp-airport span{display:block;color:#64748b}.bp-arrow{font-size:34px;color:#0ea5e9}.bp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.bp-grid small,.boarding-side small{display:block;color:#718198;font-size:10px;text-transform:uppercase;letter-spacing:.11em}.bp-grid b{display:block}.boarding-side .big-nr{font-size:54px;font-weight:900;line-height:1}.boarding-side .barcode{height:58px;margin-top:25px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 4px,#fff 4px 5px,transparent 5px 8px);opacity:.9}.boarding-side .side-row{margin-top:16px}.boarding-side .side-row small{color:#8da2ba}.boarding-side .side-row b{font-size:17px}
.museum-modal{max-width:920px}.event-flight{display:grid;grid-template-columns:1fr 300px;gap:20px}.event-bp-mini{border-radius:18px;background:#07111f;color:#fff;padding:20px}.event-bp-mini .route{font-size:42px;font-weight:900}.event-bp-mini small{color:#8da2ba}.flight-context{padding:14px;background:#eff6ff;border-radius:14px;margin-top:16px}.flight-context b{color:#075985}.flight-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:99999;overflow:hidden}.confetti-piece{position:absolute;width:8px;height:14px;top:-20px;animation:fall 1.8s linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg);opacity:.2}}
@media(max-width:1000px){.map-duo{grid-template-columns:1fr}.globe-shell{min-height:500px}.chapter-grid{grid-template-columns:1fr 1fr}.dna-grid{grid-template-columns:1fr}.context-timeline{grid-template-columns:1fr}.boarding-pass{grid-template-columns:1fr}.boarding-side:before{display:none}.event-flight{grid-template-columns:1fr}}
@media(max-width:680px){.chapter-grid{grid-template-columns:1fr}.bp-grid{grid-template-columns:1fr 1fr}.bp-airport strong{font-size:38px}.journey-controls{align-items:stretch}.year-stage{min-width:100%;order:10}.museum-map{min-height:480px}.globe-map{min-height:420px}.badge-wall{grid-template-columns:1fr 1fr}.badge-card{min-height:165px;padding:15px}.badge-value{font-size:23px}.context-card .context-year{font-size:22px}}
@media print{body *{visibility:hidden!important}#boardingPass,#boardingPass *{visibility:visible!important}#boardingPass{position:absolute;left:0;top:0;width:100%;box-shadow:none;border:1px solid #999}}
