:root{color-scheme:dark;--bg:#0b1023;--panel:#161e38;--edge:#354267;--text:#f2f5ff;--muted:#b4c0de;--mint:#70f1c9}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 75% 8%,#222650 0,transparent 40rem),var(--bg);color:var(--text);font:1rem/1.5 system-ui,sans-serif}
.wrap{width:min(68rem,calc(100% - 2rem));margin:auto}
.top{border-bottom:1px solid var(--edge);background:#0d1329}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:3.8rem}
a{color:var(--mint)}.top a{font-weight:700;text-decoration:none}.top img{object-fit:contain;max-width:34%}.top-label,.kicker{font-size:.74rem;letter-spacing:.15em;font-weight:850;color:var(--mint)}
h1,h2,h3,p{margin:0}h1{font-size:clamp(2.8rem,8vw,5.8rem);line-height:1.03;letter-spacing:-.065em;margin:.25em 0}h1 em{font-style:normal;color:var(--mint)}h2{font-size:clamp(1.55rem,4vw,2.3rem);letter-spacing:-.035em}
button,input{font:inherit}button{color:var(--text);background:#232e52;border:1px solid #526189;border-radius:.72rem;padding:.62rem .85rem;font-weight:750;cursor:pointer;min-height:44px}
button:hover:not(:disabled){border-color:var(--mint);filter:brightness(1.12)}button:disabled{opacity:.58;cursor:default}
:focus-visible{outline:3px solid #ffe090;outline-offset:3px}
.primary{background:var(--mint);color:#082019;border-color:var(--mint);box-shadow:0 4px 0 #30826e}
.hero{margin-top:1.25rem;border:1px solid var(--edge);border-radius:1.45rem;display:grid;grid-template-columns:1fr auto;align-items:end;gap:1.5rem;padding:clamp(1.1rem,4vw,2.65rem);background:linear-gradient(126deg,#19284c,#191a35 65%,#2f2352)}
.hero-copy>p:not(.kicker),.muted,footer{color:var(--muted)}.hero .primary{margin-top:1.15rem}
.stats{display:flex;gap:.65rem;flex-wrap:wrap}.stats div{min-width:5.7rem;padding:.55rem .7rem;border-radius:.7rem;background:#0b132b;border:1px solid var(--edge)}.stats strong,.stats small{display:block}.stats strong{font:800 1.15rem ui-monospace,monospace}.stats small{color:var(--muted)}
.district-section,.dispatch{margin-top:2rem}.districts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:.9rem}
.district{--accent:var(--mint);display:flex;flex-direction:column;min-width:0;gap:.45rem;padding:.82rem;border-radius:1rem;border:1px solid var(--edge);background:linear-gradient(160deg,#1d2b4d,#121a31)}
.district strong{line-height:1.2}.district small{color:var(--muted)}.district .build{margin-top:auto;width:100%;font-size:.8rem}.district .plot{width:100%;max-height:120px}.district .stage{font:700 .72rem ui-monospace,monospace;color:var(--accent)}
.tiers{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.tiers button[aria-pressed="true"]{background:#163e40;border-color:var(--mint);color:#a8ffe3}
.missions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.mission-card{display:flex;align-items:center;text-align:left;width:100%;gap:.65rem;background:var(--panel);border-color:var(--edge);min-height:4.4rem}.mission-card.current{border-color:var(--mint)}.mission-card .num{font:800 .9rem ui-monospace,monospace;color:var(--mint)}.mission-card small{display:block;color:var(--muted);font-weight:500}.mission-card .badge{margin-left:auto;color:#ffe090;white-space:nowrap;font-size:.8rem}.mission-card:disabled{opacity:.65}
footer{font-size:.85rem;padding:1.7rem 0}
dialog{width:min(38rem,calc(100% - 1.25rem));max-height:calc(100dvh - 1.25rem);padding:0;background:linear-gradient(140deg,#1b2545,#12182c);color:var(--text);border:1px solid #65729d;border-radius:1.2rem}
dialog::backdrop{background:#050918ce}body:has(dialog[open]){overflow:hidden}
.dialog-content{padding:clamp(.85rem,4vw,1.5rem);position:relative}.close{position:absolute;right:.65rem;top:.65rem;padding:0;width:44px}.dialog-content .kicker{padding-right:2.5rem}.dialog-content h2{margin:.25rem 2.4rem .6rem 0;line-height:1.2}.brief{background:#0d152e;border-left:3px solid var(--mint);border-radius:.55rem;padding:.65rem .75rem;margin-bottom:.85rem}.brief strong{color:var(--mint);display:block;font-size:.8rem}
.question{margin:.6rem 0;font-weight:750}.answers{display:grid;gap:.45rem}.answers button{text-align:left}.answers button[aria-pressed=true]{border-color:var(--mint);background:#184740}.chart-answers{grid-template-columns:repeat(3,minmax(0,1fr))}.chart-answers button{text-align:center}.confirm{margin-top:.75rem}.answers input{width:100%;border-radius:.65rem;border:1px solid #65729d;background:#0c152e;color:var(--text);min-height:44px;padding:.55rem}.feedback{margin:.7rem 0 0;padding:.6rem .75rem;border-radius:.6rem;background:#3c2c29;color:#ffdfb6}.feedback.good{background:#173b36;color:#beffe3}.stars{font-size:2rem;letter-spacing:.18em;color:#ffe090}.chart{width:100%;height:auto;display:block;border-radius:.65rem;background:#0d172c;margin-bottom:.6rem}.chart text{font-family:ui-monospace,monospace}.chart [data-price]{cursor:pointer}.chart [data-price]:hover text{fill:#ffe090}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:690px){.hero{grid-template-columns:1fr;gap:1rem}.districts{grid-template-columns:repeat(2,minmax(0,1fr))}.missions{grid-template-columns:1fr}}
@media(max-width:350px){.wrap{width:calc(100% - 1.2rem)}.top-label{font-size:.62rem}.stats div{min-width:0}.district{padding:.55rem}}
@media(prefers-reduced-motion:no-preference){.rise{animation:rise .42s ease-out both;transform-box:fill-box;transform-origin:bottom}@keyframes rise{from{opacity:.2;transform:scaleY(.42)}to{opacity:1;transform:scaleY(1)}}}
.brief{display:flex;align-items:center;gap:.65rem}.tara{display:block;flex:0 0 3rem;aspect-ratio:1;border-radius:.65rem;background:#172338 url('/assets/expedition-characters.webp') right center/300% 100% no-repeat}
.city-discovery{margin-top:1.5rem;padding:clamp(.85rem,3vw,1.4rem);border:1px solid var(--edge);border-radius:1rem;background:var(--panel)}
.city-discovery li+li,.city-discovery p+p{margin-top:.5rem}.share-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.5rem}.share-links a{padding:.6rem .85rem;border:1px solid var(--edge);border-radius:.7rem;text-decoration:none;font-weight:700}.share-links a:hover{border-color:var(--mint)}#city-share-status{overflow-wrap:anywhere}

/* A quieter layout keeps the next mission and the question in view. */
:root{--bg:#111719;--panel:#1a2225;--edge:#344044;--text:#f4f1e8;--muted:#aebdbb;--mint:#94dfc9;--cta:#f3cb80}
body,.top{background:var(--bg)}.top{border-color:var(--edge)}.top-inner{min-height:4.5rem;flex-wrap:wrap;justify-content:space-between}.top-inner>a{flex:0 0 auto}.top img{display:block;max-width:none;width:clamp(108px,22vw,144px);height:auto}.top nav{margin-left:auto;display:flex;align-items:center;gap:.25rem}.top nav a{display:flex;align-items:center;color:var(--text);font-size:.875rem;min-height:44px;padding:.35rem .45rem}.top nav a[aria-current]{color:var(--mint);text-decoration:underline;text-underline-offset:.35rem}.top-inner .tq-settings-trigger{margin:0}.skip{position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%);background:var(--cta);color:#211b13;padding:.55rem;z-index:3}.skip:focus{transform:none}
.hero{background:var(--panel);padding:clamp(1rem,4vw,2rem);border-radius:.85rem;align-items:center}.hero h1{font-size:clamp(2.45rem,6vw,4rem);margin:.12em 0 .16em}.hero-copy>p:not(.kicker){max-width:44ch}.kicker{letter-spacing:0;font-size:.82rem;font-weight:700}.hero .primary,.primary{background:var(--cta);color:#211b13;border-color:var(--cta);box-shadow:none}button{background:#202a2e;border-color:var(--edge);border-radius:.55rem}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.stats div{padding:.45rem .55rem;min-width:0;background:transparent;border:0;border-left:1px solid var(--edge);border-radius:0}.stats strong{font-size:clamp(.8rem,2.9vw,1.05rem);white-space:nowrap}.stats small{font-size:.75rem}
.dispatch,.district-section{margin-top:2.15rem}.dispatch .muted,.district-section .muted{margin-top:.2rem}.missions{gap:.45rem}.mission-card{min-height:3.7rem}.mission-card.current{background:#23312e}.mission-card:disabled{opacity:1;background:#171d20;color:#bac4c1}.mission-card:disabled .num,.mission-card:disabled .badge{color:#aebdbb}.mission-card small{font-size:.78rem}.district{background:var(--panel);border-radius:.7rem}.district .stage{font:650 .8rem system-ui,sans-serif}.city-discovery{border-radius:.7rem}.city-discovery h2{font-size:1.25rem}
dialog{background:var(--panel);border-color:var(--edge);border-radius:.85rem}.brief{background:#131b1d;border-color:var(--mint);align-items:flex-start}.tara{display:none}.brief strong{margin-bottom:.2rem}.dialog-content h2{font-size:clamp(1.35rem,5vw,1.95rem)}.confirm{display:flex;gap:.5rem;flex-wrap:wrap}.confirm [data-action=next]{order:-1}.feedback{scroll-margin:1rem}.answers button[aria-pressed=true]{background:#23413b}.chart{background:#131a1f}
@media(max-width:520px){.top-inner{gap:0 .4rem}.top nav a{padding-inline:.3rem}.hero{margin-top:.8rem}.hero .primary{margin-top:.85rem}.district .build{padding-inline:.35rem}.mission-card{gap:.48rem}.mission-card .badge{font-size:.73rem}}
@media(max-width:365px){.top-inner{column-gap:.3rem}.top-inner .tq-settings-trigger{padding-inline:.4rem}.top nav a{font-size:.78rem}}
:root[data-theme=light] :is(.brief,.stats div,.district,.city-discovery,.tiers button,.answers button:not([aria-pressed=true]),.confirm button:not(.primary),.build,.close){background:var(--tq-panel);color:var(--tq-text);border-color:var(--tq-line)}
:root[data-theme=light] .stats div{border-left:1px solid var(--tq-line)}
:root[data-theme=light] :is(.brief strong,.kicker,.mission-card .num,.mission-card:disabled .badge){color:#087358}
:root[data-theme=light] .district .stage{color:#43516b}
:root[data-theme=light] :is(.answers button[aria-pressed=true],.tiers button[aria-pressed=true]){background:#dcf5ec;color:#174c3b;border-color:#087358}
:root[data-theme=light] .mission-card .badge{color:#7a4b08}
@media(max-width:365px){.top-inner .tq-settings-trigger{padding-inline:.35rem}}
