/* Expedition layout and native puzzle controls. */
.adventure-world,.adventure-dialog{box-sizing:border-box;font:16px/1.5 Inter,system-ui,sans-serif;color:#e9f1f6}.adventure-world{position:relative;z-index:10;width:calc(100% - 24px);max-width:1120px;margin:20px auto 0;background:#122638;border:1px solid #526c7c;border-radius:20px;overflow:hidden;box-shadow:0 20px 65px #0004}.adventure-banner{position:relative;display:flex;align-items:flex-end;gap:24px;min-height:270px;padding:30px 34px;background:linear-gradient(90deg,#102131ef 0%,#102131b8 40%,#10213116 100%),var(--expedition-art) center 49%/cover}.adventure-intro{max-width:660px}.adventure-eyebrow{display:block;color:var(--expedition-color,#bce3d6);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.adventure-world h2{margin:8px 0 12px;font-size:clamp(28px,4vw,42px);line-height:1.1;color:#fff;font-weight:800;letter-spacing:-.035em}.adventure-world p{margin:0;color:#d7e6ef}.adventure-intro p{max-width:560px;font-size:17px;text-wrap:pretty}.adventure-medal{margin-left:auto;min-width:110px;max-width:140px;text-align:center;padding:12px;border-radius:14px;background:#142735e8;border:1px solid #9eafab66}.adventure-medal strong{display:block;font-size:38px;line-height:1.2;color:var(--expedition-color)}.adventure-medal span{font-size:13px;line-height:1.3;display:block}.adventure-map{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:24px 30px;margin:0;background:#0e1e2dcc;border-bottom:1px solid #3d5366;gap:20px}.adventure-map li{position:relative;display:flex;align-items:center;gap:10px;color:#acbdca;font-size:14px;font-weight:650}.adventure-map li:not(:last-child)::after{position:absolute;content:'';width:14px;height:2px;background:#496070;right:-18px;top:17px}.adventure-node{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid #647d8e;border-radius:50%;font-size:15px;color:#d6e2e9;background:#193245}.adventure-map .is-current{color:#fff}.adventure-map .is-current .adventure-node{background:var(--expedition-color);color:#172b36;border-color:var(--expedition-color);box-shadow:0 0 0 5px #b3d8d912}.adventure-map .is-complete .adventure-node{color:#d9f2cd;border-color:#9fce91;background:#214c42}.adventure-destination{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 28px;padding:24px 30px}.adventure-destination h3{margin:0;color:#fff;font-size:22px}.adventure-destination>p:not(.adventure-status){grid-column:1;max-width:710px}.adventure-routes{grid-column:1;display:flex;flex-wrap:wrap;gap:9px}.adventure-world button,.adventure-dialog button,.adventure-dialog input,.adventure-dialog select{box-sizing:border-box;min-height:46px;border-radius:9px;border:1px solid #758a99;padding:9px 14px;background:#263e51;color:#f3f8fc;font:inherit}.adventure-world button,.adventure-dialog button{cursor:pointer;font-weight:650;touch-action:manipulation}.adventure-world button:hover:enabled,.adventure-dialog button:hover:enabled{background:#3b586b}.adventure-world button[aria-pressed=true]{background:#304e5c;border-color:var(--expedition-color);color:var(--expedition-color)}.adventure-world button:disabled,.adventure-dialog button:disabled{opacity:.55;cursor:default}.adventure-world button.adventure-enter,.adventure-dialog .adventure-enter{background:var(--expedition-color,#bfdfb8);border-color:var(--expedition-color,#bfdfb8);color:#152b33;font-weight:800}.adventure-destination>.adventure-enter{grid-column:2;grid-row:1 / span 3;align-self:center;max-width:240px}.adventure-meter{height:7px;border-radius:5px;background:#385365;overflow:hidden;grid-column:1/-1}.adventure-meter span{display:block;height:100%;background:var(--expedition-color);transition:width .35s}.adventure-world .adventure-status{grid-column:1/-1;font-size:14px;color:#c4e6d5;min-height:21px}.adventure-fieldwork{margin-top:14px}.adventure-fieldwork summary{cursor:pointer;font-weight:700;color:#cfe0ea;padding:5px 0}.adventure-fieldwork[open] summary{margin-bottom:15px}.adventure-world~.flagship-mission{margin-top:14px;padding:18px 26px;border-radius:15px}.adventure-world~.flagship-mission h2{font-size:20px}.adventure-dialog{width:min(820px,calc(100% - 28px));max-height:90dvh;border:1px solid #73909e;border-radius:20px;background:#112636;padding:26px 30px;box-shadow:0 28px 120px #0008;overflow:auto}.adventure-dialog::backdrop{background:#061322ce;backdrop-filter:blur(6px)}.adventure-dialog-header{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.adventure-dialog h2{margin:0;color:#fff;font-size:27px;line-height:1.2}.adventure-close{font-size:14px!important;white-space:nowrap}.adventure-instruction{font-size:18px;line-height:1.55;color:#e4eff5}.adventure-puzzle-visual{border:1px solid #415d6e;background:radial-gradient(ellipse at 50% 25%,#25485d,#10212f);border-radius:14px;overflow:hidden;margin:18px 0}.adventure-puzzle-visual svg{display:block;width:100%;height:auto;max-height:280px}.adventure-puzzle-controls{display:flex;flex-wrap:wrap;gap:15px;margin:0 0 22px}.adventure-control{flex:1 1 195px;min-width:0}.adventure-control label{display:block;font-weight:650;margin-bottom:8px;color:#d6e5ed}.adventure-adjust{display:flex;gap:5px}.adventure-adjust input,.adventure-adjust select{width:100%;min-width:0;max-width:none!important;text-align:center;background:#203b4d!important;color:#fff!important;font-size:18px}.adventure-adjust select{text-align:left}.adventure-adjust button{width:44px;flex:0 0 44px;font-size:23px;padding:0}.adventure-puzzle-feedback{min-height:24px;color:#ffe0a0;font-weight:650}.adventure-puzzle-feedback[data-result=correct]{color:#b8edc1}.adventure-world :focus-visible,.adventure-dialog :focus-visible,.adventure-fieldwork summary:focus-visible{outline:3px solid #fff0a8;outline-offset:3px}.adventure-dom-world{background:linear-gradient(#102635d9,#102635f2),var(--expedition-art) center/cover fixed!important}.adventure-dom-world #app,.adventure-dom-world main{position:relative;z-index:1}.adventure-world~.flagship-stage{border:1px solid #526c7c}
@media(max-width:700px){.adventure-banner{padding:24px 20px;min-height:230px;gap:12px;align-items:flex-start}.adventure-intro{min-width:0}.adventure-medal{min-width:70px;max-width:90px;padding:8px}.adventure-medal strong{font-size:29px}.adventure-medal span{font-size:11px}.adventure-intro p{font-size:16px}.adventure-map{padding:20px;gap:16px;grid-template-columns:1fr 1fr}.adventure-map li{font-size:13px}.adventure-map li::after{display:none}.adventure-destination{display:block;padding:20px}.adventure-destination>*{margin-bottom:13px!important}.adventure-destination h3{font-size:21px}.adventure-destination>.adventure-enter{max-width:none;width:100%}.adventure-dialog{padding:20px}.adventure-dialog-header{display:block}.adventure-dialog-header .adventure-close{margin-top:12px}.adventure-dialog h2{font-size:24px}.adventure-control{flex-basis:100%}.adventure-instruction{font-size:17px}.adventure-adjust input{min-height:48px}.adventure-world~.flagship-mission{padding:18px}.adventure-world~.flagship-mission .fm-launch{margin-top:14px}.adventure-map .adventure-node{flex-basis:31px;height:31px}}
@media(prefers-reduced-motion:reduce){.adventure-meter span{transition:none}}
.studio-reduced-motion .adventure-meter span{transition:none}.studio-contrast .adventure-world,.studio-contrast .adventure-dialog{background:#000;border-color:#fff}.studio-contrast .adventure-banner{background:linear-gradient(#000b,#000d),var(--expedition-art) center/cover}.studio-contrast .adventure-world button,.studio-contrast .adventure-dialog button{border-color:#fff}
@media(min-width:701px){.adventure-world{margin:12px auto 24px;border-radius:14px}.adventure-banner{min-height:64px;padding:12px 22px;align-items:center;gap:14px;background-position:center 42%}.adventure-eyebrow{font-size:10px;display:inline;margin-right:8px}.adventure-world h2{font-size:20px;margin:0 10px 0 0;display:inline}.adventure-intro p{font-size:13.5px;line-height:1.35;display:inline;color:#cbd5e1}.adventure-medal{padding:5px 12px;min-width:80px;border-radius:9px}.adventure-medal strong{font-size:18px;line-height:1.1;display:inline;margin-right:4px}.adventure-medal span{font-size:11px;display:inline}.adventure-map{padding:8px 22px;gap:12px}.adventure-map li{font-size:13px;gap:8px}.adventure-map .adventure-node{flex:0 0 24px;height:24px;font-size:12px}.adventure-map li:not(:last-child)::after{top:11px;width:10px;right:-12px}.adventure-destination{display:flex;flex-wrap:wrap;align-items:center;padding:10px 22px;gap:8px 16px}.adventure-destination h3{font-size:16px;margin:0}.adventure-destination>p:not(.adventure-status){font-size:13px;margin:0;flex:1 1 260px}.adventure-routes{gap:8px}.adventure-world button{min-height:38px;padding:6px 12px;font-size:13px;border-radius:8px}.adventure-destination>.adventure-enter{margin-left:auto;max-width:none}.adventure-meter{height:6px;width:100%;flex-basis:100%}.adventure-world .adventure-status{font-size:12.5px;min-height:0;width:100%}.adventure-world .adventure-status:empty{display:none}.flagship-mission{margin:8px auto;padding:10px 20px;border-radius:14px}.flagship-mission h2{font-size:18px;margin:1px 0 0}.flagship-mission .fm-launch{display:flex;align-items:center;gap:8px;min-width:0}.flagship-mission .fm-launch label{font-size:12.5px;white-space:nowrap}.flagship-mission button,.flagship-mission select{min-height:40px;padding:6px 12px;font-size:14px}.adventure-fieldwork{margin-top:4px;font-size:13px}.adventure-fieldwork summary{padding:2px 0}.adventure-world.is-playing .adventure-intro>p{display:none}}
@media(min-width:1000px){.flagship-stage,.adventure-playing .flagship-stage{width:min(calc(100% - 24px),calc((100dvh - 205px)*var(--native-ratio,1.5)));margin:8px auto;border:1px solid #526c7c}.flagship-mission,.adventure-playing .flagship-mission{scroll-margin-top:8px}.adventure-playing .adventure-fieldwork:not([open]){margin-top:4px}}



/* Wave 2: screen-reader text, earned help ladder, 44px targets on every layout. */
.adventure-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.adventure-help{margin-top:14px;display:grid;gap:8px;justify-items:start}
.adventure-dialog .adventure-hint{background:#1d3446;border-color:var(--expedition-color,#bfdfb8);color:#f3f8fc}
.adventure-dialog .adventure-hint[hidden]{display:none}
.adventure-help-note{margin:0;font-size:14px;color:#b9cdd9;min-height:0}
.adventure-help-note:empty{display:none}
.adventure-help-list{margin:0;padding:0 0 0 22px;display:grid;gap:8px;max-width:72ch}
.adventure-help-list:empty{display:none}
.adventure-help-list li{line-height:1.5;color:#e4eff5;padding:8px 12px;border-left:3px solid var(--expedition-color,#bfdfb8);background:#16304180;border-radius:0 8px 8px 0}
.adventure-help-list li:focus{outline:3px solid #fff0a8;outline-offset:2px}
.adventure-dialog .adventure-continue{margin-top:12px}
@media(min-width:701px){.adventure-world button{min-height:44px}.flagship-mission button,.flagship-mission select{min-height:44px}}
.studio-contrast .adventure-help-list li{background:#000;border-left-color:#fff}

/* Comparing two actual mathematical models supports deliberate construction
   and revision without requiring long written English responses. */
.adventure-comparison{padding:18px;margin:8px 0 22px;border:1px solid #688ba1;border-radius:14px;background:#0d2432}
.adventure-comparison h3{font-size:21px;margin:0 0 8px}.adventure-comparison h4{font-size:18px;margin:14px 0 8px;color:#f2dba9}
.adventure-comparison p{font-size:16px;line-height:1.55;color:#d6e5ed;margin:8px 0}
.adventure-compare-tools{display:flex;flex-wrap:wrap;gap:8px}.adventure-compare-tools button{min-height:48px;font-size:16px}
.adventure-model-a:empty{display:none}.adventure-change-note{overflow-wrap:anywhere}
@media(max-width:600px){.adventure-comparison{padding:14px}.adventure-compare-tools button{flex:1 1 160px}}

/* Launch row: buttons keep their label on one line; the level select flexes and the row wraps instead of crushing them (1366px showed "Launc/h/missio/n"). */
.flagship-mission .fm-launch{flex-wrap:wrap}.flagship-mission .fm-launch button{white-space:nowrap;flex:0 0 auto}.flagship-mission .fm-launch select{flex:1 1 22ch;min-width:22ch;text-overflow:ellipsis}
