:root{color-scheme:light;--ui-forest: #9dae7c;--ui-deep: #5c536a;--ui-paper: #f4ebc8;--ui-honey: #e7d4ab;--ui-wood: #c5a276;--ui-wood-shadow: #987d6c;--ui-mint: #accec1;--ui-lime: #cbd784;--ui-rose: #cf9dab;--ui-ink: var(--ui-deep);--ui-muted: #665d72;--ui-line: var(--ui-wood);--ui-radius: 8px;--ui-frame-image: url(../assets/ui-frame-panel.png);--ui-button-image: url(../assets/ui-button-block.png);--ui-water-pattern: radial-gradient(ellipse 7px 2px at 9px 8px, rgb(244 235 200 / .42) 0 68%, transparent 72%) 0 0 / 34px 24px;font-family:Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:18px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ui-water-pattern),var(--ui-mint)}button,input,select,textarea{font:inherit}button{touch-action:manipulation}[hidden]{display:none!important}#game-container{position:fixed;top:0;right:0;bottom:0;left:0}#game-container canvas{display:block;image-rendering:pixelated}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.ui-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;overscroll-behavior:contain;pointer-events:auto;color:var(--ui-ink);background:var(--ui-water-pattern),var(--ui-mint);padding:max(18px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));line-height:1.6;isolation:isolate}.ui-screen:focus{outline:none}.ui-screen h1,.ui-screen h2,.ui-screen h3,.ui-screen p{margin:0}.ui-screen h1{font-size:clamp(28px,4vw,44px);line-height:1.2;letter-spacing:-.035em}.ui-screen h2{font-size:clamp(24px,3vw,32px);line-height:1.3}.ui-screen h3{font-size:20px;line-height:1.4}.ui-screen p+p{margin-top:.75em}.ui-header{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ui-ink);max-width:1200px;margin:0 auto 20px;padding:12px 16px;border:8px solid transparent;border-image:var(--ui-frame-image) 8 / 8px stretch;border-radius:0;background:var(--ui-paper);background-clip:padding-box;filter:drop-shadow(0 4px 0 var(--ui-wood-shadow));image-rendering:pixelated}.ui-body{width:min(100%,1200px);margin-inline:auto}.ui-card{padding:clamp(18px,3vw,32px);border:8px solid transparent;border-image:var(--ui-frame-image) 8 / 8px stretch;border-radius:0;background:radial-gradient(circle at 1px 1px,rgb(92 83 106 / .045) 1px,transparent 1px) 0 0 / 8px 8px,var(--ui-paper);background-clip:padding-box;color:var(--ui-ink);filter:drop-shadow(0 4px 0 var(--ui-wood-shadow));image-rendering:pixelated}.ui-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.ui-button{min-width:48px;min-height:48px;padding:11px 20px;border:7px solid transparent;border-image:var(--ui-button-image) 6 / 7px stretch;border-radius:0;background:var(--ui-paper);background-clip:padding-box;color:var(--ui-ink);font-size:18px;font-weight:700;line-height:1.45;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;filter:drop-shadow(0 3px 0 var(--ui-wood-shadow));image-rendering:pixelated;transition:background-color .14s,filter .14s,transform .14s}.ui-button:hover:not(:disabled){background:#eee1b9}.ui-button:active:not(:disabled){transform:translateY(2px);filter:drop-shadow(0 1px 0 var(--ui-wood-shadow));background:var(--ui-honey)}.ui-button--primary{background:var(--ui-lime)}.ui-button--primary:hover:not(:disabled){background:#d7df98}.ui-button:disabled{cursor:not-allowed;background:#ded5b7;color:#756d7d;filter:drop-shadow(0 2px 0 #b9a995)}.ui-button:focus-visible,.ui-screen a:focus-visible,.ui-screen [tabindex="0"]:focus-visible{outline:3px solid var(--ui-deep);outline-offset:4px}.ui-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-block:16px}.ui-tabs [aria-selected=true],.ui-tabs [aria-pressed=true]{background:var(--ui-lime)}.ui-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px}.ui-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,32px);align-items:start}.ui-kicker{font-size:14px;font-weight:700}.ui-muted{color:var(--ui-muted);font-size:14px}.ui-header .ui-muted{color:var(--ui-muted)}.ui-note{padding:14px 18px;border:8px solid transparent;border-image:var(--ui-frame-image) 8 / 8px stretch;background:var(--ui-honey);background-clip:padding-box;border-radius:0;filter:drop-shadow(0 3px 0 var(--ui-wood-shadow));image-rendering:pixelated}.ui-progress{accent-color:var(--ui-honey);width:100%;min-height:12px}.ui-photo{position:relative;display:grid;place-items:center;width:100%;min-width:0;aspect-ratio:4 / 3;margin:0;overflow:clip;background:var(--ui-mint);border:2px solid var(--ui-deep);border-radius:var(--ui-radius);box-shadow:inset 0 0 0 2px var(--ui-line)}.ui-photo>img{display:block;width:100%;height:100%;min-height:0;position:absolute;top:0;right:0;bottom:0;left:0;object-fit:contain;image-rendering:auto}.ui-photo--cover>img{object-fit:cover}.ui-photo__status{padding:20px;text-align:center;font-size:16px}.ui-photo__status .ui-button{margin-top:14px}.ui-photo__expand{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;padding:0;border:0;background:transparent;color:var(--ui-ink);cursor:zoom-in;touch-action:pan-x pan-y}.ui-photo__expand svg{position:absolute;right:8px;bottom:8px;width:32px;height:32px;padding:4px;overflow:visible;border:2px solid var(--ui-deep);background:#f4ebc8d6;box-shadow:0 2px 0 var(--ui-wood-shadow);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:round}.ui-photo__expand:focus-visible{outline:3px solid var(--ui-deep);outline-offset:-6px}.ui-photo-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:fit-content;max-width:calc(100vw - 24px);height:fit-content;max-height:calc(100dvh - 24px);margin:auto;padding:60px 12px 12px;overflow:hidden;border:8px solid transparent;border-image:var(--ui-frame-image) 8 / 8px stretch;background:var(--ui-paper);background-clip:padding-box;color:var(--ui-ink);filter:drop-shadow(0 6px 0 var(--ui-wood-shadow));image-rendering:pixelated}.ui-photo-dialog[open]{display:grid;place-items:center}.ui-photo-dialog::backdrop{background:#5c536ab8}.ui-photo-dialog>img{display:block;width:auto;height:auto;max-width:calc(100vw - 48px);max-height:calc(100dvh - 108px);object-fit:contain;image-rendering:auto}.ui-photo-dialog__close{position:absolute;top:8px;right:8px;min-width:72px;min-height:48px;padding:7px 12px}.completion-badge{display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:2px solid var(--ui-deep);background:var(--ui-mint);box-shadow:inset 0 0 0 3px var(--ui-paper),0 3px 0 var(--ui-wood-shadow);clip-path:polygon(6px 0,calc(100% - 6px) 0,calc(100% - 6px) 3px,100% 3px,100% calc(100% - 6px),calc(100% - 3px) calc(100% - 6px),calc(100% - 3px) 100%,6px 100%,6px calc(100% - 3px),0 calc(100% - 3px),0 6px,3px 6px,3px 3px,6px 3px);image-rendering:pixelated}.completion-badge[data-region-id=land]{background:var(--ui-forest)}.completion-badge[data-region-id=freshwater]{background:#91c5c6}.completion-badge[data-region-id=sea]{background:#91b6cc}.completion-badge[data-region-id=special]{background:var(--ui-rose)}.completion-badge--master{background:#e2bd62;box-shadow:inset 0 0 0 3px #fff0ae,0 3px #8b6545}.completion-badge img{display:block;width:24px;height:24px;object-fit:contain;image-rendering:pixelated}.completion-badge--large{width:clamp(104px,20vw,144px);height:clamp(104px,20vw,144px);border-width:4px;box-shadow:inset 0 0 0 7px var(--ui-paper),0 8px 0 var(--ui-wood-shadow);animation:completion-badge-land .72s cubic-bezier(.2,.9,.25,1.25) both}.completion-badge--large img{width:68%;height:68%}.completion-badge--large.completion-badge--master{width:clamp(132px,24vw,176px);height:clamp(132px,24vw,176px);box-shadow:inset 0 0 0 7px #fff0ae,0 9px #8b6545,0 0 0 8px #e2bd623d}.completion-reward{display:grid;place-items:center;background:#5c536ac7;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.completion-reward__panel{position:relative;isolation:isolate;width:min(100%,680px);max-height:100%;overflow:auto;padding:clamp(18px,4vw,34px);text-align:center}.completion-reward--master .completion-reward__panel{width:min(100%,760px);background:radial-gradient(circle at 50% 34%,rgb(255 240 174 / .72),transparent 34%),radial-gradient(circle at 1px 1px,rgb(92 83 106 / .045) 1px,transparent 1px) 0 0 / 8px 8px,var(--ui-paper)}.completion-reward__kicker{position:relative;z-index:2;color:var(--ui-muted)}.completion-reward__title{position:relative;z-index:2;margin-top:4px!important;font-size:clamp(26px,5vw,42px)!important}.completion-reward__hero{position:relative;z-index:2;display:grid;place-items:center;min-height:clamp(136px,26vh,210px);margin-block:8px}.completion-reward--master .completion-reward__hero{min-height:clamp(190px,34vh,260px);padding-bottom:54px}.completion-reward__badge-row{position:absolute;inset-inline:0;bottom:4px;display:flex;justify-content:center;gap:clamp(5px,2vw,12px)}.completion-reward__character{position:absolute;left:clamp(0px,4vw,28px);bottom:0;width:64px;height:64px;background:url(../assets/sprout-lands/celebration/celebration-player-happy.png) 0 0 / 128px 64px no-repeat;image-rendering:pixelated;animation:completion-character-cheer 1.2s steps(1,end) both}.completion-reward__name{position:relative;z-index:2;font-size:clamp(20px,3vw,26px);font-weight:900;color:var(--ui-deep)}.completion-reward__summary{position:relative;z-index:2;max-width:560px;margin:8px auto 0!important;font-size:17px;line-height:1.55;word-break:keep-all}.completion-reward__actions{position:relative;z-index:2;justify-content:center;margin-top:18px}.completion-reward__actions .ui-button{min-height:48px}.completion-reward__celebration{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.completion-reward__particle{position:absolute;top:-20px;left:var(--reward-x);opacity:0;animation:completion-confetti 1.35s var(--reward-delay) cubic-bezier(.15,.7,.35,1) both}.completion-reward__particle.is-paper{width:7px;height:12px;border:1px solid var(--ui-deep);background:var(--ui-rose);transform:rotate(var(--reward-turn))}.completion-reward__particle.is-paper:nth-child(3n+1){background:var(--ui-lime)}.completion-reward__particle.is-paper:nth-child(3n+2){background:var(--ui-mint)}.completion-reward__particle.is-star{width:18px;height:18px;background:url(../assets/reward-badge-star.png) center / contain no-repeat;image-rendering:pixelated}@keyframes completion-badge-land{0%{opacity:0;transform:translateY(-42px) scale(.72)}70%{opacity:1;transform:translateY(5px) scale(1.06)}to{opacity:1;transform:none}}@keyframes completion-confetti{0%{opacity:0;transform:translate3d(0,-10px,0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--reward-drift),min(68vh,520px),0) rotate(400deg)}}@keyframes completion-character-cheer{0%,24%,50%,74%{background-position:0 0}25%,49%,75%,to{background-position:-64px 0}}@media(max-width:640px){.ui-screen{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.ui-header{align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}.ui-two-column{grid-template-columns:minmax(0,1fr)}.ui-actions>.ui-button{flex:1 1 auto}.completion-reward{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.completion-reward__panel{padding:16px 14px}.completion-reward__hero{min-height:128px}.completion-reward--master .completion-reward__hero{min-height:188px;padding-bottom:48px}.completion-reward__badge-row .completion-badge{width:34px;height:34px}.completion-reward__badge-row .completion-badge img{width:21px;height:21px}.completion-reward__summary{font-size:16px}}@media(orientation:landscape)and (max-height:500px){.completion-reward__panel{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);column-gap:20px;align-items:center;text-align:left}.completion-reward__kicker,.completion-reward__title,.completion-reward__name,.completion-reward__summary,.completion-reward__actions{grid-column:2}.completion-reward__hero{grid-column:1;grid-row:1 / span 5;min-height:250px;margin:0}.completion-reward--master .completion-reward__hero{min-height:270px;padding-bottom:58px}.completion-reward__character{top:34px;bottom:auto;left:0}.completion-reward__summary{margin-inline:0!important}.completion-reward__actions{justify-content:flex-start;margin-top:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.completion-reward__particle{display:none}.completion-badge--large{opacity:1;transform:none}.completion-reward__character{background-position:0 0}}.ui-screen.title-screen{background:transparent;display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;align-content:stretch;gap:clamp(12px,2.4vh,26px);transition:opacity .22s linear}.ui-screen.title-screen.is-leaving{opacity:0;pointer-events:none}.title-screen .title-heading{width:min(100%,540px);padding:clamp(16px,2.6vh,26px) clamp(18px,4vw,34px);border:8px solid transparent;border-image:var(--ui-frame-image) 8 / 8px stretch;border-radius:0;background:radial-gradient(circle at 1px 1px,rgb(92 83 106 / .045) 1px,transparent 1px) 0 0 / 8px 8px,var(--ui-paper);background-clip:padding-box;filter:drop-shadow(0 5px 0 var(--ui-wood-shadow));image-rendering:pixelated;text-align:center}.title-screen .title-kicker{font-size:clamp(13px,1.7vw,15px);font-weight:700;color:var(--ui-muted)}.title-screen .title-name{margin-top:4px;font-size:clamp(30px,5.4vw,46px);line-height:1.1;letter-spacing:-.02em;color:var(--ui-ink)}.title-screen .title-sub{margin-top:8px;color:var(--ui-muted);font-size:clamp(13px,1.8vw,16px)}.title-screen .title-actions{align-self:center;display:grid;gap:12px;width:min(100%,360px)}.title-screen .title-actions .ui-button{width:100%}.title-screen .title-footer{display:grid;justify-items:center;gap:6px;max-width:min(100%,460px);padding:8px 14px;border:8px solid transparent;border-image:var(--ui-frame-image) 8 / 8px stretch;border-radius:0;background:#f4ebc8f0;background-clip:padding-box;color:var(--ui-ink);filter:drop-shadow(0 3px 0 var(--ui-wood-shadow));image-rendering:pixelated;text-align:center}.title-screen .title-footer p+p{margin-top:0}.title-screen .title-hint{max-width:46ch;font-size:clamp(13px,1.7vw,15px);white-space:pre-line;font-weight:600}.title-screen .title-credits{font-size:12px}@media(max-height:560px){.ui-screen.title-screen{gap:8px}.title-screen .title-heading{padding:10px 14px}.title-screen .title-name{font-size:clamp(24px,5vw,34px)}.title-screen .title-sub{font-size:12px}}.eco-title,.eco-map,.eco-overlay,.eco-hud{--eco-ink: #403a4a;color:var(--eco-ink)}.eco-title ::selection,.eco-overlay ::selection{background:#cbd784;color:#403a4a}.eco-title .ui-button,.eco-map .ui-button,.eco-overlay .ui-button,.eco-hud .ui-button{color:var(--eco-ink)}.eco-title a,.eco-overlay a{color:#424d29;text-underline-offset:.2em}.eco-title__subtitle{font-size:25px;font-weight:700}.eco-title .title-actions{width:min(100%,480px);align-self:center;gap:10px}.eco-title .title-footer{font-size:15px}.eco-title__hook{background:var(--ui-paper);padding:14px 18px;border:2px solid var(--ui-deep);text-align:center;font-size:20px;font-weight:700}.eco-home-panel{width:min(100%,960px);align-self:start;display:grid;gap:20px}.eco-lesson{border-top:1px solid var(--ui-wood);padding-top:22px;display:grid;gap:12px}.eco-lesson h2{font-size:24px}.eco-lesson__link{padding:12px 0;min-height:48px}.eco-teacher-check{display:flex;gap:12px;align-items:center;min-height:48px}.eco-teacher-check input{width:24px;height:24px;accent-color:#4d6237}.eco-caption{font-size:15px;line-height:1.6;color:#534b60}.eco-map__body{max-width:1000px;margin:auto;display:grid;gap:20px}.eco-sites{display:grid;grid-template-columns:1fr 1fr;gap:24px}.eco-site{display:grid;gap:14px;align-content:start}.eco-site__art{width:100%;height:180px;object-fit:cover;object-position:center 55%;border:2px solid var(--ui-deep);image-rendering:auto}.eco-site h2{font-size:26px}.eco-overlay.ui-screen{background:#232a2085;display:grid;justify-items:center;align-items:start;padding:20px;scrollbar-color:#766789 #f4ebc8}.eco-panel{width:min(100%,940px);min-width:0;padding:clamp(12px,3vw,28px)}.eco-panel__header{display:flex;gap:16px;justify-content:space-between;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--ui-wood);margin-bottom:22px}.eco-panel__header h1{font-size:clamp(24px,3vw,36px);align-self:center}.eco-panel__header>.ui-button{flex-shrink:0;padding-inline:14px}.eco-panel__content{display:grid;gap:20px}.eco-panel__content h2{font-size:clamp(22px,2.5vw,28px);line-height:1.5}.eco-panel__content>.ui-button{justify-self:start}.eco-save{margin-top:22px!important;border-top:1px solid var(--ui-wood);padding-top:12px}.eco-choices{display:grid;gap:12px}.eco-choices .ui-button{text-align:left;padding:14px 20px}.eco-choices [aria-pressed=true]{background:var(--ui-lime);outline:3px solid #4d6237}.eco-choices [aria-pressed=true]:before{content:"✓ "}.eco-feedback:empty{display:none}.eco-feedback{padding:14px 18px;background:#e5ddbc;border:1px solid #9a8165}.eco-feedback[data-correct=true]{background:#dbe2bd}.eco-feedback[data-correct=false]{background:#eddbd2}.eco-observation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}.eco-observation__text{font-size:20px;line-height:1.7}.eco-illustration{margin:0;background:#e1e8ce;border:1px solid #b2be97;padding:12px;text-align:center}.eco-illustration svg{width:100%;max-height:240px;fill:#99b775;stroke:#48563a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.eco-illustration svg[data-kind=water]{fill:#a5d2db;stroke:#3c6878}.eco-illustration svg[data-kind=sun]{fill:#e9cd70;stroke:#816b34}.eco-illustration svg[data-kind=fungus],.eco-illustration svg[data-kind=leaf]{fill:#cba177;stroke:#715241}.eco-illustration svg[data-kind=rock]{fill:#b9b3a9;stroke:#645d59}.eco-web{display:grid;gap:18px}.eco-web__board{position:relative;height:clamp(290px,38vw,400px);background:#e8eacf;border:2px solid #aab98b}.eco-web__lines{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;color:#49405a}.eco-web__lines line{stroke:currentColor;stroke-width:3}.eco-web__node{position:absolute;transform:translate(-50%,-50%);width:25%;padding:5px;min-height:82px;display:grid;gap:4px;font-size:17px}.eco-web__node:active:not(:disabled){transform:translate(-50%,-50%)}.eco-web__node[aria-pressed=true]{background:var(--ui-lime);outline:3px solid #4d6237;outline-offset:2px}.eco-web__node .ui-photo,.eco-web__node .eco-illustration{width:100%;height:64px;min-height:0;aspect-ratio:auto;padding:0;border:0}.eco-web__node .eco-illustration svg{height:64px}.eco-web__node .ui-photo__status{padding:2px;font-size:11px}.eco-web__list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.eco-web__list li{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-bottom:1px solid #c5bda1;padding-bottom:10px}.eco-web__list li>span{flex:1;min-width:145px;font-weight:700}.eco-web__list button{padding:8px;font-size:16px}.eco-clues{border-block:1px solid #baad89;padding:10px 0}.eco-clues summary{min-height:48px;padding:10px 6px;cursor:pointer;font-weight:700}.eco-clues summary:focus-visible{outline:3px solid #5c536a;outline-offset:1px}.eco-clues details{padding-left:12px}.eco-clues .eco-observation{padding-block:12px}.eco-reward{width:88px;height:88px;image-rendering:pixelated;justify-self:center;animation:eco-reward-in .5s ease-out both}@keyframes eco-reward-in{0%{transform:scale(.75)}to{transform:scale(1)}}.eco-hud .world-hud__panel{max-width:min(560px,calc(100vw - 240px));padding:12px 16px}.eco-hud .world-hud__region{font-size:18px}.eco-hud .world-hud__count{color:#403a4a;font-size:16px;line-height:1.6}.eco-hud .world-hud__actions{gap:8px}.eco-hud .world-hud__actions .ui-button{font-size:16px;padding:10px 12px}.eco-hud__activity{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(44px,env(safe-area-inset-bottom));display:grid;gap:8px;width:min(300px,calc(100vw - 165px));pointer-events:auto}.eco-hud__activity .ui-button{padding:10px 12px}.eco-hud__save{position:absolute;bottom:0;right:12px;max-width:calc(100vw - 155px);margin:0;padding:4px 6px;background:#f4ebc8;color:#403a4a;font-size:12px;line-height:1.35}.eco-hud .world-hud__banner{display:none}@media(max-width:600px){.eco-title.ui-screen{padding:12px;gap:12px}.eco-title .title-heading{padding:12px}.eco-title .title-name{font-size:32px}.eco-title .title-actions{gap:8px}.eco-title .title-actions .ui-button{padding:8px 12px}.eco-title__hook{font-size:18px;padding:10px 14px}.eco-title .title-footer{font-size:13px;padding:8px}.eco-sites{grid-template-columns:1fr}.eco-site__art{height:140px}.eco-overlay.ui-screen{padding:10px}.eco-panel{padding:12px 10px}.eco-panel__header{gap:10px;padding-bottom:12px;margin-bottom:16px}.eco-panel__header h1{font-size:23px}.eco-panel__header .ui-button{font-size:15px;padding:8px}.eco-panel__content{gap:16px}.eco-observation{grid-template-columns:1fr;gap:14px}.eco-observation>.ui-photo{max-height:225px}.eco-illustration svg{max-height:150px}.eco-observation__text{font-size:18px}.eco-web__node{width:28%;font-size:14px}.eco-web__node .ui-photo,.eco-web__node .eco-illustration,.eco-web__node .eco-illustration svg{height:48px}.eco-hud .world-hud__panel{left:8px;right:8px;max-width:none;padding:10px 12px}.eco-hud .world-hud__actions{top:auto;bottom:170px;right:12px;flex-direction:column;gap:6px;align-items:stretch}.eco-hud .world-hud__actions .ui-button{font-size:14px;min-height:48px;padding:7px 10px}.eco-hud .world-hud__toast{max-width:calc(100vw - 24px);top:140px;bottom:auto}}@media(orientation:landscape)and (max-height:540px){.eco-title.ui-screen{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;align-items:start;gap:10px 30px;padding:12px 24px}.eco-title .title-heading{margin-top:10px}.eco-title .title-actions{grid-column:2;grid-row:1 / span 2}.eco-title .title-footer{grid-column:1}.eco-title .title-actions .ui-button{padding:7px 10px}.eco-title__hook{font-size:17px;padding:8px}.eco-title .eco-home-panel{grid-column:1 / -1}.eco-hud .world-hud__panel{max-width:calc(100vw - 240px)}}@media(prefers-reduced-motion:reduce){.eco-reward{animation:none}.eco-title *,.eco-overlay *,.eco-hud *{transition:none!important;scroll-behavior:auto}}.eco-comparison{grid-column:1 / -1;display:grid;gap:12px}.eco-comparison svg{width:100%;height:auto;fill:#403a4a;font-family:inherit;font-size:18px}.eco-model{background:#e1e8ce;padding:16px;border:1px solid #9ba784}.eco-illustration svg[data-kind=rabbit]{fill:#e1d1b0;stroke:#6c5c48}.eco-panel__content>.ui-photo{max-width:480px;max-height:300px;justify-self:center}.eco-source{grid-column:1 / -1;font-size:14px}.eco-source summary{min-height:48px;padding:12px 0;cursor:pointer}.eco-source a{display:inline-block;padding:12px 0;min-height:48px}.nav-map{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:0;background:var(--ui-water-pattern),var(--ui-mint)}.nav-map-shell{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.nav-map-header{flex:0 0 auto;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;margin:0;max-width:none;padding:max(10px,env(safe-area-inset-top)) 16px 10px;background:var(--ui-paper);color:var(--ui-ink)}.nav-map-header h1{font-size:clamp(24px,4vw,36px)}.nav-map-header .ui-muted{color:var(--ui-muted)}.nav-map-viewport{flex:1 1 auto;min-height:0;display:grid;place-items:center;overflow:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--ui-water-pattern),var(--ui-mint);container-type:inline-size}.nav-map-viewport[data-map-fit=portrait-zoom]{place-items:center start;overflow:auto;touch-action:pan-x pan-y}.nav-map-viewport[data-map-fit=portrait-zoom] .nav-map-stage{max-width:none;max-height:none}.nav-map-stage{position:relative;width:100%;max-width:100%;max-height:100%;aspect-ratio:1672 / 941;flex:0 0 auto}.nav-map-art{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.nav-map-route{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.nav-map-route-done{stroke:var(--ui-wood-shadow);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.nav-map-route-future{stroke:var(--ui-paper);stroke-width:2.2;stroke-dasharray:3 2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.72}.nav-map-route-active{stroke:var(--ui-rose);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.nav-map-nodes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.nav-map-node{position:absolute;left:0;top:0;width:auto;min-width:48px;min-height:48px;padding:4px 8px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;transform:translate(-50%,6px);text-align:center;background:#f4ebc8f0;z-index:2}.nav-map-viewport[data-map-fit=portrait-zoom] .nav-map-node{touch-action:pan-x pan-y}.nav-map-node-pin{width:18px;height:18px;flex:0 0 18px;border:2px solid var(--ui-deep);border-radius:6px;background:var(--ui-mint);box-shadow:inset 0 0 0 2px var(--ui-paper)}.nav-map-node-copy{display:grid;min-width:0}.nav-map-node-label,.nav-map-node-state{display:block;line-height:1.2}.nav-map-node-state{font-size:14px;color:var(--ui-muted);font-weight:700}.nav-map-node.is-behind .nav-map-node-pin{background:var(--ui-lime);box-shadow:inset 0 0 0 2px var(--ui-paper)}.nav-map-node.is-ahead .nav-map-node-pin{background:var(--ui-paper);box-shadow:inset 0 0 0 2px var(--ui-mint)}.nav-map-node.is-current{z-index:4;filter:drop-shadow(0 3px 0 var(--ui-wood-shadow)) drop-shadow(0 0 2px var(--ui-paper))}.nav-map-node.is-current .nav-map-node-pin{background:var(--ui-paper);box-shadow:inset 0 0 0 2px var(--ui-rose)}.nav-map-node.is-selected{z-index:5;filter:drop-shadow(0 3px 0 var(--ui-wood-shadow)) drop-shadow(0 0 2px var(--ui-rose))}.nav-map-node.is-selected .nav-map-node-state{color:var(--ui-ink)}.nav-map-node.is-complete{outline:2px solid var(--ui-forest);outline-offset:3px}.nav-map-node.is-optional{opacity:.92}.nav-map-marker{position:absolute;width:96px;height:96px;transform:translate(-50%,calc(-100% + 18px));z-index:6;pointer-events:none;background:var(--nav-player) 0 0 / 384px 384px no-repeat;image-rendering:pixelated;filter:drop-shadow(2px 3px 0 var(--ui-deep))}.nav-map-marker[data-facing=up]{background-position:0 -96px}.nav-map-marker[data-facing=left]{background-position:0 -192px}.nav-map-marker[data-facing=right]{background-position:0 -288px}.nav-map-marker[data-moving=true]{z-index:7;animation:nav-marker-walk .48s steps(4) infinite}@container (max-width: 600px){.nav-map-node{padding:3px 5px 4px;font-size:14px}#world-map-region-special{min-width:64px;padding-inline:2px}.nav-map-node-copy{overflow-wrap:normal;word-break:keep-all}.nav-map-node-state{font-size:11px}.nav-map-marker{width:64px;height:64px;transform:translate(-50%,calc(-100% + 12px));background-size:256px 256px}.nav-map-marker[data-moving=true]{animation-name:nav-marker-walk-small}.nav-map-marker[data-facing=up]{background-position-y:-64px}.nav-map-marker[data-facing=left]{background-position-y:-128px}.nav-map-marker[data-facing=right]{background-position-y:-192px}@keyframes nav-marker-walk-small{0%{background-position-x:0}to{background-position-x:-256px}}}@keyframes nav-marker-walk{0%{background-position-x:0}to{background-position-x:-384px}}@media(prefers-reduced-motion:reduce){.nav-map-marker[data-moving=true]{animation:none}}.nav-dock{flex:0 0 auto;display:grid;gap:8px;padding:8px 12px max(12px,env(safe-area-inset-bottom));background:var(--ui-paper);background-clip:padding-box;border:8px solid transparent;border-image:var(--ui-frame-image) 8 / 8px stretch;filter:drop-shadow(0 -3px 0 var(--ui-wood-shadow));image-rendering:pixelated}.nav-stops{display:flex;gap:6px;overflow:auto}.nav-stop{flex:1 1 0;min-width:48px;padding:8px 6px;font-size:18px}.nav-stop.is-behind{background:var(--ui-honey)}.nav-stop.is-ahead{background:#eee5c5}.nav-stop.is-current{filter:drop-shadow(0 3px 0 var(--ui-wood-shadow)) drop-shadow(0 0 2px var(--ui-rose))}.nav-stop.is-selected,.nav-stop[aria-pressed=true]{background:var(--ui-lime)}.nav-stop.is-offscreen{outline:2px solid var(--ui-rose);outline-offset:-5px}#world-map-stop-freshwater{white-space:nowrap}@media(max-width:480px){.nav-stops .nav-stop{padding:7px 0;font-size:14px;line-height:1.25;overflow-wrap:normal;word-break:keep-all}}.nav-detail{display:grid;gap:4px;padding:10px 14px;border:0;border-image:none;background:transparent;filter:none}.nav-detail-meta{font-size:14px}.nav-detail-copy{font-size:18px;line-height:1.45;color:var(--ui-ink)}.nav-dock .ui-actions .ui-button--primary{flex:1 1 180px}.nav-map-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.nav-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:16px;background:#5c536a7a}.nav-dialog-card{width:min(480px,100%);display:grid;gap:12px}.nav-dialog-card .ui-button{flex:1 1 160px}.nav-map[data-traveling=true] .nav-map-node,.nav-map[data-traveling=true] .nav-stop{pointer-events:none}@media(max-width:899px){.nav-map-header{flex-direction:row;align-items:center;justify-content:space-between;padding:max(6px,env(safe-area-inset-top)) 10px 6px}.nav-dock{gap:4px;padding:6px 8px max(8px,env(safe-area-inset-bottom))}.nav-detail{gap:2px;padding:4px 8px}.nav-detail h2{font-size:20px}.nav-detail-meta{font-size:12px}.nav-detail-copy{font-size:15px;line-height:1.35}}@media(orientation:landscape)and (max-height:430px){.nav-map-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,42%);grid-template-rows:auto minmax(0,1fr)}.nav-map-header{grid-column:2;grid-row:1;padding:max(6px,env(safe-area-inset-top)) 10px 6px}.nav-map-header h1{font-size:22px}.nav-map-header .ui-muted{font-size:12px;line-height:1.3}.nav-map-viewport{grid-column:1;grid-row:1 / -1;min-width:0}.nav-dock{grid-column:2;grid-row:2;min-height:0;overflow:auto;padding:6px 8px max(8px,env(safe-area-inset-bottom))}.nav-stops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.nav-stops .nav-stop{min-height:48px;padding:3px 0;font-size:12px;line-height:1.15;overflow-wrap:normal;word-break:keep-all}.nav-detail{gap:2px;padding:6px 10px}.nav-detail h2{font-size:20px}.nav-detail-copy{font-size:15px;line-height:1.35}.nav-dock .ui-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.nav-dock .ui-actions .ui-button{min-height:48px;padding:7px 10px;font-size:16px}}.world-hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.world-hud__panel,.world-hud__actions,.world-hud__pad,.world-hud__toast,.world-hud__banner{pointer-events:auto}.world-hud__panel{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));min-width:168px;max-width:min(280px,calc(100vw - 140px));padding:12px 14px}.world-hud__region,.world-hud__count,.world-hud__banner,.world-hud__toast{margin:0}.world-hud__region{font-size:16px;font-weight:800;line-height:1.35;color:var(--ui-ink)}.world-hud__count{margin-top:4px;font-size:14px}.world-hud__badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.world-hud__badge{min-height:22px;padding:3px 5px;border:1px solid var(--ui-deep);border-radius:4px;background:var(--ui-lime);font-size:12px;font-weight:700;line-height:1.2}.world-hud__badge.is-off{opacity:.28}.world-hud__master:not([hidden]){display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:800;color:var(--ui-ink)}.world-hud__actions{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}.world-hud__pad{position:absolute;left:max(10px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:120px;height:120px;min-width:120px;min-height:120px;padding:0;border:2px solid rgb(92 83 106 / .72);border-radius:28px;background:#f4ebc824;box-shadow:inset 0 0 0 2px #c5a27657,0 2px #5c536a57;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}.world-hud__pad:before{content:"";position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px}.world-hud__pad.is-held{background:#e7d4ab47}.world-hud__pad:focus{outline:none}.world-hud__pad:focus-visible{outline:3px solid var(--ui-deep);outline-offset:4px}.world-hud__pad-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border:2px solid var(--ui-deep);border-radius:50%;background:#cbd784c2;box-shadow:inset 0 0 0 3px #f4ebc8c7,0 3px #5c536a75;pointer-events:none;transform:translate(0)}.world-hud__pad.is-held .world-hud__pad-knob{background:#cf9dabd6;box-shadow:inset 0 0 0 3px #f4ebc8c7,0 1px #5c536a75}.world-hud__banner,.world-hud__toast{position:absolute;left:50%;transform:translate(-50%);max-width:min(520px,calc(100vw - 24px));padding:10px 16px;text-align:center;white-space:pre-wrap;font-size:16px;color:var(--ui-ink)}.world-hud__banner{top:max(72px,calc(env(safe-area-inset-top) + 62px))}.world-hud__toast{bottom:max(20px,calc(env(safe-area-inset-bottom) + 8px))}@media(orientation:portrait)and (max-width:640px){.world-hud__actions{flex-direction:column;align-items:stretch;gap:8px}}@media(max-height:420px){.world-hud__panel{max-width:min(240px,calc(100vw - 160px));padding:10px 12px}.world-hud__banner{top:max(10px,env(safe-area-inset-top))}.world-hud__toast{left:auto;right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));transform:none;max-width:min(280px,calc(100vw - 180px))}.world-hud__pad{left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));width:88px;height:88px;min-width:88px;min-height:88px}.world-hud__pad-knob{width:40px;height:40px;margin:-20px 0 0 -20px}}
