.world-activity{position:absolute;inset:0;background:#f7f3e5;color:#3c594f;z-index:4;overflow:visible;font-family:inherit}.world-activity button{font:inherit;cursor:pointer;border:2px solid #b2d5d0;background:#fffdf5;border-radius:18px;padding:10px 20px;color:#365a52;box-shadow:0 3px 0 #b2d5d0}.world-activity button:hover{background:#e5f3e9}.world-activity button:disabled{cursor:default}.world-activity button:focus-visible,.world-map path:focus-visible{outline:4px solid #eea648;outline-offset:3px}.world-header{height:auto;text-align:center;padding:clamp(14px,2vh,22px) 280px clamp(14px,1.8vh,20px) 190px;box-sizing:border-box}.world-header h1{font-size:clamp(24px,3vw,46px);margin:0}.world-header p{margin:.6vh 0;font-size:clamp(14px,1.3vw,22px)}.world-header small{color:#8e977e}.world-body{display:grid;grid-template-columns:minmax(0,1fr) 225px;grid-template-rows:minmax(0,1fr);gap:clamp(16px,1.5vw,28px);height:auto;min-height:0;min-width:0;padding:0 2.5vw;box-sizing:border-box}.world-map{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;background:transparent;overflow:visible}.world-map svg{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;display:block}/* A single base fill for every country. Availability is shown by border weight. */
.world-map path{fill:#e7dcbc;stroke:#afab99;stroke-width:.65;fill-rule:evenodd;pointer-events:none;transition:fill .35s ease,stroke .2s ease}
.world-map path.active{pointer-events:auto;cursor:pointer;stroke:#8d9684;stroke-width:.85}
.world-map path.active.visited{fill:#91d7a0}
.world-map path.active:hover,.world-map path.active:focus-visible,.world-map path.active.selected{fill:#f6cd76;stroke:#a77936;stroke-width:1.6}
.world-map path.active.visited:hover,.world-map path.active.visited:focus-visible,.world-map path.active.visited.selected{fill:#91d7a0;stroke:#bc8a35;stroke-width:2.2}
.world-progress{display:flex;flex-direction:column;align-items:center;min-height:0;min-width:0;padding:4px 0 6px;gap:clamp(5px,.8vh,9px);text-align:center}.world-progress output{font-size:clamp(35px,4.3vw,72px);font-weight:900;white-space:nowrap;color:#c58041}.world-progress p{margin:0;font-size:14px}.world-legend{font-size:11px;color:#bb9c75}.world-legend span{color:#609d85}.world-progress label{font-size:14px;width:100%}.world-progress input{box-sizing:border-box;width:100%;padding:10px;border:1px solid #a6bb9a;background:#fffdf7;border-radius:12px;font:inherit;display:block;margin-top:5px}.world-country-list{flex:1;min-height:0;overflow-x:visible;overflow-y:auto;overscroll-behavior:contain;align-content:start;grid-auto-rows:max-content;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;box-sizing:border-box}.world-country-list button{padding:6px;font-size:13px;border-radius:11px}.world-progress .world-quiz-entry{font-size:14px;flex-shrink:0;background:#fae3a9}.world-opening{position:absolute;inset:0;background:#f7f3e5;z-index:20;overflow:hidden}.world-half{position:absolute;inset:0;background:#f7f3e5 url('assets/optimized/opening.webp?v=36e86cc3401a8b70036c66efe6b96a08ac0f26cb24e4cf597d9beaa452071655') center / contain no-repeat;transition:transform 1.2s cubic-bezier(.55,.03,.22,1)}.world-half.left{clip-path:inset(0 50% 0 0)}.world-half.right{clip-path:inset(0 0 0 50%)}.world-opening.split{background:transparent}.split .left{transform:translateX(-100%)}.split .right{transform:translateX(100%)}.world-opening-copy{position:absolute;top:37%;width:100%;text-align:center;text-shadow:0 2px 3px #fff,0 0 15px #fff,0 0 25px #fff}.world-opening-copy h2{opacity:0;transform:scale(.85);transition:opacity .5s,transform .5s;font-size:clamp(28px,4.5vw,76px);margin:0;color:#68462b}.world-opening-copy p{opacity:0;transition:opacity .5s;font-size:clamp(16px,1.8vw,30px);font-weight:bold;color:#68462b}.show-title h2{opacity:1;transform:scale(1)}.show-guide .world-opening-copy p{opacity:1}.fade-copy .world-opening-copy{opacity:0;transition:opacity .55s}.world-skip{position:absolute;right:3%;bottom:4%}.world-overlay{position:absolute;inset:0;background:#17372f99;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:15}.world-overlay[hidden],.world-activity [hidden]{display:none}.world-country-modal{position:relative;width:80%;height:92%;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.world-country-picture{height:72%;width:90%;object-fit:contain}.world-country-modal h2{font-size:clamp(28px,4vw,62px);color:#fff9e5;margin:0 0 1vh;text-shadow:0 3px 8px #17372f}.world-close{position:absolute;right:0;top:3%;font-size:26px!important}.world-image-status{color:white}.world-clear{background:#fff9e9;border:5px solid #c3d8ad;border-radius:40px;text-align:center;padding:5vh 4vw;max-width:80%;box-shadow:0 10px 0 #48645044}.world-clear h2{font-size:clamp(28px,4vw,64px);color:#b77b38;margin:0}.world-clear p{font-size:clamp(18px,2vw,28px)}.world-clear button{margin:8px}.world-clear output{font-size:70px;color:#5e9f83;font-weight:bold}.world-confetti{color:#dcaa45;font-size:45px;letter-spacing:20px}.world-quiz-panel{background:#fff9ec;border-radius:30px;box-sizing:border-box;width:88%;height:94%;padding:2vh 3vw;display:flex;flex-direction:column;align-items:center;gap:1vh}.world-quiz-panel header{display:flex;width:100%;align-items:center;justify-content:space-between;gap:15px}.world-quiz-panel h2{font-size:clamp(20px,2.2vw,36px);margin:0}.world-quiz-panel p{margin:0}.world-quiz-panel>img{height:0;flex:1;min-height:0;width:85%;object-fit:contain}.world-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;width:90%}.world-choices button{font-size:clamp(16px,1.8vw,27px)}.world-choices .correct{background:#b5e0ba;border-color:#4b9b69}.world-choices .wrong{background:#f5c7bd;border-color:#ce6d60}.world-save-warning{position:absolute;bottom:0;background:#fff0b8;z-index:30}.pop{animation:world-pop .35s}@keyframes world-pop{50%{transform:scale(1.15)}}.view:has(.world-activity)>.back{z-index:5;top:2%;bottom:auto;width:12%;max-width:170px}.view:has(.world-activity){height:100dvh;min-height:0}.stage:has(.world-activity){height:100dvh;min-height:0}@media(max-width:1000px){.world-body{grid-template-columns:minmax(0,1fr) 170px}.world-country-list button{font-size:11px;padding:5px}.world-activity button{padding:8px 12px}}@media(prefers-reduced-motion:reduce){.world-activity *{animation:none!important;transition:none!important}}
.activity-host:has(>.world-activity){inset:0;padding:0;border-radius:0;overflow:visible;background:#f7f3e5}
.world-map{border-radius:28px}.view:has(.world-overlay:not([hidden]))>.back{visibility:hidden}

.world-audio-controls{position:absolute;right:20px;top:50px;z-index:25;text-align:right;font-size:12px}
.world-audio-controls .world-sound-toggle{padding:7px 12px;font-size:13px;border-radius:12px}
.world-sound-info{margin-top:7px;color:#546857;max-width:280px}
.world-sound-info summary{cursor:pointer;display:list-item;list-style-position:inside}
.world-sound-info[open]{padding:10px;background:#fffdf4;border:1px solid #c2d2b8;border-radius:12px;box-shadow:0 3px 10px #31453622}
.world-sound-info p{font-size:12px;line-height:1.5;margin:7px 0;overflow-wrap:anywhere}
.world-clear-actions{display:flex;justify-content:center;align-items:stretch;gap:24px;margin-top:28px}
.world-mission-clear .world-clear-actions button{margin:0;width:220px;min-height:64px;padding:13px 26px;font-size:21px;transition:transform .16s ease,background .16s ease;flex:1}
.world-mission-clear .world-clear-actions button:hover{transform:scale(1.045)}
.world-mission-clear{max-width:min(90%,820px)}
.world-mission-clear h2{animation:world-clear-title .45s ease-out both}
.world-legend{color:#9c926f}.world-legend span{color:#5aa36c}
@keyframes world-clear-title{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@media(max-width:1000px){.world-mission-clear .world-clear-actions button{width:195px;min-height:62px;font-size:19px}.world-clear-actions{gap:20px}}

/* Keep the opening picture and split timing; fade the complete text panel first. */
.world-opening-copy{top:50%;left:50%;width:max-content;max-width:90%;transform:translate(-50%,-50%);padding:24px 38px;border-radius:30px;background:rgba(255,248,229,.88);box-shadow:0 5px 24px #5d442018;text-shadow:none;opacity:0;transition:opacity .5s ease;box-sizing:border-box}
.world-opening.show-title .world-opening-copy{opacity:1}
.world-opening-copy h2{font-size:clamp(32px,4.3vw,72px);font-weight:900;color:#59391f;line-height:1.2;letter-spacing:-.035em;text-shadow:none}
.world-opening-copy p{font-size:clamp(17px,1.8vw,29px);font-weight:700;color:#59391f;line-height:1.45;margin:14px 0 0;text-shadow:none}
.world-opening-copy .world-opening-en{font-size:clamp(15px,1.45vw,23px);font-weight:500;font-style:italic;margin-top:8px;color:#66452d}
.world-opening.fade-copy .world-opening-copy{opacity:0;transition:opacity .55s ease}
.world-quiz-feedback{min-height:1.5em;font-size:clamp(18px,2vw,28px);font-weight:800;outline:none}
.world-quiz-feedback.is-correct{color:#2f8250}.world-quiz-feedback.is-wrong{color:#b8493e}
@media(max-width:900px){.world-opening-copy{padding:20px 24px;border-radius:24px}}

/* Real equal-area cylindrical rectangle; preserve the complete projected extent. */
.world-map{background:transparent;border-radius:0;overflow:visible}
.world-map .world-ocean{fill:#d9eef1;stroke:#a1c6ca;stroke-width:1.25;pointer-events:none}
.world-map svg{flex-shrink:0;overflow:visible}

/* A01-01 only: reserve the complete bilingual header, then fit both map axes.
   SVG preserveAspectRatio="xMidYMid meet" contains the projection-native SVG extent. */
.world-activity{display:grid;grid-template-rows:auto minmax(0,1fr);padding-bottom:clamp(12px,2vh,24px);box-sizing:border-box}
.world-header small{display:block;line-height:1.4}
.world-header h1{line-height:1.2}
.world-header p{line-height:1.4}
.world-header .world-header-en{font-size:clamp(12px,1.05vw,18px);margin-bottom:0;color:#687c68}
.world-progress>:not(.world-country-list){flex-shrink:0}
.stage:has(.world-activity){width:100%;height:100dvh;min-height:0;aspect-ratio:auto;overflow:visible}
.view:has(.world-activity){inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;translate:none}
@media(max-width:1000px){.world-header{padding-left:150px;padding-right:210px}.world-header h1{font-size:28px}}

/* A01-01: compact the header and reclaim horizontal gutters, preserving SVG geometry. */
.world-header{padding:4px 280px 4px 180px}
.world-title-row,.world-guide-row{display:flex;align-items:center;justify-content:center;gap:12px}
.world-title-row h1{font-size:clamp(24px,2vw,34px);line-height:1.1}
.world-title-row small{font-size:11px;line-height:1.2;white-space:nowrap}
.world-guide-row p{font-size:clamp(11px,.9vw,14px);line-height:1.2;margin:0;white-space:nowrap}
.world-guide-row .world-header-en{font-size:clamp(10px,.8vw,13px);margin:0}
.world-body{padding-left:clamp(8px,1vw,16px);column-gap:clamp(8px,.6vw,12px)}
.world-activity{padding-bottom:clamp(8px,1vh,12px)}
@media(max-width:1100px){
 .world-header{padding-left:150px;padding-right:210px}
 .world-guide-row{flex-wrap:wrap;gap:2px 10px}
 .world-title-row{gap:8px}
}
/* Keep sound controls in the compact header, clear of the exploration counter. */
.world-audio-controls{top:8px;display:flex;flex-direction:row-reverse;align-items:center;gap:10px}
.world-sound-info{margin-top:0}
.world-sound-info[open]{position:absolute;right:0;top:40px;width:280px;text-align:left}

/* The picture itself closes the country modal; keep its former visual dimensions. */
.world-activity .world-picture-close{height:72%;width:90%;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;display:block;flex-shrink:0}
.world-activity .world-picture-close:hover{background:transparent}
.world-picture-close .world-country-picture{height:100%;width:100%;display:block;object-fit:contain}
.world-overlay.world-country-closing{opacity:0;transition:opacity .16s ease-out}

/* Korea-only one-shot SVG orbit; decorative stars never intercept picture clicks. */
.world-activity .world-picture-close{position:relative}
.world-korea-stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
@media(prefers-reduced-motion:reduce){.world-korea-stars{display:none}}

/* A01-01 explorer desk: decoration sits behind the original live SVG and search. */
.world-activity{background:#b9814c url('assets/explorer-desk.png?v=78117cd372386b5d92c7ed4d65c3487f236e9a43b1e94775f404538843bc0644') center / 100% 100% no-repeat;display:block;padding:0;overflow:hidden;color:#59452e}
.world-header{position:absolute;top:2%;left:30%;width:42%;padding:8px 12px;background:#fff4d9ed;border:1px solid #cba56d;border-radius:18px;box-shadow:0 4px 12px #66391420;z-index:1}
.world-title-row{flex-direction:column;gap:2px}.world-title-row small{color:#7d623c}.world-title-row h1{font-size:clamp(23px,2.1vw,36px)}
.world-guide-row{flex-direction:column;gap:3px;margin-top:5px}.world-guide-row p{font-size:clamp(11px,.88vw,15px);white-space:normal}.world-guide-row .world-header-en{font-size:clamp(10px,.78vw,13px);color:#7a674e}
.world-body{position:absolute;inset:22% 3% 16% 9%;display:grid;grid-template-columns:minmax(0,1fr) 20%;gap:3.6%;padding:0;min-height:0}
.world-map{min-height:0;min-width:0}.world-map svg{overflow:visible;object-fit:contain}
.world-map .world-ocean{fill:#d9eef1;stroke:#a1c6ca}.world-map path{fill:#e7dcbc}
.world-progress{gap:clamp(3px,.7vh,8px);padding:0 2%;box-sizing:border-box;color:#654b2e}
.world-progress output{font-size:clamp(30px,3.7vw,64px);color:#956529;line-height:1.1}.world-progress p{font-size:clamp(11px,.8vw,14px)}
.world-progress label{font-size:clamp(12px,.85vw,15px)}.world-progress input{padding:7px;background:#fff7e6db;border-color:#c5a16e;border-radius:9px}
.world-country-list{gap:5px;padding:3px}.world-country-list button{padding:4px 2px;border-color:#d6bb88;background:#fff7e5c9;color:#694923;font-size:clamp(10px,.75vw,13px);box-shadow:0 2px 0 #c8aa7f;border-radius:9px}
.world-progress .world-quiz-entry,.world-progress .world-completed-entry{padding:5px 7px;font-size:clamp(10px,.8vw,14px);border-color:#caa365;background:#ffefc7;box-shadow:0 2px 0 #b99560}
.world-activity .world-sound-toggle{background:#fff5def0;border-color:#b48b50;color:#654a2c;box-shadow:0 2px 0 #a98149}.world-audio-controls{top:2%;right:2%;max-width:23%;z-index:25}.world-sound-info summary{background:#fff5def0;padding:5px;border-radius:8px;color:#654a2c}
.world-save-warning{bottom:0;margin:0;font-size:13px;padding:4px 12px}
.world-challenge-info{display:none}.world-activity.is-challenge .world-progress{display:none}.world-activity.is-challenge .world-challenge-info{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1vh;color:#654522;padding:0 3%}
.world-challenge-info h2{font-size:clamp(21px,1.7vw,31px);line-height:1.4;margin:5px 0}.world-challenge-info output{font-size:clamp(29px,3vw,52px);font-weight:900;color:#ab7733}.world-challenge-info p{font-size:clamp(13px,1vw,18px);margin:5px 0}.world-challenge-info button{font-size:clamp(12px,.9vw,16px);padding:8px}
.world-activity.is-challenge .world-map path.visited,.world-activity.is-challenge .world-map path.selected{fill:#e7dcbc}
.world-activity.is-challenge .world-map path.active:focus-visible{fill:#e7dcbc}
.world-activity.is-challenge .world-map path.answer-reveal{fill:#f2b73e!important;stroke:#794210!important;stroke-width:3;animation:world-answer-pulse .55s ease-in-out infinite alternate}
@keyframes world-answer-pulse{to{fill:#fff1a6;stroke-width:5}}
@media(max-height:800px){.world-header{padding:5px 8px}.world-guide-row{margin-top:3px}.world-audio-controls .world-sound-toggle{font-size:11px;padding:5px 8px}.world-sound-info{font-size:10px}.world-country-list{gap:3px}.world-country-list button{font-size:10px}}

.world-challenge-info h2{word-break:keep-all;overflow-wrap:normal}

/* Only the ten-country mission-clear popup uses the illustrated journal. */
.world-activity .world-mission-clear{position:relative;isolation:isolate;width:min(90vw,135vh,1180px);max-width:90%;aspect-ratio:3/2;box-sizing:border-box;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.world-mission-clear .world-journal-background{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;z-index:-1}
.world-mission-clear h2{position:absolute;top:22%;left:15%;right:15%;margin:0;font-size:clamp(34px,4.5vw,68px);line-height:1.2;color:#765029;text-shadow:0 2px 0 #fff4d5}
.world-mission-clear>p{position:absolute;top:38%;left:15%;right:15%;margin:0;font-size:clamp(22px,2.4vw,36px);line-height:1.35;color:#735839;font-weight:700}
.world-mission-clear .world-clear-actions{position:absolute;inset:49% 13% 13%;display:flex;align-items:center;justify-content:center;gap:5%;margin:0}
.world-activity .world-mission-clear .world-clear-actions button{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;width:auto;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:12px;background:transparent;box-shadow:none;transition:transform .16s ease}
.world-activity .world-mission-clear .world-clear-actions button:hover{background:transparent;transform:translateY(-4px) scale(1.025)}
.world-mission-clear .world-clear-actions img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
@media(max-height:800px){.world-mission-clear h2{font-size:clamp(32px,7vh,56px)}.world-mission-clear>p{font-size:clamp(20px,3.8vh,30px)}}

/* Shared original journal artwork for A01-01 completion and result dialogs only. */
.world-activity .world-journal{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:min(92vw,145vh,1220px);max-width:92%;min-height:min(82vh,760px);max-height:94vh;padding:clamp(65px,9vh,108px) clamp(70px,8vw,140px);border:0;border-radius:0;box-shadow:none;background:transparent;color:#735331;text-align:center}
.world-journal::before{content:'';position:absolute;inset:0;z-index:-1;background:url('clear-assets/explorer-journal.png?v=6fcdedd2f2ec9bcc3c8f16c131e9e393a21088fed4d0c0544d07750fc17b55ea') center / 100% 100% no-repeat;pointer-events:none}
.world-activity .world-journal h2{position:static;font-size:clamp(27px,2.7vw,46px);line-height:1.3;color:#765029;margin:6px 0 8px;word-break:keep-all}
.world-activity .world-journal>p{font-size:clamp(16px,1.3vw,23px);line-height:1.4;margin:5px 0 10px;word-break:keep-all}
.world-journal>small{font-size:clamp(12px,1vw,17px);letter-spacing:.05em;color:#92764d}
.world-quiz-panel{position:relative}
.world-activity .world-map-back{display:flex;align-items:center;justify-content:center;width:clamp(95px,10vw,170px);height:clamp(64px,9vh,105px);padding:0;border:0;border-radius:10px;box-shadow:none;background:transparent;flex-shrink:0}
.world-activity .world-map-back:hover{background:transparent;transform:translateY(-2px)}
.world-map-back img{display:block;width:100%;height:100%;object-fit:contain}
.world-quiz-feedback.is-correct{position:absolute;z-index:5;left:50%;top:46%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;color:#2e9a51;font-size:clamp(74px,9vw,152px);line-height:1.2;font-weight:1000;text-shadow:3px 3px 0 #fff9dc,-3px -3px 0 #fff9dc,0 6px 16px #314b4944;animation:world-correct-celebrate .85s ease-out both}
@keyframes world-correct-celebrate{0%{opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(-5deg)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(2deg)}55%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-height:800px){.world-activity .world-journal{padding:62px 9%;min-height:82vh}.world-activity .world-journal h2{font-size:clamp(25px,3.7vh,31px)}.world-activity .world-journal>p{font-size:16px;line-height:1.35;margin:3px 0 7px}}

/* Country art lands only in the existing desk margin; map/body geometry is untouched. */
.world-stickers{position:absolute;left:9%;right:3%;bottom:1%;height:14%;box-sizing:border-box;margin:0;padding:var(--sticker-padding,10px);list-style:none;display:grid;grid-template-rows:repeat(2,var(--sticker-height,80px));grid-auto-columns:var(--sticker-width,100px);column-gap:var(--sticker-column-gap,12px);row-gap:var(--sticker-row-gap,26px);overflow:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b38a55 transparent;background:none;border:0;box-shadow:none;z-index:2}
.world-stickers li{width:var(--sticker-width,80px);height:var(--sticker-height,40px);min-width:0;min-height:0;margin:0;padding:0;border:0;background:none;box-shadow:none;transform:rotate(var(--sticker-tilt,0deg));pointer-events:none;scroll-snap-align:start;scroll-margin-top:var(--sticker-padding,10px)}
.world-stickers img{display:block;width:100%;height:100%;object-fit:contain;border:0;background:none;filter:drop-shadow(0 2px 2px #4b291f33);user-select:none;pointer-events:none}
.world-sticker-flight{position:absolute;z-index:40;object-fit:contain;pointer-events:none;transform-origin:center;filter:drop-shadow(0 3px 3px #4b291f33);will-change:transform}

.world-stickers::-webkit-scrollbar{height:5px;width:5px}.world-stickers::-webkit-scrollbar-thumb{background:#b38a55;border-radius:5px}.world-stickers::-webkit-scrollbar-track{background:transparent}

/* Mission text stays inside the existing parchment; map and desk geometry remain unchanged. */
.world-mission-countries{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:clamp(2px,.3vw,6px);margin:9px 0 3px;min-width:0;white-space:nowrap;font-size:clamp(20px,1.76vw,34px);font-weight:700;line-height:1.4;color:#654b2e}
.world-mission-countries [data-mission-country]{display:inline-block;flex:0 0 auto;box-sizing:border-box;padding:3px clamp(2px,.22vw,4px);border:2px solid transparent;border-radius:9px}
.world-mission-countries .is-found{border-color:#85bf61;background:#eef8d8aa;animation:world-mission-found .32s ease-out both}
@keyframes world-mission-found{0%{transform:scale(.78)}65%{transform:scale(1.13)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.world-mission-countries .is-found{animation:none}}

/* Large mission names sit on the map paper above the unchanged SVG. */
.world-mission-countries{position:absolute;top:calc(19% - 30px);left:9%;right:25%;margin:0;z-index:2;gap:clamp(4px,.6vw,12px)}

/* Only the live SVG transforms: country paths and artwork always share one coordinate system. */
.world-map{position:relative;overflow:hidden;touch-action:none;isolation:isolate}
.world-map>svg{transform-origin:0 0;will-change:transform}
.world-map.is-zoomed{cursor:grab}.world-map.is-panning{cursor:grabbing;user-select:none}
.world-map.is-panning svg{pointer-events:none}
.world-zoom-controls{position:absolute;right:8px;bottom:8px;z-index:4;display:flex;align-items:center;gap:4px;cursor:default}
.world-activity .world-zoom-controls button{padding:4px 9px;min-width:32px;border:1px solid #b79059;border-radius:6px;background:#fff0cbef;color:#694923;box-shadow:0 2px 0 #a17d4a;font-size:16px;line-height:1.3}
.world-zoom-controls button:disabled{opacity:.5}.world-zoom-controls output{font-size:12px;background:#fff1d6df;border-radius:4px;padding:3px;color:#654b2e}
.world-activity.is-challenge .world-zoom-controls{display:none}
.world-stickers li[data-sticker]{pointer-events:auto;cursor:pointer}
.world-stickers li[data-sticker]:focus-visible{outline:3px solid #eea648;outline-offset:2px;border-radius:9px}
.world-map-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;pointer-events:none;width:max-content;max-width:88%;box-sizing:border-box;padding:20px 28px;border:1px solid #b39059;border-radius:14px;background:#fff3d8f5;box-shadow:0 6px 24px #50351544;text-align:center;color:#533a22;opacity:1}
.world-map-guide strong{display:block;font-size:clamp(19px,1.7vw,32px);line-height:1.5;word-break:keep-all}
.world-map-guide span{display:block;font-size:clamp(13px,1vw,19px);margin-top:6px}
.world-map-guide.is-leaving{transform:translate(-50%,calc(-50% + 80px));opacity:0;transition:transform 900ms ease-in,opacity 900ms ease-in}
@media(prefers-reduced-motion:reduce){.world-map>svg,.world-map-guide.is-leaving{transition:none!important}}
.world-activity.is-challenge .world-mission-countries{display:none}

/* Pacific map and notebook-free desk preview; previous art and map are retained. */
.world-activity{background-image:url('assets/optimized/explorer-desk-hint-v2.webp?v=7847e90dd5e7b05c1ca8694256022abeb28bc9b2be1b2dc417138228d29311cc')}
.world-body{inset:24% 5% 18% 8%;grid-template-columns:minmax(0,1fr);gap:0}
.world-mission-countries{left:9%;right:7%;color:#183d65;gap:clamp(6px,.6vw,12px)}
.world-mission-countries [data-mission-country]{background:#fff9eaf5;border-color:#d1b58180;box-shadow:0 2px 5px #55371422;text-shadow:0 1px 0 white;padding:4px 7px;border-radius:8px}
.world-mission-countries .is-found{color:#185c35;background:#e4f7d8;border-color:#6baa45;text-shadow:none}
.world-map .world-ocean{fill:#a7c1da;stroke:#6689ad;stroke-width:1}
.world-map path{fill:#fffefb;stroke:#9bb2c7;stroke-width:.65}
.world-map path.active{fill:#fffefb;stroke:#6588a7;stroke-width:1}
.world-map path.active.visited{fill:#bcdfc3;stroke:#5c9467}
.world-map path.active:hover,.world-map path.active:focus-visible,.world-map path.active.selected{fill:#ffe4a0;stroke:#9e6b24;stroke-width:1.8}
.world-map path.active.mission-hint{fill:#ffdc5d;stroke:#a45c15;stroke-width:2.5;animation:world-missing-glow .65s ease-in-out infinite alternate}
@keyframes world-missing-glow{from{fill:#ffe97e;filter:drop-shadow(0 0 2px #ffba32)}to{fill:#ffcc38;filter:drop-shadow(0 0 8px #ffb000);stroke:#df8b0f}}
.world-study-actions{position:absolute;right:3%;top:12%;z-index:5;display:flex;gap:7px;align-items:center}
.world-activity .world-study-actions button{padding:8px 14px;border:1px solid #b48d53;border-radius:10px;background:#fff1d4f5;box-shadow:0 3px 0 #b28b54;color:#68471f;font-size:clamp(12px,1vw,18px);font-weight:800}
.world-hint-status{position:absolute;right:4%;top:18%;margin:0;z-index:5;font-size:clamp(12px,.85vw,16px);color:#5a421e;background:#fff5dfed;border-radius:7px;padding:4px 9px;pointer-events:none}
.world-hint-status:empty{display:none}
.world-activity.is-challenge .world-study-actions,.world-activity.is-challenge .world-hint-status{display:none}
.world-activity.is-challenge .world-body{grid-template-columns:minmax(0,1fr) 20%;gap:3.6%}
.world-activity.is-challenge .world-map path.active{fill:#fffefb}
@media(prefers-reduced-motion:reduce){.world-map path.active.mission-hint{animation:none;fill:#ffda4a;stroke:#a45c15;filter:drop-shadow(0 0 4px #ffb000)}}

.world-entry-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#fbf1d8;color:#654b2e;font-size:clamp(18px,2vw,30px);text-align:center}.world-entry-loading span{font-size:.65em}

/* Larger exploration sheet; the original assets and challenge layout remain available. */
.world-activity:not(.is-challenge){height:118vh;bottom:auto;background-size:105% 112%;background-position:center 75%}
.world-activity:not(.is-challenge) .world-body{inset:18vh 3% auto 3%;height:73.66vh}
.world-activity:not(.is-challenge) .world-mission-countries{top:12vh;left:5%;right:5%}
.world-activity:not(.is-challenge) .world-stickers{top:94vh;bottom:auto;height:22vh}
.view:has(.world-activity:not(.is-challenge)){overflow-y:auto;overflow-x:hidden}
.world-study-actions{top:1vh;right:2%;gap:12px;flex-wrap:wrap;justify-content:flex-end;max-width:25%}
.world-activity .world-study-actions .world-completed-entry{padding:0;border:0;background:none;box-shadow:none;border-radius:8px;width:clamp(160px,13vw,250px)}
.world-completed-entry img{display:block;width:100%;height:auto}
.world-activity .world-study-actions .world-hint{position:absolute;top:9vh;right:0;background:#286b60;color:#fff9dd;border-color:#d2bf84;box-shadow:0 3px 0 #15453d}
.world-activity .world-study-actions .world-hint:hover{background:#368777}
.world-hint-status{top:15vh;right:2%;max-width:220px}
.world-map .world-ocean{fill:#a9c6be;stroke:#6e9288}
.world-map path{fill:#f7edcf;stroke:#b9a884}
.world-map path.active{fill:#fff2cd;stroke:#877b58;stroke-width:1}
.world-map path.active.visited{fill:#b9d5aa;stroke:#607c49}

.world-study-actions{top:8vh}
.world-activity>.world-hint{position:absolute;top:12vh;left:3%;z-index:5;padding:9px 16px;background:#286b60;color:#fff9dd;border:2px solid #d2bf84;box-shadow:0 3px 0 #15453d;border-radius:10px;font-weight:800}
.world-activity>.world-hint:hover{background:#368777}
.world-activity.is-challenge>.world-hint{display:none}
.world-hint-status{top:8vh;left:3%;right:auto}

.world-activity:not(.is-challenge)>.world-opening,.world-activity:not(.is-challenge)>.world-overlay{height:100vh;bottom:auto}

/* Keep a complete sticker row visible, with its top just overlapping the map edge. */
.world-activity:not(.is-challenge) .world-stickers{top:calc(100vh - var(--sticker-height,109px) - 2 * var(--sticker-padding,12px) - 14px);height:calc(var(--sticker-height,109px) + 2 * var(--sticker-padding,12px) + 6px)!important;pointer-events:none}
