@import url('../fonts.css');
:root{--ink:#235846;--paper:#fffdf1;--yellow:#ffd05b;--orange:#d65b2c;--font:'Nunito','Trebuchet MS',sans-serif;--display:'Fredoka','Trebuchet MS',sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#b6e0ec;color:var(--ink);font:16px/1.4 var(--font)}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:800 1rem var(--font);color:var(--ink)}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #d45826;outline-offset:4px}button:disabled{cursor:default;opacity:.65}button{touch-action:manipulation}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}h1,h2,p{margin:0}h1,h2{font-family:var(--display);font-weight:500;line-height:1.07}.eyebrow{font-size:.75rem;font-weight:900;letter-spacing:.1em}#adventure{position:relative;width:100%;height:100dvh;isolation:isolate}#valley{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.game-header{position:absolute;left:28px;right:28px;top:max(22px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:15px;pointer-events:none}.game-header>*{pointer-events:auto}.game-brand{font:600 1.85rem/1 var(--display);letter-spacing:-.04em;text-shadow:0 2px 0 #fff9}.game-brand>span{color:var(--orange)}.game-brand>small{display:block;font:900 .75rem var(--font);letter-spacing:.18em;margin-top:7px}.top-actions{display:flex;align-items:center;gap:9px}.top-actions button,.back-books{border:1px solid #fff9;background:#fffdf1e8;border-radius:50px;padding:12px 17px;min-height:46px;font-size:.85rem;font-weight:900;box-shadow:0 3px 0 #254b3e15}.top-actions #help-open{width:46px;padding:8px;font-size:1.2rem}.top-actions button[aria-pressed=false]{background:var(--yellow)}.quest-card{position:absolute;top:113px;left:28px;width:min(340px,calc(100vw - 56px));border:2px solid #fff;background:var(--paper);border-radius:24px;padding:23px 24px 20px;box-shadow:0 6px 0 #294d3920}.quest-card .eyebrow{font-size:.75rem;letter-spacing:.07em;color:#a74723}.quest-card h1{font-size:2rem;margin:11px 0 12px}.quest-card>p:not(.eyebrow){font-size:.98rem;min-height:43px}.quest-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;padding-top:14px;border-top:1px solid #dce3cd}.quest-bottom button{border:0;background:transparent;padding:6px 0;font-size:.83rem}.quest-bottom button:hover{text-decoration:underline}.quest-bottom>span{font-size:.75rem;white-space:nowrap;font-weight:900}.mission-rail{position:absolute;right:28px;top:113px;display:flex;flex-direction:column;gap:10px}.mission-rail>button{display:flex;align-items:center;gap:11px;background:#fffdf1e8;border:2px solid transparent;border-radius:18px;padding:11px 13px;min-height:66px;text-align:left;box-shadow:0 4px 0 #254b3e15;min-width:183px}.mission-rail>button[aria-pressed=true]{border-color:var(--ink);background:var(--yellow)}.mission-number{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#23584613;font-family:var(--display);font-size:1.15rem}.mission-rail small{display:block;font-size:.75rem;font-weight:700;margin-top:3px}.mission-rail b{margin-left:auto}.mission-rail>button.complete b:after{content:'✓';font-size:1.2rem}.team-bar{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:9px;background:#fffcf0e8;border:1px solid #fff;border-radius:25px;box-shadow:0 7px 0 #294d3920}.team-bar>button{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border:2px solid transparent;border-radius:17px;background:transparent;white-space:nowrap;text-align:left;font:500 1.2rem var(--display)}.team-bar>button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.team-bar>button[aria-pressed=false]:hover{background:#e7edce}.team-bar img{width:48px;height:48px;object-fit:cover;border-radius:11px}.team-bar small{display:block;font:800 .75rem var(--font);margin-top:3px}.action-dock{position:absolute;left:50%;bottom:141px;transform:translateX(-50%);text-align:center;max-width:min(600px,90vw);width:max-content}.action-dock>p{background:#fffdf1e8;box-shadow:0 2px 6px #254b3e15;padding:7px 14px;border-radius:14px;font-size:.86rem;font-weight:800;margin:0 auto 11px;width:fit-content}.action-row{display:flex;align-items:center;justify-content:center;gap:12px}#action{display:flex;align-items:center;justify-content:center;gap:22px;min-height:61px;padding:16px 28px;border:2px solid #fff7;border-radius:50px;background:var(--ink);color:var(--paper);box-shadow:0 6px 0 #183f33;font-size:1.05rem;touch-action:none;user-select:none}#action:not(:disabled):hover{background:#164d39}#action.hold{background:var(--yellow);color:var(--ink);box-shadow:0 6px 0 #b27b27}#action-symbol{font-size:1.4rem}.help-meter{width:150px;background:var(--paper);border-radius:15px;padding:12px 14px}progress{width:100%;height:10px;border:0;background:#dbe4c9;border-radius:8px;overflow:hidden}progress::-webkit-progress-bar{background:#dbe4c9}progress::-webkit-progress-value{background:#e5843f}progress::-moz-progress-bar{background:#e5843f}.help-meter small{display:block;font-size:.75rem;margin-top:5px}.keyboard-note{position:absolute;bottom:31px;left:28px;max-width:140px;font-size:.75rem;font-weight:800;line-height:2;background:#fff8;border-radius:10px;padding:6px 10px}.keyboard-note span{display:inline-block;margin:0 4px}kbd{font:800 .75rem var(--font)}.movement-pad{position:absolute;bottom:142px;left:28px;display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,45px);gap:5px}.movement-pad button{font-size:1.5rem;border:1px solid #fff9;background:#fffdf1d9;border-radius:13px;box-shadow:0 3px 0 #254b3e24;touch-action:none;user-select:none}.movement-pad button:first-child{grid-column:2}.movement-pad button:nth-child(2){grid-row:2;grid-column:1}.movement-pad button:nth-child(3){grid-row:2;grid-column:2}.movement-pad button:nth-child(4){grid-row:2;grid-column:3}#world-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}#world-labels>span{position:absolute;top:0;left:0;background:#fffdf1b8;padding:5px 9px;border-radius:7px;font-size:.75rem;font-weight:900;letter-spacing:.05em;white-space:nowrap;will-change:transform}.arrival{position:absolute;left:50%;top:95px;transform:translateX(-50%);background:var(--ink);color:var(--paper);border-radius:17px;padding:10px 20px;font:500 1.3rem var(--display);box-shadow:0 4px 0 #183f3325;max-width:60vw;text-align:center;pointer-events:none}.arrival:empty{display:none}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:#d9ecdc;z-index:9;font:500 1.8rem var(--display)}.loading-mark{font-size:4rem;color:var(--orange);animation:spin 5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#fallback{position:absolute;inset:0;z-index:10;background:#d9ecdc;display:grid;place-items:center;padding:25px}#fallback>div{max-width:520px;background:var(--paper);border-radius:28px;padding:35px}#fallback h2{font-size:2.5rem;margin:15px 0}#fallback p{margin-bottom:22px}#fallback a,.solid-button{display:inline-block;background:var(--ink);border:none;border-radius:50px;color:var(--paper);font:900 1rem var(--font);padding:15px 23px}#fallback button{display:block;border:0;background:transparent;padding:12px 0;margin-top:12px}dialog{max-width:min(580px,92vw);max-height:90dvh;border:0;border-radius:28px;padding:36px;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px #173e3944}dialog::backdrop{background:#15463c80;backdrop-filter:blur(5px)}dialog .eyebrow{padding-right:25px;color:#a74723}dialog h2{font-size:2.5rem;margin:14px 0 20px}.dialog-close{position:absolute;right:12px;top:12px;width:44px;height:44px;background:none;border:0;border-radius:50%;font-size:1.2rem}.dialog-close:hover{background:#e3ebd3}dialog ol{padding-left:22px}dialog li{margin-bottom:12px}dialog>p:not(.eyebrow){margin-bottom:22px;font-size:.94rem}.grownup-controls{margin-top:24px;border-top:1px solid #d3ddc5;padding-top:18px;font-size:.875rem;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.grownup-controls label{display:flex;align-items:center;gap:8px;min-height:44px}.grownup-controls input{accent-color:var(--ink);width:20px;height:20px}.grownup-controls button{font-size:.8rem;padding:8px 0;border:0;background:none;text-decoration:underline}#celebration{text-align:center;width:min(510px,92vw)}.celebration-star{display:block;color:#e69736;font-size:4rem;line-height:1;margin-top:16px}.celebration-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.celebration-actions a,.celebration-actions>button:not(.solid-button){font-weight:900;font-size:.875rem;padding:10px;border:0;background:transparent}.no-script{position:absolute;inset:0;display:grid;place-content:center;background:var(--paper);z-index:20;padding:25px}.no-script a{text-decoration:underline}
@media(max-width:1200px){.keyboard-note{display:none}.team-bar>button{gap:7px;padding-right:9px}.team-bar small{font-size:.75rem}.quest-card{width:305px;padding:20px}.quest-card h1{font-size:1.8rem}.mission-rail>button{min-width:160px}.movement-pad{bottom:154px;grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,43px)}.team-bar img{width:42px;height:42px}.team-bar{bottom:20px}.action-dock{bottom:128px}}@media(max-width:900px){.game-header{top:16px;left:18px;right:18px}.game-brand{font-size:1.5rem}.top-actions{gap:6px}.top-actions button,.back-books{font-size:.75rem;padding:10px 12px}.back-books{display:none}.quest-card{top:92px;left:18px;width:275px;padding:18px}.quest-card h1{font-size:1.65rem}.quest-card>p:not(.eyebrow){font-size:.875rem}.quest-card .eyebrow{font-size:.75rem;letter-spacing:0}.quest-bottom{margin-top:12px;padding-top:10px}.mission-rail{right:18px;top:92px;gap:7px}.mission-rail>button{min-width:140px;padding:9px;font-size:.875rem;min-height:60px}.mission-number{width:27px;height:27px}.team-bar{gap:4px;padding:7px;width:max-content;max-width:94vw}.team-bar>button{padding:5px;font-size:1rem;gap:6px}.team-bar small{font-size:.75rem;max-width:90px;white-space:normal}.team-bar img{width:38px;height:43px}.movement-pad{left:18px;bottom:138px;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:4px}.action-dock{bottom:127px;left:auto;right:20px;transform:none;max-width:calc(100vw - 180px)}#action{font-size:.95rem;min-height:54px;padding:13px 21px}.action-dock>p{font-size:.8rem}.arrival{top:80px;max-width:55vw;left:50%;font-size:1.1rem;z-index:3}.help-meter{width:118px}}
@media(max-width:600px){.game-header{top:max(12px,env(safe-area-inset-top));left:13px;right:13px}.game-brand{font-size:1.28rem}.game-brand>small{font-size:.75rem;letter-spacing:.08em;margin-top:4px}.top-actions #view-toggle{display:none}.top-actions button{padding:9px 11px;min-height:40px}.top-actions #help-open{width:40px;min-height:40px}.quest-card{top:83px;left:12px;right:12px;width:auto;padding:13px 16px;border-radius:20px}.quest-card .eyebrow{font-size:.75rem}.quest-card h1{font-size:1.55rem;margin:5px 0 6px}.quest-card>p:not(.eyebrow){font-size:.875rem;min-height:0;line-height:1.4}.quest-bottom{margin-top:9px;padding-top:6px}.quest-bottom button{font-size:.8rem;min-height:30px}.quest-bottom>span{font-size:.75rem}.mission-rail{top:auto;bottom:218px;right:12px;gap:6px}.mission-rail>button{min-width:0;padding:7px 8px;border-radius:13px;min-height:40px;gap:6px;font-size:.8rem}.mission-rail small{display:none}.mission-number{width:24px;height:24px;font-size:.875rem}.mission-rail b:empty{display:none}.team-bar{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));transform:none;max-width:none;width:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:5px;gap:3px;border-radius:20px}.team-bar>button{flex-direction:column;text-align:center;gap:4px;padding:6px 2px;border-radius:14px;font-size:1rem}.team-bar img{width:35px;height:29px;border-radius:7px}.team-bar small{display:none}.action-dock{right:13px;bottom:116px;max-width:calc(100vw - 135px)}.action-dock>p{font-size:.75rem;margin-bottom:7px;padding:5px 9px;border-radius:10px;max-width:230px}#action{font-size:.875rem;min-height:52px;padding:12px 18px;gap:9px}.movement-pad{left:12px;bottom:113px;grid-template-columns:repeat(3,33px);grid-template-rows:repeat(2,35px);gap:4px}.movement-pad button{font-size:1.2rem;border-radius:10px}.action-row{gap:6px;flex-wrap:wrap}.help-meter{width:100%;padding:7px 12px;display:flex;align-items:center;gap:8px}.help-meter small{white-space:nowrap;margin:0}.arrival{top:auto;bottom:202px;left:12px;transform:none;max-width:calc(100vw - 145px);font-size:.95rem;padding:8px 12px}#world-labels>span{font-size:.75rem;padding:4px 7px}dialog{padding:28px 24px}dialog h2{font-size:2.2rem}.game-header{z-index:2}.quest-card{z-index:1}}@media(max-height:640px) and (min-width:601px){.quest-card{top:90px;max-width:280px;padding:16px}.quest-card h1{font-size:1.55rem}.mission-rail{top:90px;gap:5px}.mission-rail>button{min-height:47px;padding:7px 10px}.mission-rail small{display:none}.team-bar{bottom:10px}.team-bar img{width:33px;height:33px}.team-bar>button{padding:4px 6px}.action-dock{bottom:99px}.movement-pad{bottom:104px}.team-bar small{font-size:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.voice-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.voice-row button{background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:.875rem;min-height:36px}.voice-row small{font-size:.75rem}#voice-status:empty{display:none}#voice-status{font-size:.8rem;margin-top:5px}

#valley{cursor:grab}#valley.orbiting{cursor:grabbing}
.camera-controls{position:absolute;top:103px;left:50%;transform:translateX(-50%);width:180px;padding:8px;background:#fffdf1ed;border:1px solid #fff;border-radius:19px;box-shadow:0 4px 0 #254b3e20;z-index:2}
.camera-controls button{min-height:44px;border:0;border-radius:12px;background:#e4ecd3;font-size:.875rem}.camera-controls button:hover{background:var(--yellow)}
.camera-controls #view-toggle{display:block;width:100%;background:var(--ink);color:var(--paper)}
.camera-buttons{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:4px;margin-top:5px}.camera-buttons button:not([data-camera=reset]){font-size:1.5rem}
.camera-controls p{font-size:.875rem;text-align:center;line-height:1.35;margin:7px 0 1px}
.map-note{display:none}.map-view .quest-card,.map-view .mission-rail,.map-view .action-dock,.map-view .team-bar,.map-view .movement-pad,.map-view .keyboard-note,.map-view .arrival{display:none}
.map-view .camera-controls{top:auto;bottom:max(26px,env(safe-area-inset-bottom));left:50%;width:240px}
.map-view .map-note{display:block;position:absolute;left:50%;top:105px;transform:translateX(-50%);max-width:90%;width:max-content;text-align:center;font-size:1rem;font-weight:800;background:#fffdf1ed;border-radius:15px;padding:9px 15px;pointer-events:none}
@media(max-width:900px){.camera-controls{top:auto;bottom:235px;left:18px;transform:none;width:166px}.camera-controls p{display:none}.map-view .camera-controls{left:50%;transform:translateX(-50%)}.map-view .camera-controls p{display:block}}
@media(max-width:600px){.camera-controls{bottom:218px;left:12px;width:160px}.map-view .map-note{top:82px;font-size:.875rem}.map-view .camera-controls{bottom:max(18px,env(safe-area-inset-bottom))}}

.game-learning-link{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:10px 16px;border:2px solid #245747;border-radius:30px;background:#ffd267;color:#204b3e;font-size:.9rem;font-weight:900;white-space:nowrap}.game-learning-link span{font-size:.75rem}@media(max-width:900px){.game-learning-link{font-size:.8rem;padding:9px 12px}.game-learning-link span{display:none}}@media(max-width:420px){.game-header{gap:5px}.top-actions{gap:4px}.top-actions button{padding:8px}.game-learning-link{padding:8px;min-height:40px;font-size:.75rem}.game-brand{font-size:1.14rem}}

/* A day in the Valley: chapter ribbon and large, touchable picture discoveries. */
.chapter-trail{position:absolute;right:28px;top:95px;display:flex;gap:5px;padding:8px;background:#fffdf1ee;border:1px solid #fff;border-radius:20px;box-shadow:0 5px 0 #294d391c;max-width:calc(100vw - 30px)}
.chapter-trail span{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:.8rem;font-weight:900;border-radius:12px;color:#647967}
.chapter-trail b{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:23px;height:23px}.chapter-trail .active{background:#ffdc83;color:#254b3d}.chapter-trail .finished{color:#245747;background:#e0ebcf}
.mission-rail{top:174px}.mission-rail button[hidden]{display:none}.mission-rail button:disabled{opacity:.65}.map-view .chapter-trail{top:155px;left:50%;right:auto;transform:translateX(-50%)}
#discovery{width:min(760px,94vw);max-width:94vw;text-align:center;padding:32px;background:linear-gradient(165deg,#fffcef,#f0f1d9);border:3px solid #fff;border-radius:30px}
#discovery h2{font-size:2.25rem;margin:8px 0 10px}#discovery-question{font-size:1.1rem;min-height:1.5em;margin:10px 0 12px}
#discovery-pictures{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;padding:15px;min-height:150px;background:#dfead1;border-radius:22px;border:1px solid #c4d5b9}
.vocab-picture{display:block;background-size:600% 500%;background-repeat:no-repeat;aspect-ratio:1;width:90px;flex:none}.picture-match .vocab-picture{width:150px}.picture-count .vocab-picture{width:83px}.picture-pattern .vocab-picture{width:75px}
.mystery-picture{display:grid;place-items:center;width:75px;aspect-ratio:1;border:2px dashed #77977d;border-radius:18px;font:500 3rem var(--display);color:#4b7964}
#discovery-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px auto 8px;max-width:490px}
#discovery-choices button{display:grid;place-items:center;min-height:122px;border:2px solid #7b9c82;border-radius:24px;background:#fffdf2;box-shadow:0 6px 0 #bfd0ad;font:500 3.8rem var(--display);color:var(--ink);padding:10px;transition:transform .15s}
#discovery-choices .vocab-picture{width:100%;max-width:115px}#discovery-choices button:hover:not(:disabled){transform:translateY(-4px);background:#fff4cb}#discovery-choices button.correct{background:#dbeeb5;border-color:#3b7550;transform:translateY(-4px)}#discovery-choices button:disabled{opacity:.65}#discovery-choices button.correct:disabled{opacity:1}
#discovery-feedback{font-weight:800;min-height:26px;margin:18px 0 12px!important}.discovery-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:52px}.discovery-footer>span{font-size:.875rem;font-weight:800}.discovery-footer .text-button{border:0;background:transparent;text-decoration:underline;padding:10px;font-size:.875rem}
.celebration-actions .book-finish{order:-1;background:var(--ink);color:var(--paper);border-radius:30px;padding:17px 27px;font-size:1rem}.celebration-actions:has(.book-finish) #next-rescue{background:transparent;color:var(--ink);font-size:.875rem;padding:9px}
@media(max-width:1050px){.chapter-trail{top:90px;right:18px;flex-direction:column;padding:5px}.chapter-trail span{padding:5px 8px}.mission-rail{top:258px}.map-view .chapter-trail{flex-direction:row;top:150px}}
@media(max-width:600px){.chapter-trail{top:auto;right:auto;bottom:93px;left:50%;transform:translateX(-50%);flex-direction:row;gap:2px;padding:4px;box-shadow:none;border-radius:12px}.chapter-trail span{font-size:.7rem;padding:3px 5px;gap:4px}.chapter-trail b{width:18px;height:18px}.team-bar{bottom:10px}.action-dock{bottom:153px}.movement-pad{bottom:145px}.camera-controls{bottom:257px}.mission-rail{top:auto;bottom:257px}.map-view .chapter-trail{top:137px;bottom:auto}.map-view .map-note{max-width:94vw;white-space:normal}.quest-card h1{font-size:1.4rem}.quest-card>p:not(.eyebrow){font-size:.8rem}.voice-row{margin-top:0}.voice-row small{display:none}#discovery{padding:24px 16px}#discovery h2{font-size:1.75rem}#discovery-question{font-size:1rem}#discovery-pictures{padding:10px;min-height:120px;gap:4px}.picture-count .vocab-picture{width:62px}.picture-pattern .vocab-picture,.mystery-picture{width:44px}.mystery-picture{font-size:2rem}.picture-match .vocab-picture{width:110px}#discovery-choices{gap:9px;margin-top:15px}#discovery-choices button{min-height:90px;padding:6px;border-radius:18px;font-size:3rem}.discovery-footer .solid-button{padding:12px 16px}#discovery-feedback{font-size:.875rem}}
.map-view .chapter-trail{display:none}
#world-labels>button{position:absolute;left:0;top:0;min-height:38px;padding:7px 11px;border:1px solid #fff;border-radius:13px;background:#fffdf1e8;color:#284d40;font:900 .75rem var(--font);box-shadow:0 3px 0 #244d3b20;white-space:nowrap;pointer-events:none;opacity:1;will-change:transform}
.map-view #world-labels>button{pointer-events:auto;cursor:pointer;min-height:44px}.map-view #world-labels>button:hover,.map-view #world-labels>button[aria-pressed=true]{background:#ffe29a;border-color:#4f7961;z-index:2}
#world-labels>.region-label{font-family:var(--display);font-size:1.1rem;text-transform:uppercase;letter-spacing:.04em;border:2px solid #fff;padding:12px 19px;background:#f3d58ee8;box-shadow:0 6px 0 #35584222}#world-labels>[data-label=region-river]{background:#98dedce8}#world-labels>[data-label=region-headland]{background:#f3c5a1ed}
.map-view #valley{width:calc(100% - 360px)}.map-view #world-labels{right:360px}
#map-regions{position:absolute;top:101px;left:22px;right:382px;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;z-index:4}#map-regions[hidden],#map-panel[hidden]{display:none}
#map-regions button{min-height:44px;padding:10px 15px;border:2px solid #fff;border-radius:15px;background:#fffdf1ed;color:#254d40;font-size:.85rem;box-shadow:0 4px 0 #294b391c}#map-regions button[aria-pressed=true]{background:var(--region-color,#245747);color:#204536;border-color:#245747}#map-regions button:first-child[aria-pressed=true]{color:#fff}
.map-view .map-note{top:157px;left:calc((100% - 360px) / 2);font-size:.8rem;background:#fff9;padding:7px 12px}
.map-view .camera-controls{left:calc((100% - 360px) / 2);bottom:20px;width:210px}
#map-panel{position:absolute;right:16px;top:101px;bottom:18px;width:330px;padding:23px;background:#fffdf1f5;border:2px solid #fff;border-radius:25px;box-shadow:0 8px 35px #244a3826;overflow-y:auto;overscroll-behavior:contain;z-index:3;scrollbar-width:thin}
#map-panel .eyebrow{font-size:.7rem;letter-spacing:.06em;color:#946338}#map-panel h2{font:500 1.75rem var(--display);line-height:1.12;margin:9px 0 15px}#map-picture{width:100%;height:155px;object-fit:contain;background:#e9eddc;border-radius:17px;margin-bottom:14px}#map-description{font-size:.9rem;line-height:1.65;margin:0 0 13px}.map-status{font-size:.78rem;line-height:1.6;padding:12px 13px;background:#e9eedc;border:1px solid #d9e0c9;border-radius:13px;margin-bottom:9px}
.map-hear{border:0;background:transparent;padding:9px 0;min-height:42px;text-decoration:underline;font-size:.8rem}.map-hear:disabled{opacity:.45}#map-panel h3{font:500 1.1rem var(--display);margin:15px 0 8px}#map-places{display:grid;gap:6px}#map-places button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #d2ddc6;border-radius:11px;background:#fffefa;font-size:.8rem;padding:10px;min-height:44px}#map-places button:hover{background:#fff0c0}#map-places button span{color:#487756;font-size:1.05rem}
.map-panel-actions{display:grid;gap:8px;margin-top:18px}.map-panel-actions button{font-size:.85rem;min-height:46px;padding:12px}.map-panel-actions #map-continue{background:#f8d27e;border:0;border-radius:25px}.map-panel-actions a{font-size:.8rem;text-align:center;padding:9px;text-decoration:underline}
@media(max-width:950px){.map-view #valley{width:calc(100% - 305px)}.map-view #world-labels{right:305px}#map-panel{width:285px;right:10px;padding:18px}#map-regions{left:12px;right:317px;gap:4px}#map-regions button{font-size:.75rem;padding:8px}.map-view .map-note,.map-view .camera-controls{left:calc((100% - 305px) / 2)}.map-view .map-note{top:205px}#map-panel h2{font-size:1.6rem}}
@media(max-width:650px){.map-view #valley{width:100%;height:62%}.map-view #world-labels{right:0;bottom:38%}#map-regions{top:78px;left:8px;right:8px;flex-wrap:nowrap}#map-regions button{padding:7px;min-height:40px;font-size:.7rem;flex:1;border-radius:11px}.map-view .map-note{left:50%;top:124px;width:auto;white-space:nowrap;font-size:.65rem;padding:5px 7px}.map-view .camera-controls{left:10px;transform:none;bottom:calc(38% + 8px);width:165px;padding:5px;border-radius:14px}.map-view .camera-controls p{display:none}.map-view .camera-controls button{min-height:36px;font-size:.75rem}.map-view .camera-buttons button:not([data-camera=reset]){font-size:1.2rem}#map-panel{top:auto;right:8px;left:8px;bottom:8px;width:auto;height:calc(38% - 12px);padding:17px;border-radius:22px}#map-panel h2{font-size:1.4rem;margin:4px 0 10px}#map-picture{display:none}#map-description{font-size:.8rem;line-height:1.5}.map-status{font-size:.72rem;padding:8px 10px}#map-panel h3{font-size:1rem}.map-panel-actions{grid-template-columns:1fr 1fr;gap:8px}.map-panel-actions a{grid-column:1 / -1}.map-panel-actions button{font-size:.75rem;padding:9px}#world-labels>.region-label{font-size:.83rem;padding:8px 11px}#world-labels>button{font-size:.66rem;padding:5px 8px}.map-view #world-labels>button{min-height:36px}}
.chapter-trail button{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:.8rem;font-weight:900;border:0;border-radius:12px;color:#647967;background:transparent}.chapter-trail button:hover{outline:2px solid #759576;outline-offset:-2px}
#map-description{font-size:1rem}#map-status,#map-regions button,#map-places button,.map-panel-actions button,.map-hear{font-size:.875rem}
@media(max-width:650px){.chapter-trail button{padding:3px 5px;gap:4px;font-size:.75rem}#map-regions button{font-size:.75rem}#map-description{font-size:1rem}#map-status,#map-places button,.map-panel-actions button,.map-hear{font-size:.875rem}.map-view .map-note{font-size:.75rem;max-width:95vw;white-space:normal;text-align:center}}
/* Keep everyday navigation together in the lower-left corner. */
#adventure:not(.map-view) .camera-controls{top:auto;bottom:28px;left:28px;transform:none;width:154px;padding:0;border:0;background:transparent;box-shadow:none}
#adventure:not(.map-view) .camera-controls #view-toggle{min-height:44px;border:1px solid #5b7b6659;border-radius:14px;background:#fffdf1dc;color:#365844;font-size:.875rem;box-shadow:0 2px 0 #254b3e14}
#adventure:not(.map-view) .camera-controls #view-toggle:hover{background:#fff2c7;border-color:#54795b}
#adventure:not(.map-view) .camera-buttons,#adventure:not(.map-view) .camera-controls p,.keyboard-note{display:none}
#adventure:not(.map-view) .movement-pad{bottom:84px}
.map-view .camera-controls{left:22px;transform:none;bottom:20px;width:190px}.map-view .camera-controls p{display:none}
#map-picture{height:auto;aspect-ratio:3 / 2;object-fit:contain}
#map-places button{padding:6px;min-height:62px;gap:10px}#map-places button img{width:72px;height:48px;flex:none;object-fit:contain;border-radius:7px;background:#e9eddc}#map-places button span{margin-left:auto;padding-right:5px}
@media(max-width:1200px){#adventure:not(.map-view) .camera-controls{bottom:103px;width:139px}#adventure:not(.map-view) .movement-pad{bottom:157px}}
@media(max-width:900px){#adventure:not(.map-view) .camera-controls{left:18px;width:128px}.map-view .camera-controls{left:12px;transform:none}}
@media(max-width:650px){.map-view .camera-controls{left:10px;bottom:calc(38% + 8px);width:165px}#map-picture{display:block;float:right;width:125px;max-width:44%;height:auto;margin:0 0 10px 12px;border-radius:12px}#map-status{clear:both}#map-places button img{width:84px;height:56px}}
@media(max-width:600px){#adventure:not(.map-view) .camera-controls{bottom:133px;left:12px;width:107px}#adventure:not(.map-view) .movement-pad{bottom:187px}}
