/* Season 03: a learning game with a precise, distraction-free chart terminal. */
:root{--obsidian:#0b0f19;--mint:#6cf6c3;--violet:#b6a1ff}
body{background:radial-gradient(ellipse at 80% 0%,#192341 0,transparent 45%),var(--obsidian)}
.quest-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.quest-nav button{white-space:nowrap;min-height:46px}.nav-caption{display:none}.edition-tag{letter-spacing:.1em}.hq-hero{border:1px solid #41527466;box-shadow:0 30px 90px #0004}.hero-bot,.bot{animation:mentor-float 5s ease-in-out infinite}.hq-hero h1{letter-spacing:-.055em}.mastery-banner{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;padding:22px 26px;margin:20px 0;border:1px solid #364d57;border-radius:18px;background:linear-gradient(100deg,#132d2e,#182338)}.mastery-banner>span{color:var(--mint);font:600 10px monospace;letter-spacing:.13em}.mastery-banner strong{font-size:19px}.mastery-banner p{flex-basis:100%;margin:0;color:#aabbd1;font-size:13px}.mastery-banner button{min-height:44px}.mentor-squad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 30px}.squad-card{display:flex;gap:16px;align-items:center;background:#111827bf;backdrop-filter:blur(12px);border:1px solid #2c3a52;border-radius:18px;padding:22px 18px}.squad-card h3{font-size:17px;margin:8px 0}.squad-card p{font-size:12px;line-height:1.7;color:#9cafc8;margin:0}.squad-card .eyebrow{font-size:9px;line-height:1.6}.character{--suit:#7863bc;--face:#d8c8ba;position:relative;flex:0 0 66px;height:96px;animation:mentor-float 4s ease-in-out infinite}.character.shield{--suit:#328775;--face:#a7e9dc;animation-delay:-1.5s}.character.archivist{--suit:#987348;--face:#e6c79e;animation-delay:-2.5s}.character-halo{position:absolute;inset:0 -8px;border:1px solid var(--suit);border-radius:50%;transform:rotate(-25deg) scaleY(.8);opacity:.4}.character-head{position:absolute;top:13px;left:12px;width:43px;height:39px;border-radius:15px 15px 12px 12px;background:var(--face);border-top:10px solid var(--suit);box-shadow:inset 0 -4px #0002;display:flex;justify-content:center;gap:11px;align-items:center;z-index:2}.character-head i{width:4px;height:6px;background:#202836;border-radius:50%;animation:mentor-blink 5s infinite}.character-body{position:absolute;left:5px;bottom:3px;width:58px;height:45px;border-radius:22px 22px 10px 10px;background:linear-gradient(140deg,var(--suit),#192334);box-shadow:0 8px 20px #0004;text-align:center;padding-top:9px;color:#fff;font-size:23px;border:1px solid #ffffff25}.shield .character-head{border:5px solid var(--suit);border-radius:11px;background:#132e30}.shield .character-head i{background:var(--mint);box-shadow:0 0 7px var(--mint)}.archivist .character-head:after{content:'';position:absolute;top:-12px;width:54px;height:8px;border-radius:3px;background:#b99b67}.archive-intro{padding:35px 0 30px;max-width:780px}.archive-intro h1{font-size:clamp(36px,6vw,64px);line-height:1.08;letter-spacing:-.05em;margin:20px 0}.archive-intro h1 em{font-style:normal;color:#b6a1ff}.archive-intro p{color:#a8bad2;line-height:1.8;max-width:680px}.archive-filters{display:flex;gap:12px;margin-top:24px}.archive-filters button{min-height:44px;border:1px solid #35435c;padding:10px 18px;border-radius:10px}.archive-filters .selected{color:var(--mint);border-color:#6cf6c3;background:#183b34}.crisis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:15px 0 45px}.crisis-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#192338,#101724);padding:28px;border:1px solid #30405b;border-radius:20px;transition:transform .2s,border-color .2s}.crisis-card:hover{transform:translateY(-3px);border-color:#796998}.crisis-top{display:flex;justify-content:space-between;color:#a9bbd2;font:12px monospace}.crisis-top strong{color:#f2cf90;font-size:18px}.crisis-index{position:absolute;right:24px;top:55px;font:800 100px monospace;color:#ffffff04;pointer-events:none}.crisis-card h2{font-size:23px;line-height:1.3;margin:24px 0 16px;max-width:85%}.crisis-card p{font-size:14px;line-height:1.85;color:#b0c0d6}.crisis-lesson{border-left:2px solid #b6a1ff;padding:3px 15px;margin:22px 0;background:#a291e308}.crisis-lesson p{font-size:13px}.crisis-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;border-top:1px solid #2d3a51;padding-top:18px}.crisis-actions a,.crisis-actions button{font-size:11px;min-height:44px;display:inline-flex;align-items:center}.decision-desk{margin:30px 0}.desk-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.desk-heading h2{font-size:27px;margin:8px 0}.desk-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.coach-card,.plan-card{background:rgba(17,24,39,.75);backdrop-filter:blur(14px);border:1px solid #2f405b;border-radius:18px;padding:25px;min-width:0}.coach-portrait{float:right;border:1px solid #6cf6c355;border-radius:14px;padding:10px 14px;font-size:30px;color:var(--mint);background:#183a32}.coach-card h3,.plan-card h3{font-size:21px;margin:9px 0 12px}.coach-card>p{color:#a2b6cf;font-size:13px;line-height:1.8}.coach-topics{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.coach-topics button{border:1px solid #3b4b66;border-radius:9px;min-height:44px;padding:8px 12px;font-size:12px}.coach-topics button:hover{border-color:var(--mint)}.coach-reply{white-space:pre-wrap;font-size:13px;line-height:1.85;color:#d2deed;max-height:430px;overflow-y:auto;background:#0b1422;border:1px solid #283b54;padding:18px;border-radius:12px}.plan-card label{display:block;font-size:12px;font-weight:600;color:#bfcee1;margin:18px 0}.plan-card textarea,.plan-card select{display:block;width:100%;margin-top:8px;background:#0d1625;border:1px solid #36475e;border-radius:9px;color:#e1ebf7;padding:12px;font:13px/1.6 inherit}.plan-card textarea{resize:vertical;min-height:77px}.plan-card .small{line-height:1.8;font-size:11px}.historical-note{padding:20px;border:1px solid #8a734d;border-radius:13px;background:#a27b3610;margin-bottom:20px}.historical-note p{line-height:1.8;font-size:13px}.historical-note a{color:#e4c38a}.chartbox{height:440px}.tq-chart-tools button{min-height:44px!important}.world-nav{max-height:810px;overflow-y:auto;scrollbar-width:thin}.world-scene .stage{z-index:3}.notebook{line-height:1.8}.call small{letter-spacing:.01em}button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #b6a1ff;outline-offset:4px}#coachStatus{font-size:12px;line-height:1.7;color:#f4ca84}
@keyframes mentor-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes mentor-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.1)}}
@media(max-width:1000px){.mentor-squad{grid-template-columns:1fr}.squad-card{padding:18px 22px}.character{height:80px;flex-basis:66px}.character-head{top:2px}.character-body{bottom:0}.squad-card p{max-width:60ch}.desk-grid{grid-template-columns:1fr}.world-nav{max-height:none}}
@media(max-width:640px){.crisis-grid{grid-template-columns:1fr}.crisis-card{padding:23px}.crisis-card h2{font-size:22px}.desk-heading{align-items:flex-start;flex-direction:column}.coach-card,.plan-card{padding:19px}.mastery-banner{padding:20px}.mastery-banner strong{font-size:19px}.mastery-banner>span{font-size:9px}.quest-nav button{font-size:11px;padding:12px}.chartbox{height:380px}.arena-top{flex-wrap:wrap;gap:10px}#marketMeta{display:block;margin-top:5px;font-size:9px}.hq-hero{min-height:0}.crisis-actions{flex-direction:column;align-items:flex-start}.controller .calls{gap:8px}.call{padding:14px 8px}.call kbd{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

#marketMeta{margin-left:10px}.decision-desk{scroll-margin-top:90px}

body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.top{padding-top:env(safe-area-inset-top)}.footer-policies a{color:#9bcdbf;font-size:12px}.footer-policies{line-height:2}

/* One-time campaign access, separate from stage completion. */
.campaign-pass-offer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin:18px 0;background:linear-gradient(110deg,#243448,#302447);border:1px solid #8370b078;border-radius:18px}.campaign-pass-offer[hidden]{display:none}.campaign-pass-offer strong{font-size:17px;color:#e9dfff}.campaign-pass-offer p{font-size:12px;color:#afbed8;margin:7px 0 0;line-height:1.6}.campaign-pass-offer button{min-height:46px;white-space:nowrap;color:#95f8d0}.pass-emblem{font-size:52px;color:#b49aff}.pass-benefits{padding-left:20px;color:#bfd2e3;line-height:1.9}.pass-price{font:700 38px ui-monospace,monospace;color:#9bf4d1;margin:20px 0}.pass-price small{display:block;font:12px Inter,sans-serif;color:#b3c3d6;margin-top:7px}.pass-test{background:#473416;padding:12px;border:1px solid #c59535;border-radius:10px;color:#ffd98b}.pass-owned{color:#87f6c3;font-weight:700}#restoreCampaign{display:block;min-height:44px;margin-top:14px}#billingStatus{line-height:1.8;color:#e2c994}.premium-stage{box-shadow:0 0 0 2px #a38be6,0 6px 20px #0005}#modalBody a{color:#a9c7ff}@media(max-width:600px){.campaign-pass-offer{align-items:flex-start;flex-direction:column;padding:16px}.campaign-pass-offer button{padding-left:0;white-space:normal}}
.public-links{display:flex;justify-content:space-between;gap:20px;padding-top:12px;font-size:.75rem}.public-links a{color:#b9b1d6;text-underline-offset:4px}
