/* Rounded cel-painted forest UI. All controls retain real labels and focus rings. */
:root{--ink:#344f3f;--paper:#fff4d8;--display:'Avenir Next Rounded','Trebuchet MS','Segoe UI',sans-serif;--menu-font:'Avenir Next Rounded','Trebuchet MS','Segoe UI',sans-serif}
.modal{background:#244d469c;backdrop-filter:blur(5px)}
.panel{border:2px solid #637d55;border-radius:29px 32px 25px 31px;background:#fff4d8;background-image:radial-gradient(ellipse at 0 0,#e4edc9 0,transparent 43%),radial-gradient(ellipse at 100% 100%,#e5eabd 0,transparent 45%);box-shadow:0 7px 0 #405f4c,0 15px 30px #183e3d42,inset 0 0 0 5px #fff9e8;padding:27px 22px 24px;scrollbar-color:#a1ba85 #f3efd5;scrollbar-width:thin}
.panel:before,.panel:after{content:none!important}
.panel h2,.panel h3,.request-card h3,.dialogue-name h2{font-family:var(--menu-font);font-weight:800;letter-spacing:-.8px;color:#3b5d46;line-height:1.16}
.panel h2{font-size:clamp(26px,6vw,34px);margin:18px 0 22px;text-wrap:balance}
.panel p,.panel .story-copy p,.panel .lesson-copy>p,.speech-paper p,.npc-story p,.request-card p,.request-envelope-body p{font-family:var(--menu-font);font-size:14px;line-height:1.7;color:#425d48}
.panel .eyebrow{font:700 9px/1.6 var(--menu-font);letter-spacing:1.2px;color:#6c8055}
.panel .button,.home-actions .button,.quest-claim{border:2px solid #385d43;border-radius:19px 22px 18px 21px;min-height:49px;background:linear-gradient(#87a66c 0 4px,#5f8459 4px 100%);color:#fff9e7;font:800 12px/1.45 var(--menu-font);letter-spacing:.6px;box-shadow:0 4px 0 #385640,inset 0 0 0 1px #b4c99155;padding:14px 15px;transition:transform .15s,box-shadow .15s,background .15s}
.panel .button.light,.quest-claim{background:linear-gradient(#fff9df 0 4px,#e3eac3 4px);color:#405d42;border-color:#849b66;box-shadow:0 3px 0 #91a373}
.panel .button:not(:disabled):active,.home-actions .button:not(:disabled):active,.quest-claim:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px 0 #385640}
.panel .button:disabled,.quest-claim:disabled{opacity:.45;box-shadow:none;transform:none}
.close-row button,.title-sound,.icon-button,.text-button,.swap-blob,.talk-button{border:2px solid #6e895e;border-radius:17px;background:#f9f2d4eb;color:#3c6245;box-shadow:0 3px 0 #526e4a3d}
.panel :is(.hub-tabs,.wardrobe-tabs) button{border:2px solid #a0b383;border-radius:15px;background:#edf0d5;color:#476245;font:700 10px/1.4 var(--menu-font);min-height:44px;letter-spacing:.2px}
.panel :is(.hub-tabs,.wardrobe-tabs) button[aria-pressed=true]{background:#718d5d;border-color:#496744;color:#fff8dc;box-shadow:inset 0 3px #94af74}
.speech-paper,.purpose-note,.request-card,.request-envelope,.restoration,.creature-note,.shop-card,.milestone,.level-note,.equipment-controls,.lesson-tip{border:2px solid #bac79a!important;border-radius:17px 20px 17px 21px!important;background:#eef0d3!important;background-image:none!important;box-shadow:0 3px 0 #acbc8c26!important}
.speech-paper{position:relative;background:#fffaf0!important;border-color:#a6ba84!important}
.speech-paper p{font-family:var(--menu-font);line-height:1.7}
.friend-label{font:800 11px var(--menu-font);background:#ffe3a0;border:1.5px solid #bd9f56;border-radius:13px;padding:9px 10px}
.lesson-replay,.lesson-exit,.dialogue-journal{font:700 11px/1.5 var(--menu-font);letter-spacing:.2px}
.panel .lesson-art{border:2px solid #9db986;border-radius:19px;background:#dfeac8}
.panel .lesson-status,.panel .lesson-copy .lesson-tip{font-family:var(--menu-font)!important}
.lesson-steps span{border-radius:12px;background:#dae6bc;border:1px solid #b8c894;font:700 9px/1.6 var(--menu-font)}
.equipment-art{border-radius:18px;background:#eff1d7}
.toast,.toast.story-toast,.pickup-notice,.coach{background:#fff4dced;border:2px solid #9cb079;border-radius:16px 20px 16px 18px;box-shadow:0 3px 0 #56724d33;font-family:var(--menu-font)}
.event-banner:not(:empty){border:2px solid #9caf7f;border-radius:15px;background:#fff5ddeb;font:700 11px/1.5 var(--menu-font);box-shadow:0 3px 0 #54744d33}
.home-screen{background:linear-gradient(#dcf1d200,#a3c6a017 38%,#214a37c9 88%)}
.home-screen .home-eyebrow{font:800 9px var(--menu-font);letter-spacing:2px;color:#fff6d1;text-shadow:0 1px 3px #365b44}
.home-screen .home-tagline{font:700 16px/1.5 var(--menu-font);color:#fff9df;text-shadow:0 2px 3px #315b43;margin:0 0 21px}
.home-screen .home-logo{width:360px;max-width:96%;height:auto;object-fit:contain;margin:clamp(13px,2dvh,25px) auto -12px}
.home-screen #titleCreature{display:block;width:100%;max-width:440px;height:auto;aspect-ratio:720/430;margin:-5px auto -8px}
.home-screen .home-tagline{font-size:14px;margin:2px auto 17px;max-width:290px}
@media(max-height:700px){.home-screen .home-logo{width:290px;margin-top:9px}.home-screen #titleCreature{max-width:325px}.home-screen .home-tagline{font-size:13px;margin-bottom:12px}}
.home-actions .home-primary{background:linear-gradient(#fff5bc 0 5px,#e7d994 5px);border:2px solid #63804e;color:#375a3c;font:800 15px/1.5 var(--menu-font);box-shadow:0 5px 0 #597847,0 9px 16px #173e342c}
.home-secondary{gap:10px}
.home-secondary button{background:#f7f4d9e8;border:2px solid #8fa575;border-radius:17px;color:#416242;box-shadow:0 3px 0 #4e71463d;font:800 10px var(--menu-font);letter-spacing:.4px}
.home-secondary .wood-icon{color:#708853}
.home-drawer{background:#f8f3d9f5;border:2px solid #879f6c;border-radius:23px;box-shadow:0 5px 0 #45663f70;backdrop-filter:none}
.home-drawer .home-grid button{background:#e7edca;border:1.5px solid #b4c58e;border-radius:15px;color:#416043;font-family:var(--menu-font);font-weight:700;letter-spacing:.1px}
.home-drawer .home-grid button:last-child{background:#e7edca}
.home-drawer .home-record,.home-drawer .home-progress{font-family:var(--menu-font);color:#627749;text-shadow:none}
.item-styles{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px}
.item-styles button{display:flex;flex-direction:column;align-items:center;background:#fff9e8;color:#496444;border:2px solid #b0c290;border-radius:16px;padding:8px;min-height:122px;font:800 12px var(--menu-font)}
.item-styles button[aria-pressed=true]{background:#dbe9bb;border-color:#769656;box-shadow:0 3px 0 #9dbb79}
.item-styles canvas{width:100px;max-width:100%;height:70px;object-fit:contain}
.item-styles small{font:10px/1.5 var(--menu-font);margin-top:4px;color:#71835d}
#desktopWeather{position:fixed;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
#desktopWeather[hidden]{display:none}
.home-grid .wood-icon{color:#64854d}
.home-save{font-family:var(--menu-font)!important;color:#fff6d7;text-shadow:0 1px 3px #204e32}
.title-sound{font:700 11px var(--menu-font);color:#3c6245;background:#fff4d8e8}
.prologue-panel{padding:19px 17px 17px;overflow-x:hidden}
.prologue-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}
.prologue-tools{display:flex;gap:3px}
.prologue-tools button{display:grid;place-items:center;border:1.5px solid #a4bb86;border-radius:12px;background:#edf2d4;color:#507146;width:40px;height:40px;padding:8px}
.prologue-tools .wood-icon{width:20px;height:20px}
.panel.prologue-panel h2{font-size:27px;min-height:62px;display:grid;align-items:center;margin:12px 0}
.prologue-window{position:relative;overflow:hidden;border:2px solid #729263;border-radius:24px 28px 21px 26px;box-shadow:0 4px 0 #a3b783;background:#d7e4bb}
#storyCreature.prologue-art{display:block;width:100%;height:auto;aspect-ratio:4/3;margin:0;object-fit:contain}
.prologue-place{position:absolute;left:12px;bottom:11px;max-width:90%;padding:6px 10px;border:1px solid #a6b682;border-radius:11px;background:#fff5dbef;color:#4f6a47;font:800 8px/1.5 var(--menu-font);letter-spacing:.6px;pointer-events:none}
.prologue-caption{position:relative;margin:18px 1px 7px;padding:12px 15px;border:2px solid #a4ba83;border-radius:18px;background:#fffaf0;text-align:left;min-height:96px}
.prologue-caption:before{content:'';position:absolute;top:-8px;left:28px;width:12px;height:12px;background:#fffaf0;border-left:2px solid #a4ba83;border-top:2px solid #a4ba83;transform:rotate(45deg)}
.prologue-caption b{font:800 10px var(--menu-font);letter-spacing:.6px;text-transform:uppercase;color:#7e9156}
.panel .prologue-caption p{font:700 15px/1.55 var(--menu-font);margin:5px 0 0;color:#3f6146}
.panel .prologue-narration{font:13px/1.6 var(--menu-font);text-align:left;min-height:62px;margin:10px 5px}
.panel .prologue-hint{font:11px/1.5 var(--menu-font);color:#6e7f53;margin:10px 0}
.prologue-progress{display:flex;justify-content:center;gap:7px;margin:10px 0 14px}
.prologue-progress i{width:8px;height:8px;border:1.5px solid #a5bb86;background:#e1eac5;border-radius:50%}
.prologue-progress i.current{background:#6e8e54;border-color:#6e8e54;transform:scale(1.2)}
.prologue-skip{display:block;margin:9px auto 0;padding:8px 12px;min-height:38px;border:0;background:transparent;color:#74865d;font:700 10px var(--menu-font);letter-spacing:.8px}
.prologue-panel [hidden]{display:none!important}
@media(max-width:360px),(max-height:650px){.panel{padding:21px 16px 19px}.panel.prologue-panel{padding:16px 13px}.panel.prologue-panel h2{font-size:23px;min-height:52px;margin:7px 0}.prologue-caption{min-height:84px;padding:10px 12px}.panel .prologue-caption p{font-size:14px}.panel .prologue-narration{min-height:54px;font-size:12px}.prologue-caption{margin-top:13px}.prologue-progress{margin:9px 0}.prologue-place{font-size:7px}}
@media(min-width:701px){body:before{background-image:linear-gradient(90deg,#deecd3b8,#f5f3dfed 29%,#f5f3dfe6 69%,#dce9d0c9),url('assets/forest-menu-v2.webp')}.editorial .fieldnote,.notes .zone-index{border:2px solid #a5ba87;border-radius:24px;background:#fff5dbda;box-shadow:0 5px 0 #9bb07f38}.fieldnote p,.zone-index p{font-family:var(--menu-font)}#game{border-radius:28px;box-shadow:0 7px 0 #6c8b59,0 14px 40px #3c5a4138,0 0 0 4px #f7f4d5}.desktop-nori{position:relative;height:115px;width:100%;margin-top:2px}.desktop-nori canvas{width:100%;height:100%;object-fit:contain}.desktop-nori p{font:italic 12px var(--menu-font);color:#6d8257;text-align:center;margin:-8px 0 0}.notes .zone-index{padding:20px}.notes{gap:16px}}
@media(prefers-reduced-motion:reduce){.panel,.home-drawer,.modal{animation:none}.panel button,.home-actions button{transition:none}.home-logo,.forest-vine,.forest-spark,.forest-mist{animation:none!important}}
.pause-altitude{font-size:13px!important;margin:-7px 0 22px!important}
.pause-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 21px}
.pause-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:88px;border:2px solid #b2c28c;border-radius:21px;background:#e6edcc;color:#496842;font:800 12px var(--menu-font);box-shadow:0 3px 0 #a0b27d44}
.pause-grid .wood-icon{width:25px;height:25px}
.custom-group{border:1.5px solid #b5c697;border-radius:17px;background:#f4f4df;margin:12px 0;overflow:hidden;text-align:left}
.custom-group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:50px;padding:14px 15px;cursor:pointer;font:800 13px var(--menu-font);color:#4b6a43;list-style:none}
.custom-group>summary::-webkit-details-marker{display:none}
.custom-group>summary:after{content:'+';display:grid;place-items:center;flex-shrink:0;width:19px;height:19px;border-radius:50%;background:#dfe8c4;color:#749158;font:700 16px var(--menu-font)}
.custom-group[open]>summary:after{content:'−'}
.custom-group>summary span{font-size:10px;color:#839564;margin-left:auto}
.custom-group>.options,.custom-group>.option-label{margin-left:14px;margin-right:14px}
.custom-group>.options{margin-bottom:15px}
.custom-group .option-label{font:800 9px var(--menu-font);letter-spacing:1px;color:#8a996e;margin-top:16px}
.custom-group .chip{border:1.5px solid #c1cfaa;border-radius:13px;background:#fff9e8;color:#5e7651;font:700 10px var(--menu-font);padding:9px 11px;min-height:37px}
.custom-group .chip.selected{background:#dce9bb;border-color:#8ba46a;color:#476239}
.pause-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 12px 13px}
.pause-links button{border:1px solid #c4cfae;border-radius:12px;min-height:43px;background:#fff9e7;color:#688156;font:700 10px var(--menu-font);padding:8px}
.panel .custom-preview{height:142px;margin:0;background:radial-gradient(ellipse,#e0edc4 0,transparent 70%)}
.custom-preview canvas{width:100%;height:160px;object-fit:contain;display:block;margin-top:-10px}
.panel .outfit-name{text-align:center;font:700 12px/1.7 var(--menu-font);margin:9px 0 20px}
.aim-guide-preview{display:block;max-width:100%;height:auto!important;aspect-ratio:400/180;border:0;border-radius:16px;margin:3px auto 0}
.custom-group .hint-line{font:11px/1.5 var(--menu-font)!important;padding:0 15px}
.album-link,.shop-intro button{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px auto 14px;border:1.5px solid #aec190;border-radius:14px;background:#e5edcc;color:#587747;font:800 10px var(--menu-font);padding:11px 13px}
.shop-intro{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-6px 0 16px}
.shop-intro p{font-size:12px!important;line-height:1.5!important;margin:0}
.shop-intro button{margin:0;white-space:nowrap;font-size:9px}
.shop-intro .wood-icon{width:18px;height:18px}
.shop-card{padding:11px 8px!important;display:flex;flex-direction:column;align-items:center;gap:7px}
.shop-card canvas{height:105px!important;width:100%;object-fit:contain}
.shop-card strong{font:800 12px/1.4 var(--menu-font)}
.shop-card>span:last-child{font:800 10px var(--menu-font);background:#d9e6bb;border-radius:11px;padding:7px 11px;margin-top:auto}
.rarity{display:inline-block;width:max-content;max-width:100%;border:1px solid currentColor;border-radius:8px;padding:3px 7px;font:800 8px/1.3 var(--menu-font)!important;letter-spacing:.7px;text-transform:uppercase;background:#fff8e7;color:#8da471}
.rarity.rare{color:#638f9b}.rarity.epic{color:#9773a9}.rarity.legendary{color:#ab853b}
.panel .album-note{text-align:center;font:12px/1.6 var(--menu-font);color:#7e9064}
.card-album{display:grid;grid-template-columns:1fr 1fr;gap:16px 13px;margin:23px 0}
.collect-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;overflow:hidden;min-height:235px;padding:13px 10px 15px;border:3px solid #9eb083;border-radius:18px;background:linear-gradient(145deg,#fff6dc,#e4eccb);box-shadow:0 4px 0 #78915f, inset 0 0 0 3px #fff5d2;text-align:center;color:#4a6541}
.collect-card.rare{border-color:#7ca4ad;box-shadow:0 4px 0 #5b838c,inset 0 0 0 3px #f2f5d7;background:linear-gradient(145deg,#ecf4e5,#d4e7df)}
.collect-card.epic{border-color:#ad8ab5;box-shadow:0 4px 0 #82638f,inset 0 0 0 3px #f8eddf;background:linear-gradient(145deg,#fff1dc,#e5d9ee)}
.collect-card.legendary{border-color:#c8a253;box-shadow:0 4px 0 #95713c,inset 0 0 0 3px #fff2bd;background:linear-gradient(135deg,#fff3bd,#f3dcaa,#e5e8ba)}
.collect-card.legendary:not(.unfound):before{content:'';position:absolute;inset:-50% -100%;pointer-events:none;background:linear-gradient(115deg,transparent 43%,#fff9e987 50%,transparent 57%);animation:card-gleam 6s ease-in-out infinite;transform:translateX(-35%)}
.collect-card>small{align-self:flex-start;font:800 8px var(--menu-font);letter-spacing:1px;opacity:.65}
.collect-card canvas{width:100%;height:111px;object-fit:contain;background:radial-gradient(ellipse,#fff9e4a8,transparent 70%);border-radius:50%}
.collect-card>strong{font:800 12px/1.35 var(--menu-font);min-height:32px;display:grid;align-items:center}
.collect-card>b{font:700 9px var(--menu-font);color:#8a9871}
.collect-card.unfound{filter:saturate(.45);opacity:.7;box-shadow:0 3px 0 #9ca58b}
.card-reveal{width:76%;max-width:220px;margin:12px auto 24px;padding:18px;border:3px solid #9eb083;border-radius:24px;background:#e7edcf;box-shadow:0 6px 0 #9bb17c}
.card-reveal.rare{background:#dcebe5;border-color:#7ca4ad}.card-reveal.epic{background:#e8dff0;border-color:#ad8ab5}.card-reveal.legendary{background:linear-gradient(145deg,#fff0bd,#e8e1b6);border-color:#c8a253;box-shadow:0 6px 0 #ac8e4d}
.card-reveal canvas{display:block;width:100%;height:auto}
.journey-requirements{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:19px 0}
.journey-requirements span{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;min-height:60px;border:2px solid #b5c58e;border-radius:17px;background:#e6edcc;padding:10px;font:700 11px var(--menu-font)}
.journey-requirements b{font-size:16px}
.panel .journey-brief{font-size:14px;line-height:1.6}
.journey-stop{padding:13px 0;gap:10px}.journey-stop>span{display:grid;place-items:center;width:28px;flex-shrink:0}.journey-stop>span .wood-icon{width:21px;height:21px}
.journey-stop b{font:800 12px var(--menu-font)}.journey-stop small{font:11px/1.6 var(--menu-font)}.journey-stop>strong{font:800 8px var(--menu-font);color:#8a9c6d}
.journey-stop.found{opacity:.65}
@keyframes card-gleam{0%,40%,100%{transform:translateX(-35%)}75%{transform:translateX(35%)}}
@media(max-width:360px){.collect-card{padding:10px 7px;min-height:210px}.collect-card canvas{height:92px}.collect-card>strong{font-size:11px}.card-album{gap:13px 10px}.pause-grid{gap:10px}.pause-grid button{min-height:78px}}
@media(min-width:701px){.notes .zone-index{position:relative;background:#edf1d6e8;border:2px solid #91ab74;border-radius:27px 31px 24px 29px;box-shadow:0 5px 0 #78986248,inset 0 0 0 4px #fff8df}.zone-index h2{font:800 24px/1.17 var(--menu-font)!important;letter-spacing:-.4px!important;text-wrap:balance}.zone-index p{font-size:12px!important;line-height:1.6!important}.fieldnote{padding:15px 18px!important}.fieldnote p{font:800 16px/1.5 var(--menu-font)!important}.desktop-trail .trail-arch{height:115px}.desktop-trail h3{font:800 20px/1.25 var(--menu-font)}.desktop-trail p{font:12px/1.5 var(--menu-font)}.desktop-trail>span{font-size:8px}.editorial .tagline{font-size:18px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.collect-card.legendary:not(.unfound):before{animation:none;display:none}}
