.exp-entry,.exp-gamelink,#expedition a{text-decoration:none}
.exp-entry{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(49%,440px));align-items:center;isolation:isolate;overflow:hidden;margin:18px 0 26px;border-radius:22px;background:linear-gradient(105deg,#123e35,#285a43);color:#fffaf0;box-shadow:0 3px 0 #bb7743}
.exp-entry-scene{position:relative;display:block;align-self:center}
.exp-entry-orchard{display:block;width:100%;height:auto;aspect-ratio:3/2}
.exp-entry-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#21503e,transparent 25%);pointer-events:none}

.exp-entry-copy{display:grid;justify-items:start;gap:8px;padding:clamp(16px,4vw,42px);text-wrap:balance}
.exp-entry-copy strong{font-weight:900;font-size:clamp(22px,4vw,37px);line-height:1.04;letter-spacing:-.045em}
.exp-entry-copy span{font-size:.9rem}
.exp-entry-copy b,.exp-play-pill{display:inline-flex;align-items:center;min-height:32px;border-radius:30px;padding:4px 16px;background:#ffe397;color:#3d3218}
.exp-entry-copy b{margin-top:6px}
.exp-entry-mascot{position:absolute;z-index:1;left:19%;bottom:10%;height:46%;width:30%;object-fit:contain;filter:drop-shadow(0 3px 3px #36251066)}
.exp-gamelink{display:inline-flex;align-items:center;min-height:44px;padding:6px 15px;margin:10px 4px 0 0;border-radius:14px;background:#fff7d8;color:#214739;font-weight:800;border:1px solid #bea77a}
#expedition{--night:#183d37;--paper:#fffaf0;max-width:1000px;margin:0 auto 28px;color:var(--night)}
#expedition [hidden]{display:none!important}
#expedition h1,#expedition h2,#expedition p{margin:0}
.exp-nav,.exp-stage-head,.exp-card-foot,.exp-position,.exp-back,.exp-pass,.exp-finish-actions{display:flex;align-items:center}
.exp-nav,.exp-stage-head,.exp-card-foot{justify-content:space-between;gap:8px}
.exp-nav{margin:8px 0 12px}
.exp-back,.exp-pass,.exp-action{min-height:44px;border-radius:22px;font-size:.9rem;font-weight:800;gap:6px}
.exp-back,.exp-pass{background:#fff8e8;color:#21493e;padding:6px 13px;border:1px solid #e2b573}
.exp-back img,.exp-pass img,.exp-position img{width:29px;height:29px;object-fit:contain}
.exp-back:hover,.exp-back:focus-visible{background:white}
.exp-map-head{padding:clamp(18px,4vw,34px);border-radius:24px 24px 8px 8px;background:#1d4941;color:#fff8e6;border-bottom:5px solid #eab455}
.exp-map-head h1,.exp-finish h1,.exp-task{font-size:clamp(26px,4vw,43px);line-height:1.04;letter-spacing:-.05em;text-wrap:balance;color:inherit}
.exp-map-head p{padding-top:9px;max-width:49ch;line-height:1.45}
.exp-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:13px 0}
.exp-postcard{display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:var(--paper);border-radius:20px;border:2px solid #fff8df;box-shadow:0 3px 0 #b47d48;color:var(--night);transition:transform .17s}
.exp-postcard:hover{transform:translateY(-3px)}
.exp-card-art,.exp-finish-scene{position:relative;isolation:isolate;overflow:hidden}
.exp-card-art{aspect-ratio:1.55}
.exp-card-land,.exp-backdrop{display:block;width:100%;height:100%;object-fit:cover}
.exp-card-mascot,.exp-stage-mascot,.exp-finish-mascot{position:absolute;left:3%;bottom:3%;object-fit:contain;filter:drop-shadow(0 4px 3px #322c3e55);pointer-events:none}
.exp-card-mascot{width:22%;height:44%}
.exp-card-seal{position:absolute;right:6px;top:6px;width:42px;height:42px;object-fit:contain;padding:5px;border:3px double #92721c;border-radius:100%;background:#ffeaa3}
.exp-card-info{padding:15px 14px;display:flex;flex-direction:column;gap:5px}
.exp-card-info small{color:#59673e;font-weight:750;line-height:1.1}
.exp-card-info h2{font-size:clamp(19px,2.4vw,27px);letter-spacing:-.045em;line-height:1.08}
.exp-card-foot{padding-top:12px;margin-top:auto;font-size:.85rem}
.exp-card-foot>span{color:#506456;font-weight:750}
.exp-board,.exp-finish{overflow:hidden;background:var(--paper);border:2px solid #fff6d8;border-radius:24px;box-shadow:0 3px 0 #bd8454}
.exp-stage-head{padding:13px clamp(14px,3vw,27px) 0;color:#3d614d}
.exp-position,.exp-round{font-weight:800;line-height:1.15}
.exp-position{gap:6px}
.exp-round{background:#f5e7bf;border-radius:20px;padding:7px 12px;font-size:.82rem;color:#514424;white-space:nowrap}
#expedition .exp-task{padding:8px clamp(14px,3vw,27px) 14px;font-size:clamp(23px,3.6vw,37px)}
.exp-theatre{position:relative;isolation:isolate;overflow:hidden;margin:0 clamp(6px,1.4vw,15px);border-radius:16px;background:#33534b;aspect-ratio:2.56}
.exp-theatre .exp-backdrop,.exp-finish-scene .exp-backdrop{position:absolute;inset:0;object-position:50% 55%;z-index:-1}
.exp-stage-mascot{height:39%;max-width:20%;bottom:2%;left:1.5%}
.exp-field{position:absolute;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center}
#expedition .exp-apple,#expedition .exp-target{display:grid;place-items:center;position:relative;padding:0;min-width:44px;min-height:44px;isolation:isolate;cursor:pointer;border:none;box-shadow:none;background:transparent;touch-action:manipulation}
#expedition button:disabled{opacity:1;cursor:default}
.exp-apple img,.exp-target img{display:block;object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 3px 2px #332d2655)}
.exp-apples{left:15%;top:8%;width:44%;height:61%;gap:2px}
#expedition .exp-apple{width:clamp(44px,7vw,73px);aspect-ratio:1;border-radius:100%;transition:transform .14s}
.exp-apple[aria-pressed=true] img{filter:brightness(.76) drop-shadow(0 2px 2px #342)}
.exp-picked{display:none;position:absolute;bottom:1%;right:0;width:25px;height:25px;border-radius:50%;background:#205e47;color:#fff;border:2px solid white;font-weight:900;line-height:21px}
.exp-apple[aria-pressed=true] .exp-picked{display:block}
#expedition .exp-apple:active,#expedition .exp-target:active{transform:scale(.94)}
.exp-targets{left:21%;right:5%;bottom:4%;gap:3%}
#expedition .exp-target{width:100%;max-width:114px;height:clamp(65px,9vw,102px);border-radius:34%;transition:transform .13s}
.exp-number{position:absolute;bottom:1%;background:#fffbed;border:2px solid #855c37;color:#232e34;border-radius:22px;min-width:38px;font-size:clamp(20px,2.5vw,29px);line-height:1.2;padding:0 6px;box-shadow:0 2px 3px #3226}
.exp-try-again .exp-number{border-color:#af4934;background:#ffe2cf}
.exp-right .exp-number{background:#c4f2be;border-color:#28623b}
.exp-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px clamp(14px,3vw,27px) 18px}
.exp-help,.exp-actions{display:grid;gap:5px}
.exp-actions{justify-items:end;max-width:44%}
.exp-clue,.exp-crates,.exp-crate-group{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.exp-clue>img{width:29px;height:29px;object-fit:contain}
.exp-clue strong{font-size:clamp(23px,3vw,30px);line-height:1;color:#243c42}
.exp-crates{padding-inline:6px;color:#3e342a;font-size:18px}
.exp-crate-group{gap:2px}
.exp-crate{width:14px;height:14px;background:linear-gradient(45deg,transparent 40%,#8e562d 42% 55%,transparent 57%),#ecc388;border:2px solid #9f6738;border-radius:3px}
.exp-guide,.exp-feedback{font-size:.9rem;line-height:1.32}
.exp-guide{color:#46584c}
.exp-feedback{font-weight:750;color:#914327}
.exp-feedback:empty{display:none}
.exp-feedback.exp-correct{color:#216143}
#expedition .exp-action{display:inline-flex;align-items:center;justify-content:center;border:0;padding:10px 18px;color:white;background:#23594c;box-shadow:0 3px 0 #163f36;text-align:center}
.exp-finish{display:grid;grid-template-columns:1fr 1fr}
.exp-finish-scene{min-height:260px}
.exp-finish-mascot{width:34%;height:48%}
.exp-finish-copy{padding:clamp(18px,4vw,38px);align-self:center}
.exp-earned-seal{object-fit:contain;width:62px;height:62px;border:4px double #b88c39;border-radius:50%;background:#ffe79f;padding:6px}
.exp-finish-copy p{padding-top:9px}
.exp-finish-actions{margin-top:18px;gap:9px;flex-wrap:wrap}
#expedition :focus-visible,.exp-entry:focus-visible,.exp-gamelink:focus-visible{outline:3px solid #2859a8;outline-offset:2px}
#expedition .exp-field button:focus-visible{outline-color:white;box-shadow:0 0 0 6px #2a55a3}
@media(max-width:640px){
 .exp-map-grid{grid-template-columns:1fr;gap:10px}
 .exp-postcard{grid-template-columns:40% minmax(0,1fr);grid-template-rows:1fr}
 .exp-card-art{aspect-ratio:auto;min-height:130px}.exp-card-land{position:absolute;inset:0;object-position:62% center}
 .exp-card-info{padding:12px}.exp-card-mascot{width:33%}
 .exp-theatre{aspect-ratio:1.56}.exp-theatre .exp-backdrop{object-position:56% 55%}
 .exp-apples{left:4%;width:57%;height:59%;top:4%}
 .exp-targets{left:17%;right:3%;bottom:5%}
 .exp-tools{align-items:stretch;flex-direction:column;gap:8px}.exp-actions{justify-items:start;max-width:none}
 .exp-finish{grid-template-columns:1fr}.exp-finish-scene{min-height:160px;aspect-ratio:2.1}
 .exp-entry{grid-template-columns:1fr}.exp-entry-scene{grid-row:1}.exp-entry-scene::after{background:linear-gradient(0deg,#184638,transparent 12%)}
 .exp-entry-copy{padding:13px 18px 17px}.exp-entry-copy span{font-size:.88rem}
}
@media(max-width:370px){.exp-back,.exp-pass{padding:4px 8px}.exp-nav{gap:3px}.exp-pass img{width:22px}.exp-round{padding:6px}.exp-stage-head{font-size:.89rem}.exp-crates{padding:0}.exp-clue{gap:4px}}
@media(prefers-reduced-motion:reduce){#expedition *{transition:none!important;animation:none!important}}

.exp-equation-row{display:flex;justify-content:center;margin:0 9px 13px;grid-column:1/-1}
.exp-sum-card{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:clamp(4px,1vw,10px);width:max-content;max-width:100%;padding:7px clamp(8px,1.6vw,18px);background:#fffdf4;border:2px solid #afa4ce;border-radius:18px;box-shadow:0 3px 0 #c6bbd7;color:#413465;user-select:none}
.exp-digit{display:block;object-fit:contain;width:clamp(22px,6.5vw,45px);height:clamp(33px,8.6vw,51px);pointer-events:none}
.exp-op,.exp-unknown{display:grid;place-items:center;font-family:system-ui,sans-serif;font-size:clamp(18px,4.9vw,28px);font-weight:850;line-height:1;color:#483962;pointer-events:none}
.exp-unknown{align-self:center;width:1.32em;height:1.38em;border:2px dashed #8472aa;color:#4c3a71;border-radius:9px;background:#f0eafb}
.exp-grip{align-self:center;width:9px;height:20px;margin-right:2px;background:radial-gradient(circle,#8e80a8 1.2px,transparent 1.5px) 0 0/4.5px 5px}
.exp-draggable{touch-action:none;cursor:grab}
.exp-sum-card.exp-moving{z-index:4;cursor:grabbing;opacity:.94;box-shadow:0 9px 18px #342d4959}
.exp-clue:empty{display:none}
/* A round owns the viewport. Menus and workbooks retain their ordinary scrolling. */
html,body{touch-action:manipulation}
html:has(.game-stage:not([hidden])),body:has(.game-stage:not([hidden])){overflow:hidden;overscroll-behavior:none}
body:has(.game-stage:not([hidden])) > header,body:has(.game-stage:not([hidden])) .dock{display:none}
#expedition.game-stage:not([hidden]),#gameView.game-stage:not([hidden]){
 position:fixed;inset:0 auto auto 0;z-index:15;display:grid;grid-template-rows:auto minmax(0,1fr);
 width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;margin:0;
 --game-turn:0deg;--space:clamp(5px,1vmin,14px);
 padding:max(var(--space),env(safe-area-inset-top)) max(var(--space),env(safe-area-inset-right)) max(var(--space),env(safe-area-inset-bottom)) max(var(--space),env(safe-area-inset-left));
 gap:var(--space);background:#ffe9bc;container-type:size;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;
}
@media(orientation:portrait) and (max-width:900px){
 #expedition.game-stage:not([hidden]),#gameView.game-stage:not([hidden]){
  --game-turn:90deg;transform-origin:top left;transform:translateX(100vw) rotate(90deg);transform:translateX(100dvw) rotate(90deg);
  width:100vh;width:100dvh;height:100vw;height:100dvw;
  padding:max(var(--space),env(safe-area-inset-right)) max(var(--space),env(safe-area-inset-bottom)) max(var(--space),env(safe-area-inset-left)) max(var(--space),env(safe-area-inset-top));
 }
}
.game-stage .exp-nav{margin:0}
.game-stage .exp-back,.game-stage .exp-pass,#gameView.game-stage .game-quick-nav>.back-library{min-height:44px;margin:0;justify-self:start}
.game-stage .exp-board{display:grid;grid-template-columns:minmax(0,1fr) clamp(175px,32cqw,360px);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:clamp(5px,1cqw,14px);min-height:0;padding:var(--space);border-radius:18px;box-shadow:none}
.exp-window{display:grid;place-items:center;container-type:size;min-width:0;min-height:0;background:#eae7cf;border-radius:14px}
.game-stage .exp-theatre{width:min(100cqw,150cqh);height:auto;min-height:0;aspect-ratio:3/2;margin:0;border-radius:12px}
.game-stage .exp-backdrop{object-fit:contain;object-position:center}
.exp-sidebar{align-self:center;display:flex;flex-direction:column;justify-content:center;gap:clamp(5px,1.6cqh,14px);padding:0 clamp(3px,1cqw,14px);min-width:0}
.game-stage .exp-stage-head{padding:0;align-items:flex-start;flex-wrap:wrap;gap:4px;font-size:clamp(12px,2.9cqh,17px)}
.game-stage .exp-position img{width:24px;height:24px}
.game-stage .exp-round{font-size:clamp(10px,2.4cqh,14px);padding:4px 8px;align-self:center}
#expedition.game-stage .exp-task{padding:0;font-size:clamp(17px,5.5cqh,34px);line-height:1.08}
.game-stage .exp-equation-row{margin:1px 0 3px;justify-content:flex-start}
.game-stage .exp-sum-card{gap:clamp(3px,.7cqw,8px);padding:4px 7px;border-radius:12px}
.game-stage .exp-digit{width:clamp(19px,3.6cqw,43px);height:clamp(24px,8cqh,49px)}
.game-stage .exp-op,.game-stage .exp-unknown{font-size:clamp(16px,4.6cqh,26px)}
.game-stage .exp-tools{display:grid;gap:6px;padding:0}
.game-stage .exp-actions{justify-items:start;max-width:none}
.game-stage .exp-guide,.game-stage .exp-feedback{font-size:clamp(12px,3cqh,16px);line-height:1.23}
.game-stage .exp-action,.game-stage .exp-back,.game-stage .exp-pass{font-size:clamp(12px,2.9cqh,16px)}
.game-stage .exp-apples{left:10%;top:4%;width:48%;height:59%}
.game-stage .exp-targets{left:18%;right:4%;bottom:3%}
.game-stage [data-place="ceu"] .exp-targets{bottom:16%}
#expedition.game-stage .exp-target{height:clamp(50px,24cqh,108px)}
.game-stage .exp-target img,.game-stage .exp-apple img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#expedition.game-stage .exp-apple{width:clamp(44px,12cqh,74px)}
.game-stage .exp-number{font-size:clamp(16px,5cqh,29px);min-width:30px}
.game-stage .exp-finish{grid-template-columns:minmax(0,1fr) minmax(180px,42%);min-height:0}
.game-stage .exp-finish-scene{min-height:0;aspect-ratio:auto;background:#273e3b}
.game-stage .exp-finish-copy{padding:clamp(7px,1.7cqw,22px)}
.game-stage .exp-earned-seal{width:clamp(30px,12cqh,62px);height:clamp(30px,12cqh,62px)}
.game-stage .exp-finish h1{font-size:clamp(19px,6cqh,36px)}
.game-stage .exp-finish-actions{margin-top:7px;gap:5px}
.exp-held{opacity:.55}
.exp-drag-ghost{position:fixed!important;z-index:100;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--turn));margin:0;padding:4px 7px;gap:4px;box-shadow:0 7px 14px #30233f55}
#gameView.game-stage .play-board{display:grid;min-height:0;margin:0;padding:clamp(5px,2cqh,18px)}
#gameView.game-stage .play-mascot{display:none}
#gameView.game-stage #round{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto auto;gap:clamp(3px,1.5cqh,12px) clamp(8px,2cqw,24px);min-height:0;align-items:center}
#gameView.game-stage #clue{grid-column:1;grid-row:1/-1;height:100%;min-height:0}
#gameView.game-stage #round>:not(#clue){grid-column:2;margin:0}
#gameView.game-stage #roundInfo{grid-row:1}
#gameView.game-stage #question{grid-row:2;max-width:100%;font-size:clamp(18px,5.5cqh,32px)}
#gameView.game-stage #answers{grid-row:3;margin:0;align-self:center}
#gameView.game-stage #answers button{min-height:44px;min-width:0;padding:4px}
#gameView.game-stage #answers .number-toy{height:clamp(30px,11cqh,58px)}
#gameView.game-stage #feedback{grid-row:4;min-height:0}
#gameView.game-stage #advance,#gameView.game-stage #changeTopic{grid-row:5;justify-self:start;min-height:44px;font-size:clamp(12px,3cqh,16px);padding:4px 8px}
#gameView.game-stage #advance:not([hidden])~#changeTopic{justify-self:end}
#gameView.game-stage [hidden]{display:none!important}
@container (max-height:330px){.exp-sidebar .exp-guide{font-size:12px}.exp-sidebar:has(.exp-feedback:not(:empty)) .exp-guide{display:none}.game-stage .exp-position img{width:18px;height:18px}.game-stage .exp-stage-head{align-items:center}}

.game-quick-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}
.game-quick-nav .back-library{margin:0}
.game-sound{min-height:44px;padding:5px 12px;border:1px solid #b99061;border-radius:14px;background:#fffaf0;color:#254e4b;font:inherit;font-weight:750;cursor:pointer}
.exp-nav .game-sound{margin-left:auto}
.game-sound[aria-pressed="false"]{background:#ece8e1;color:#494d4b}

.question-actor{position:relative;display:block;pointer-events:none}
.question-actor>img,.question-actor>canvas{position:absolute;display:block;inset:0;width:100%;height:100%;object-fit:contain}
.question-actor>canvas[hidden]{display:none}
.exp-theatre>.question-actor{position:absolute;width:20%}
.quick-speaker{position:absolute;z-index:1;left:1%;bottom:3%;width:13%;height:29%}
.question-replay{min-height:44px;padding:4px 12px;border:1px solid #a87739;background:#fff6d8;border-radius:14px;color:#344c39;font:inherit;font-weight:750}
.game-quick-nav .game-sound{margin-left:auto}
.exp-nav .question-replay{order:1}
