@font-face{font-family:Uncial Antiqua;src:url(/fonts/UncialAntiqua-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Crimson Pro;src:url(/fonts/CrimsonPro-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Crimson Pro;src:url(/fonts/CrimsonPro-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}:root{--font-title: "Uncial Antiqua", "Palatino Linotype", Georgia, serif;--font-body: "Crimson Pro", Georgia, "Times New Roman", serif;--ink: #2a1c12;--cream: #f4e6c8;--gold: #f7d98a;--amber: #f0b24d;--amber-deep: #c77a1c;--amber-shadow: #7a4a12;--night: #1b1410}html,body{margin:0;height:100%;overflow:hidden;background:var(--night);overscroll-behavior:none;-webkit-text-size-adjust:100%;font-family:var(--font-body)}[hidden]{display:none!important}#app{position:fixed;inset:0}canvas{display:block;touch-action:none}.splash{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));box-sizing:border-box;overflow:hidden;text-align:center;color:var(--cream);touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:opacity .4s ease}.splash.is-leaving{opacity:0;pointer-events:none}.splash__bg{position:absolute;inset:0;z-index:-1;background-color:#2d1b3d;background-image:radial-gradient(ellipse at 50% 88%,#d9862c,#7a3b2e 30%,#2d1b3d,#120b18);background-size:cover;background-position:center}.splash.has-painting .splash__bg{background:#020a1c}.splash__painting{position:absolute;inset:0;z-index:-1;background-repeat:no-repeat;background-size:cover;background-position:center;transform-origin:50% 0;transition:transform .6s ease}.splash__sky{display:flex;flex-direction:column;align-items:center;gap:6px}.splash__title{margin-top:6vh}.splash__title-art{max-width:min(80vw,640px);max-height:30vh;width:auto;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}.splash__title-text{margin:0;font-family:var(--font-title);font-weight:400;font-size:clamp(40px,9vw,88px);line-height:1.05;letter-spacing:.02em;color:var(--gold);text-shadow:0 2px 0 var(--amber-shadow),0 6px 18px rgba(0,0,0,.6)}.splash__subtitle{margin:8px 0 0;font-size:clamp(18px,3vw,28px);letter-spacing:.3em;text-transform:uppercase;opacity:.85}.splash__bottom{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:auto}.splash__card{max-width:520px;padding:10px 20px;border:2px solid #b8925a;border-radius:12px;background:#f4e6c8eb;color:var(--ink);font-size:clamp(15px,2vw,20px);line-height:1.35;box-shadow:0 8px 24px #00000059}.splash__card-image{display:block;max-width:200px;max-height:140px;margin:0 auto 12px}.splash__card-text{margin:0}.splash__footer{display:flex;align-items:center;justify-content:center;min-height:96px;margin-bottom:2vh}.splash__play{animation:rise .45s ease-out both}.splash__loading{font-size:20px;opacity:.7;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.9}}@keyframes rise{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}.fatal{position:fixed;inset:auto 12px 12px;z-index:1000;max-height:45vh;margin:0;padding:12px;overflow:auto;border:2px solid #ff5a5a;border-radius:8px;background:#3a0d0d;color:#ffd9d9;font:14px/1.4 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap}.debug{position:fixed;top:max(8px,env(safe-area-inset-top));left:8px;z-index:900;margin:0;padding:6px 10px;border-radius:6px;background:#0000008c;color:#d9f5c8;font:13px/1.4 ui-monospace,Menlo,Consolas,monospace;pointer-events:none}.card-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:#0c070473;touch-action:manipulation;animation:fade-in .25s ease-out both}.card{width:min(86vw,440px);padding:22px 24px 20px;box-sizing:border-box;border:3px solid #b8925a;border-radius:16px;background:linear-gradient(#f9efd8,#edd9b0);color:var(--ink);text-align:center;box-shadow:0 18px 50px #00000080;animation:rise .35s ease-out both}.card__art{width:min(52vw,200px);height:min(52vw,200px);margin:0 auto 14px;overflow:hidden;border:2px solid #b8925a;border-radius:14px;background:radial-gradient(circle at 40% 35%,#ffd98a,#e58b32 60%,#9c4a1b);box-shadow:inset 0 0 40px #ffffff40}.card__art img{display:block;width:100%;height:100%;object-fit:contain}.card__flash{margin:0 0 10px;font-family:var(--font-title);font-size:clamp(18px,2.6vw,22px);letter-spacing:.04em;color:#9a5f1d}.card--unlock .card__art{background:radial-gradient(circle at 40% 35%,#fff3cd,#d9a648 60%,#7b5a1c)}.card--moment{width:min(92vw,520px)}.card--moment .card__art{width:min(78vw,46vh,400px);height:min(78vw,46vh,400px);background:#1b1410}.card--moment .card__art img{object-fit:cover}.card--landing{width:min(92vw,520px)}.card__pouch{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:56px;margin:0 0 12px}.card__pouch img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}.card__note{margin:-6px 0 14px;font-family:var(--font-title);font-size:clamp(15px,2vw,18px);letter-spacing:.03em;color:#9a5f1d}.card__name{margin:0 0 6px;font-family:var(--font-title);font-weight:400;font-size:clamp(26px,4vw,34px);color:#6b3d12}.card__text{margin:0 0 18px;font-size:clamp(17px,2.4vw,22px);line-height:1.4}.card__close{min-height:56px;padding:10px 36px;border:3px solid var(--gold);border-radius:999px;background:linear-gradient(var(--amber),var(--amber-deep));color:var(--ink);font-family:var(--font-title);font-size:clamp(20px,3vw,26px);box-shadow:0 5px 0 var(--amber-shadow);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card__close:active{transform:translateY(3px);box-shadow:0 2px 0 var(--amber-shadow)}.card__close--secondary{border-color:#b8925a;background:linear-gradient(#6b4f3a,#4a3324);color:var(--cream);box-shadow:0 5px #2a1c12}.card__close--secondary:active{box-shadow:0 2px #2a1c12}.card__worth{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 8px;font-size:17px}.card__worth .stars{font-size:20px}.card__worth .stars__off{color:#2a1c1238}.card__fav{display:inline-flex;align-items:center;gap:4px;color:#b8304f;font-weight:600}.card__row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.wood-btn{width:118px;height:118px;padding:0;border:0;background:url(/images/ui/cut/ui_button_wood.webp) center / contain no-repeat transparent;color:var(--cream);font-family:var(--font-title);font-size:19px;line-height:1.05;text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35));transition:transform .08s ease}.wood-btn:active{transform:scale(.94)}.wood-btn__label{display:inline-block;max-width:78%;padding:5px 10px;border-radius:999px;background:#2d160a9e;text-shadow:0 1px 2px rgba(0,0,0,.8)}.wood-btn--small{width:92px;height:92px;font-size:15px}.placard{display:flex;flex-direction:column;align-items:center;justify-content:center;width:250px;aspect-ratio:723 / 249;background:url(/images/ui/cut/text_placard_scroll.webp) center / 100% 100% no-repeat;color:var(--cream);filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}.placard--tap{cursor:pointer}.placard--tap:active{transform:scale(.97)}.placard__name{font-family:var(--font-title);font-size:24px;line-height:1;color:var(--gold)}.placard__day{font-size:15px;letter-spacing:.12em;text-transform:uppercase;opacity:.9}.placard__season{font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.72}.campsite__placard{display:flex;flex-direction:column;align-items:center;gap:4px}.placard-errand{max-width:320px;padding:4px 14px;box-sizing:border-box;border:2px solid #b8925a;border-radius:12px;background:#f4e6c8f0;color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.25;text-align:center;box-shadow:0 4px 12px #00000059;animation:bubble-in .28s ease-out both}.bag{display:flex;gap:8px;justify-content:center;padding:10px 14px;border:26px solid transparent;border-image:url(/images/ui/cut/ui_panel_wood.webp) 96 fill / 26px / 0 stretch;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}.bag__slot{position:relative;width:62px;height:62px;padding:3px;border:2px solid rgba(60,35,15,.7);border-radius:10px;background:#321c0c80;box-shadow:inset 0 2px 8px #0000008c;cursor:default;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .12s ease}.bag__icon{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.stars{display:inline-block;font-size:15px;line-height:1;letter-spacing:.04em;white-space:nowrap}.stars__on{color:var(--gold);text-shadow:0 0 4px rgba(247,217,138,.6)}.stars__off{color:#ffffff47}.heart{display:inline-block;color:#ff6b8a;font-size:15px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.6)}.bag__stars{position:absolute;left:0;right:0;bottom:1px;font-size:9px;text-align:center;pointer-events:none}.bag__heart{position:absolute;top:1px;right:3px;font-size:12px;pointer-events:none}.bag.is-picking .bag__slot.is-filled{cursor:pointer;border-color:var(--gold);box-shadow:0 0 0 3px #f7d98a8c,0 0 18px #f7d98ab3;animation:pulse-slot 1.1s ease-in-out infinite}.bag.is-picking .bag__slot.is-filled:active{transform:scale(.9)}.bag__slot.is-new{animation:rise .4s ease-out both}@keyframes pulse-slot{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.campsite{position:absolute;inset:0;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto 1fr auto;gap:10px 14px;padding:max(10px,env(safe-area-inset-top)) 16px max(10px,env(safe-area-inset-bottom));box-sizing:border-box;overflow:hidden;background:#2b1c10;color:var(--ink);user-select:none;-webkit-user-select:none;--season-filter: brightness(1);--fire-glow: 0}.campsite:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/images/ui/parchment_landscape_emerald_v2.webp) center / cover no-repeat;filter:var(--season-filter);pointer-events:none}.campsite__header{grid-column:1 / 4;grid-row:1;display:flex;align-items:center;justify-content:center;gap:12px}.campsite.is-growing{animation:campsite-grow 5s ease-out}@keyframes campsite-grow{0%{filter:none}18%{filter:brightness(1.28) saturate(1.15)}to{filter:none}}@media(prefers-reduced-motion:reduce){.campsite.is-growing{animation:none}}.campsite__book{flex:0 0 auto;width:52px;height:52px;padding:0;border:0;background:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.campsite__book-icon{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));transition:transform .12s ease}.campsite__book:active .campsite__book-icon{transform:scale(.92)}.door-btn{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:3;width:34px;height:46px;padding:0;border:0;background:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.door-btn__icon{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));transition:transform .12s ease}.door-btn:active .door-btn__icon{transform:scale(.92)}.campsite__needs{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}.campsite__scene{--hole-l: .1995;--hole-t: .2773;--hole-w: .5986;--hole-h: .528;position:relative;grid-column:2;grid-row:2;align-self:center;justify-self:center;width:clamp(200px,100vw - 560px,66vh * 433 / 341);aspect-ratio:433 / 341}.campsite__scene{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.campsite__scene.is-greeted .scene{animation:nudge .45s ease-out}@keyframes nudge{0%{transform:scale(1)}35%{transform:scale(1.035) rotate(-.7deg)}to{transform:scale(1)}}.scene{position:absolute;left:calc(var(--hole-l) * 100%);top:calc(var(--hole-t) * 100%);width:calc(var(--hole-w) * 100%);height:calc(var(--hole-h) * 100%);overflow:hidden;border-radius:6px;background:#2b1c10}.scene__img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .18s ease;pointer-events:none}.scene__img.is-fading{opacity:0}.campsite__scene .scene__img{animation:breathe 4s ease-in-out infinite;transform-origin:center;will-change:transform}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.campsite__scene .scene__img{animation:none}}.scene__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 45% at 50% 82%,#ffb04899,#ff8c2838 40%,#ff781e00 75%);mix-blend-mode:screen;opacity:var(--fire-glow);transition:opacity 1.2s ease;animation:fire-glow 3.2s ease-in-out infinite}@keyframes fire-glow{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.campsite__snow{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}.flake{position:absolute;top:-4%;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#ffffffeb;box-shadow:0 0 4px #ffffffb3;animation:flake-fall var(--fall) linear var(--delay) infinite,flake-sway var(--sway) ease-in-out var(--delay) infinite alternate}@keyframes flake-fall{0%{transform:translateY(0)}to{transform:translateY(100vh)}}@keyframes flake-sway{0%{margin-left:-12px}to{margin-left:12px}}@media(prefers-reduced-motion:reduce){.flake{display:none}.scene__glow{animation:none}}.keepsakes{position:absolute;inset:0;pointer-events:none}.keepsake{position:absolute;transform-origin:50% 0;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45));animation:keepsake-sway 7s ease-in-out infinite}@keyframes keepsake-sway{0%,to{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}@media(prefers-reduced-motion:reduce){.keepsake{animation:none}}.scene__frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:var(--season-filter, brightness(1)) drop-shadow(0 6px 10px rgba(0,0,0,.35))}.speech{position:absolute;left:44%;top:7%;z-index:3;width:50%;aspect-ratio:826 / 450;display:flex;align-items:center;justify-content:center;padding:6% 8% 15%;box-sizing:border-box;background:url(/images/ui/cut/ui_dialog_speech_v0.webp) center / 100% 100% no-repeat;color:var(--ink);font-size:clamp(14px,1.7vw,20px);line-height:1.25;text-align:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.speech.is-bouncing{animation:bubble-in .35s ease-out both}.want-thought{position:absolute;left:6%;top:9%;z-index:3;width:clamp(56px,15%,120px);aspect-ratio:1;padding:0;border:3px solid rgba(60,35,15,.55);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffdf6,#f1e3c6);box-shadow:0 4px 10px #0000004d;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:thought-bob 3.4s ease-in-out infinite}.want-thought:before,.want-thought:after{content:"";position:absolute;border:2px solid rgba(60,35,15,.5);border-radius:50%;background:#f8efdc;box-shadow:0 2px 5px #00000040}.want-thought:before{width:22%;height:22%;right:-14%;bottom:-12%}.want-thought:after{width:12%;height:12%;right:-30%;bottom:-30%}.want-thought__img{position:absolute;left:15%;top:15%;width:70%;height:70%;object-fit:contain;pointer-events:none}.want-thought--picture .want-thought__img{left:7%;top:7%;width:86%;height:86%;object-fit:cover;border-radius:50%}.want-thought.is-new{animation:thought-in .5s ease-out both,thought-bob 3.4s ease-in-out .5s infinite}@keyframes thought-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes thought-in{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.want-thought,.want-thought.is-new{animation:none}}@keyframes bubble-in{0%{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}.campsite__actions{grid-column:3;grid-row:2;display:grid;grid-template-columns:repeat(2,auto);align-content:center;justify-content:center;gap:10px 12px}.campsite__bag{grid-column:1 / 4;grid-row:3;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px}.need__label{margin:0 0 2px 8px;font-family:var(--font-title);font-size:17px;color:var(--cream);text-shadow:0 1px 0 rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.8)}.need__bar{position:relative;width:100%;max-width:320px;aspect-ratio:772 / 105;background:url(/images/ui/cut/ui_bar_vine_wrapped_v0.webp) center / 100% 100% no-repeat;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}.need__fill{--v: .5;position:absolute;left:2.2%;top:22%;width:calc(var(--v) * 95.8%);height:55%;border-radius:6px;box-shadow:inset 0 -3px #00000040,inset 0 2px #ffffff59;transition:width .5s ease}.need__fill--hunger{background:linear-gradient(#f4a14a,#d3661c)}.need__fill--happiness{background:linear-gradient(#f6d35a,#d9961c)}.need__fill--energy{background:linear-gradient(#7fd6c2,#2f9c8a)}.need__fill--bond,.need__fill--meter{background:linear-gradient(var(--fill-a, #f8b6c4),var(--fill-b, #c04a6e))}.campsite__care{grid-column:1 / 3}@media(orientation:portrait){.campsite{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto}.campsite__header{grid-column:1 / 3}.campsite__scene{grid-column:1 / 3;grid-row:2;height:auto;width:min(100%,60vh * 433 / 341)}.campsite__needs{grid-column:1;grid-row:3}.campsite__actions{grid-column:2;grid-row:3}.campsite__bag{grid-column:1 / 3;grid-row:4}}.egg{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:max(12px,env(safe-area-inset-top)) 16px max(12px,env(safe-area-inset-bottom));box-sizing:border-box;background:#2b1c10 url(/images/ui/parchment_landscape_emerald_v2.webp) center / cover no-repeat;color:var(--ink);user-select:none;-webkit-user-select:none}.egg__scene{--hole-l: .1995;--hole-t: .2773;--hole-w: .5986;--hole-h: .528;position:relative;height:min(58vh,90vw * 341 / 433);aspect-ratio:433 / 341;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.egg__scene.is-wobbling .scene{animation:wobble .5s ease-in-out}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg) scale(1.02)}75%{transform:rotate(3deg) scale(1.02)}}.egg__caption{min-width:260px;padding:0 28px;font-size:18px;text-align:center}.egg__eggs{display:grid;grid-template-columns:repeat(3,auto);gap:12px 22px;justify-content:center}.egg__pick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px;border:0;background:none;color:var(--cream);font-family:var(--font-title);font-size:17px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:rise .4s ease-out both}.egg__pick-img{width:min(24vw,22vh,170px);aspect-ratio:1;border:4px solid #b8925a;border-radius:50%;object-fit:cover;box-shadow:0 8px 18px #00000073;transition:transform .12s ease,box-shadow .12s ease}.egg__pick:active .egg__pick-img{transform:scale(.94);box-shadow:0 0 0 4px #f7d98a99,0 8px 18px #00000073}.egg__pick-name{padding:3px 12px;border-radius:999px;background:#2d160a9e;text-shadow:0 1px 2px rgba(0,0,0,.8)}.egg__pick--locked{cursor:default}.egg__pick--locked .egg__pick-img{border-color:#7c6440;filter:grayscale(.7) brightness(.6);box-shadow:0 6px 14px #0006}.egg__pick--locked:active .egg__pick-img{transform:none;box-shadow:0 6px 14px #0006}.egg__pick--locked .egg__pick-name{color:#cbb896}.egg__pick-hint{max-width:min(26vw,200px);font-family:var(--font-body);font-size:14px;line-height:1.25;color:var(--cream);text-shadow:0 1px 3px rgba(0,0,0,.9)}.egg__caption .placard__name{font-size:20px}.egg__name{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(92vw,420px);padding:22px 26px 24px;box-sizing:border-box;border:22px solid transparent;border-image:url(/images/ui/cut/ui_panel_wood.webp) 96 fill / 22px / 0 stretch;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}.card-backdrop .egg__name{animation:rise .3s ease-out both}.egg__name-row{display:flex;gap:12px}.egg__prompt{margin:0;font-family:var(--font-title);font-size:22px;color:var(--cream);text-shadow:0 1px 2px rgba(0,0,0,.7)}.egg__input{width:100%;padding:10px 14px;box-sizing:border-box;border:2px solid #b8925a;border-radius:10px;background:#f7ecd2;color:var(--ink);font-family:var(--font-body);font-size:24px;text-align:center}.egg__input:focus{outline:3px solid var(--gold)}.egg--nest{gap:10px}.egg__placard .placard__name{font-size:17px}.egg--nest .egg__scene{height:min(42vh,78vw * 341 / 433);cursor:pointer}.egg__scene.is-cold .scene__img{filter:brightness(.62) saturate(.55) hue-rotate(-8deg)}.egg__scene .scene__img{transition:opacity .18s ease,filter .6s ease}.egg__warmth{width:min(90vw,320px)}.need__fill--warmth{background:linear-gradient(var(--fill-a, #ffd08a),var(--fill-b, #c9631a))}.egg__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px}.egg__bag{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px}.egg__skip{position:absolute;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translate(-50%);padding:6px 18px;border-radius:999px;background:#2d160a9e;color:var(--cream);font-family:var(--font-title);font-size:16px;letter-spacing:.06em;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none;animation:skip-hint-in 1.2s ease-out both}@keyframes skip-hint-in{0%,40%{opacity:0}to{opacity:.9}}@media(orientation:portrait){.egg--nest .egg__scene{height:auto;width:min(100%,44vh * 433 / 341)}}.glade-hud{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;padding-bottom:max(8px,env(safe-area-inset-bottom));box-sizing:border-box;pointer-events:none}.glade-hud>*{pointer-events:auto}.glade-hud>.glade-hud__vignette{pointer-events:none}.glade-hud__vignette{position:absolute;inset:0;pointer-events:none;opacity:var(--vignette, 1);background:linear-gradient(to top,#00000057,#0000 32%),radial-gradient(ellipse 70% 82% at 50% 42%,#0000 40%,#00000042 72%,#0009)}.glade-hud__corner{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));display:flex;gap:6px}.glade-hud__say,.trial-hud__say{max-width:min(88vw,640px);margin-bottom:2px;padding:9px 16px;box-sizing:border-box;border:2px solid #b8925a;border-radius:14px;background:#f4e6c8f0;color:var(--ink);font-family:var(--font-body);font-size:clamp(15px,2vw,20px);line-height:1.3;text-align:center;box-shadow:0 8px 24px #0006;pointer-events:none}.glade-hud__say.is-arriving,.trial-hud__say.is-arriving{animation:bubble-in .28s ease-out both}.glade-hud>.glade-hud__errand{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);max-width:min(58vw,520px);padding:6px 14px;box-sizing:border-box;border:2px solid #b8925a;border-radius:12px;background:#f4e6c8e6;color:var(--ink);font-family:var(--font-body);font-size:clamp(13px,1.6vw,17px);line-height:1.25;text-align:center;box-shadow:0 6px 18px #00000059;pointer-events:none}.glade-hud__skill{margin-bottom:4px;animation:rise .28s ease-out both}.glade-hud .bag{transform:scale(.9);transform-origin:bottom center}.flight-hud{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;padding-bottom:max(8px,env(safe-area-inset-bottom));box-sizing:border-box;pointer-events:none}.flight-hud>*{pointer-events:auto}.flight-hud__steer{position:absolute;inset:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.flight-hud__corner{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));display:flex;gap:6px}.flight-hud .flight-hud__pouch,.flight-hud .found{position:relative;z-index:1}.flight-hud__pouch{display:flex;align-items:center;gap:6px;min-height:48px;padding:6px 16px 6px 14px;box-sizing:border-box;border-radius:999px;background:#2d160ab8;color:var(--cream);font-family:var(--font-title);font-size:18px;pointer-events:none}.flight-hud__pouch.is-empty{opacity:.7}.flight-hud__pouch-label{margin-right:4px}.flight-hud__pouch img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}.flight-hud__pouch-count{margin-left:4px;font-size:20px}.flight-hud>.flight-hud__say{position:absolute;top:max(14px,env(safe-area-inset-top));left:0;right:0;width:max-content;max-width:min(70vw,560px);margin:0 auto;padding:8px 16px;box-sizing:border-box;border:2px solid #b8925a;border-radius:14px;background:#f4e6c8f0;color:var(--ink);font-family:var(--font-body);font-size:clamp(15px,2vw,20px);line-height:1.3;text-align:center;box-shadow:0 8px 24px #0006;pointer-events:none}.flight-hud>.flight-hud__say.is-arriving{animation:bubble-in .28s ease-out both}.flight-hud .found{pointer-events:none}.bag-screen{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(94vw,720px);max-height:calc(100vh - 32px);padding:14px 18px 16px;box-sizing:border-box;overflow-y:auto;border:22px solid transparent;border-image:url(/images/ui/cut/ui_panel_wood.webp) 96 fill / 22px / 0 stretch;color:var(--cream);text-align:center;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5));animation:rise .3s ease-out both}.bag-screen__head{display:flex;align-items:baseline;gap:14px}.bag-screen__title{font-family:var(--font-title);font-size:26px;color:var(--gold);text-shadow:0 1px 2px rgba(0,0,0,.8)}.bag-screen__count{font-size:15px;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.bag-screen__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}.bag-screen__grid--wide{grid-template-columns:repeat(6,1fr);gap:8px}.bag-screen__note{max-width:90%;font-size:16px;line-height:1.3;color:var(--gold)}.campsite__chest{flex:0 0 auto;width:62px;height:62px;padding:0;border:0;background:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.campsite__chest-icon{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));transition:transform .12s ease}.campsite__chest:active .campsite__chest-icon{transform:scale(.92)}.bag-screen__row{display:flex;justify-content:center;gap:14px}.bag-screen__found{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;box-sizing:border-box;border:2px solid var(--gold);border-radius:12px;background:#f7d98a24;color:var(--cream);font-family:var(--font-body);text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:pulse-slot 1.4s ease-in-out 2}.bag-screen__found-icon{flex:0 0 auto;width:60px;height:60px;object-fit:contain}.bag-screen__found-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:var(--font-title);font-size:19px;color:var(--gold);text-shadow:0 1px 2px rgba(0,0,0,.8)}.bag-screen__found-hint{margin-top:2px;font-size:15px;line-height:1.3}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:126px;padding:8px 6px;border:2px solid rgba(60,35,15,.7);border-radius:12px;background:#321c0c80;box-shadow:inset 0 2px 8px #0000008c;color:var(--cream);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .12s ease}.tile:active{transform:scale(.95)}.tile--empty{opacity:.45;cursor:default}.tile--empty:active{transform:none}.tile.is-new{border-color:var(--gold);box-shadow:0 0 0 3px #f7d98a8c,0 0 18px #f7d98ab3;animation:rise .4s ease-out both}.tile__icon{width:60px;height:60px;object-fit:contain;pointer-events:none}.tile__name{font-size:15px;line-height:1.15}.tile__worth{display:flex;align-items:center;gap:6px}.found{display:flex;align-items:center;gap:10px;padding:6px 16px 6px 8px;border-radius:999px;background:#2d160abf;color:var(--cream);font-family:var(--font-title);font-size:18px;animation:found-toast 1.6s ease-out both}.found img{width:40px;height:40px;object-fit:contain}.toasts{position:fixed;left:0;right:0;bottom:max(96px,calc(env(safe-area-inset-bottom) + 96px));z-index:15;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}@keyframes found-toast{0%{opacity:0;transform:translateY(12px)}15%,75%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.memories{width:min(96vw,860px)}.memories__tabs{display:flex;gap:8px;width:100%}.memories__tabs:empty{display:none}.memories__tab{padding:6px 14px;border:2px solid rgba(60,35,15,.7);border-radius:8px 8px 0 0;background:#321c0c80;color:var(--cream);font-family:var(--font-body);font-size:16px;cursor:pointer;opacity:.7;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.memories__tab.is-on{background:#784e22bf;color:var(--gold);opacity:1}.memories__traits{width:100%;margin:2px 0 4px;color:var(--cream);font-family:var(--font-body);font-size:16px;line-height:1.35}.memories__trait{margin:4px 2px}.memories__trait b{color:var(--gold)}.memories__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;width:100%}.memory{position:relative;aspect-ratio:4 / 3;padding:0;overflow:hidden;border:2px solid rgba(60,35,15,.7);border-radius:10px;background:#321c0c80;box-shadow:inset 0 2px 8px #0000008c;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.memory:active{transform:scale(.95)}.memory__img{display:block;width:100%;height:100%;object-fit:cover}.memory--locked{display:flex;align-items:center;justify-content:center;cursor:default}.memory--locked:active{transform:none}.memory__lock{width:34%;opacity:.5}.memory-full{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(94vw,640px);animation:rise .3s ease-out both}.memory-view{--hole-l: .1995;--hole-t: .2773;--hole-w: .5986;--hole-h: .528;position:relative;width:min(88vw,66vh * 433 / 341);aspect-ratio:433 / 341;touch-action:pan-y;user-select:none;-webkit-user-select:none}.memory-arrow{position:absolute;top:50%;z-index:2;width:60px;height:60px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:0 0 6px;box-sizing:border-box;border:2px solid rgba(60,35,15,.7);border-radius:50%;background:#321c0cb8;color:var(--gold);font-family:var(--font-title);font-size:34px;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.memory-arrow--prev{left:2%}.memory-arrow--next{right:2%}.memory-arrow:active{transform:translateY(-50%) scale(.9)}.memory-full__line{max-width:92%;padding:8px 16px;box-sizing:border-box;border-radius:12px;background:#2d160ab8;color:var(--cream);font-size:17px;line-height:1.3;text-align:center}.fade{position:fixed;inset:0;z-index:50;background:#14100c;opacity:0;pointer-events:none;transition:opacity .32s ease}.fade.is-dark{opacity:1;pointer-events:auto}.night{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:radial-gradient(ellipse at 50% 40%,#1c2450,#0b0f24 70%);opacity:0;pointer-events:none;transition:opacity .5s ease}.night.is-on{opacity:1;pointer-events:auto}.night__moon{width:min(40vw,260px);filter:drop-shadow(0 0 30px rgba(180,200,255,.5))}.night__moon-img{display:block;width:100%;animation:moon-rise 1.4s ease-out both;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.night__day{font-family:var(--font-title);font-size:clamp(28px,5vw,44px);color:var(--gold);text-shadow:0 2px 10px rgba(0,0,0,.8)}@keyframes moon-rise{0%{transform:translateY(30px) scale(.9);opacity:0}to{transform:none;opacity:1}}.confirm{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(88vw,440px);padding:22px 24px;box-sizing:border-box;border:22px solid transparent;border-image:url(/images/ui/cut/ui_panel_wood.webp) 96 fill / 22px / 0 stretch;color:var(--cream);text-align:center;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5));animation:rise .3s ease-out both}.confirm__text{margin:0;font-family:var(--font-title);font-size:clamp(18px,2.6vw,24px);line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.8)}.confirm__row{display:flex;gap:18px}.zones{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(94vw,720px);max-height:92vh;padding:22px 24px;box-sizing:border-box;border:22px solid transparent;border-image:url(/images/ui/cut/ui_panel_wood.webp) 96 fill / 22px / 0 stretch;color:var(--cream);overflow-y:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5));animation:rise .3s ease-out both}.zones__title{margin:0;font-family:var(--font-title);font-size:clamp(20px,3vw,28px);font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.8)}.zones__row{display:flex;gap:clamp(10px,2vw,18px);align-items:stretch;justify-content:center;flex-wrap:wrap}.zone-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:clamp(140px,26vw,200px);padding:12px 12px 14px;border:2px solid #b8925a;border-radius:12px;background:#f4e6c8eb;color:var(--ink);font-family:var(--font-body);text-align:center;box-shadow:0 8px 24px #00000059;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.zone-card:active{transform:translateY(2px);box-shadow:0 4px 14px #00000059}.zone-card__thumb{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;background:linear-gradient(160deg,#6f8a4e,#3f5a3a)}.zone-card__name{font-family:var(--font-title);font-size:clamp(17px,2.4vw,22px);line-height:1.15;margin-top:6px}.zone-card__blurb{font-size:clamp(12px,1.6vw,15px);line-height:1.25;opacity:.78}.zone-card--locked{background:#f4e6c873;border-style:dashed;cursor:default}.zone-card--locked .zone-card__thumb{filter:grayscale(.75) brightness(.6)}.zone-card--locked:active{transform:none;box-shadow:0 8px 24px #00000059}.zone-card__hint{margin-top:6px;font-size:clamp(11px,1.5vw,14px);line-height:1.25;font-style:italic;opacity:.85}.zone-card.is-nudged{animation:zone-nudge .4s ease-out}@keyframes zone-nudge{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.splash__choices{display:flex;gap:clamp(10px,2vw,20px);align-items:stretch;justify-content:center;flex-wrap:wrap;animation:slide-up .5s ease-out both}@keyframes slide-up{0%{opacity:0;transform:translateY(140%)}to{opacity:1;transform:none}}.splash__choices.is-chosen{pointer-events:none}.slot{display:flex;flex-direction:column;align-items:center;gap:3px;width:clamp(104px,17vw,148px);padding:8px 8px 10px;border:2px solid #b8925a;border-radius:12px;background:#f4e6c8eb;color:var(--ink);font-family:var(--font-body);box-shadow:0 8px 24px #00000059;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.slot:active{transform:translateY(2px);box-shadow:0 4px 14px #00000059}.slot__thumb{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;background:#2d1b3d40}.slot__name{font-family:var(--font-title);font-size:clamp(17px,2.4vw,22px);line-height:1.1;margin-top:4px}.slot__type{font-size:clamp(11px,1.4vw,13px);opacity:.7}.slot__day{font-size:clamp(12px,1.5vw,14px);letter-spacing:.06em;opacity:.85}.slot__over{margin-top:6px;padding:4px 12px;border:2px solid #b8925a;border-radius:999px;background:linear-gradient(#6b4f3a,#4a3324);color:var(--cream);font-size:clamp(11px,1.4vw,13px)}.slot--empty{justify-content:center;border-style:dashed;background:#f4e6c86b}.slot__new{font-family:var(--font-title);font-size:clamp(17px,2.4vw,22px);line-height:1.15;padding:16px 0}.splash__account{display:flex;align-items:center;justify-content:center;min-height:34px;margin-top:2px}.splash__who{margin:0;font-size:15px;letter-spacing:.08em;color:var(--cream);opacity:.75;text-shadow:0 1px 3px rgba(0,0,0,.8)}.splash__signin{padding:7px 22px;border:2px solid #b8925a;border-radius:999px;background:#2d160aa6;color:var(--cream);font-family:var(--font-body);font-size:16px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.splash__signin:active{transform:translateY(1px)}.syncdot{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:7px;padding:4px 12px 4px 9px;border-radius:999px;background:#1c10088c;color:var(--cream);font-size:12px;letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .6s ease}.syncdot.is-showing{opacity:.7}.syncdot__mark{width:8px;height:8px;border-radius:50%;background:#7fd6c2}.syncdot[data-status=saving] .syncdot__mark{background:var(--amber)}.syncdot[data-status=offline] .syncdot__mark,.syncdot[data-status=local] .syncdot__mark{background:#b8925a}.room{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;align-items:center;gap:8px;padding:max(10px,env(safe-area-inset-top)) 16px max(8px,env(safe-area-inset-bottom));box-sizing:border-box;overflow:hidden;background:#1a1108;color:var(--cream);user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.room__bg{position:absolute;inset:0;z-index:-1;background:#1a1108 center / cover no-repeat}.room__bg--placeholder{background-image:radial-gradient(ellipse at 50% 92%,rgba(240,160,70,.45) 0%,rgba(120,60,20,.25) 35%,transparent 65%),linear-gradient(#2a1a0e,#140c06)}.room__placard{flex:0 0 auto}.room__stage{position:relative;flex:1 1 auto;display:flex;align-items:flex-end;justify-content:center;width:100%;min-height:0}.room__portrait{max-height:100%;max-width:70vw;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.6))}.room__silhouette{position:relative;width:min(34vh,240px);height:min(46vh,330px);filter:drop-shadow(0 0 24px rgba(240,160,70,.35))}.room__silhouette:before{content:"";position:absolute;top:0;left:50%;width:42%;aspect-ratio:1;transform:translate(-50%);border-radius:50%;background:#100a05}.room__silhouette:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:66%;border-radius:48% 48% 10% 10%/55% 55% 6% 6%;background:#100a05}.room__dialog{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:min(94vw,880px);min-height:118px;padding:14px 26px 16px;box-sizing:border-box;border:22px solid transparent;border-image:url(/images/ui/cut/ui_panel_wood.webp) 96 fill / 22px / 0 stretch;text-align:center;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))}.room__speaker{font-family:var(--font-title);font-size:clamp(17px,2.2vw,22px);color:var(--gold);text-shadow:0 1px 2px rgba(0,0,0,.8)}.room__text{font-size:clamp(18px,2.6vw,26px);line-height:1.35;text-shadow:0 1px 2px rgba(0,0,0,.7)}.room__text.is-arriving{animation:fade-in .25s ease-out both}.room__hint{position:absolute;right:4px;bottom:0;font-size:14px;opacity:.6;animation:pulse 1.6s ease-in-out infinite}.room__choices{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.room__choices:empty{display:none}.room__choice{min-width:200px;min-height:60px;padding:10px 28px;border:3px solid var(--gold);border-radius:999px;background:linear-gradient(var(--amber),var(--amber-deep));color:var(--ink);font-family:var(--font-title);font-size:clamp(18px,2.4vw,24px);box-shadow:0 5px 0 var(--amber-shadow);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:rise .3s ease-out both}.room__choice:active{transform:translateY(3px);box-shadow:0 2px 0 var(--amber-shadow)}.room__bag{flex:0 0 auto}.room__bag .bag{transform:scale(.9);transform-origin:top center}.room__leave{position:absolute;left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.room__leave-door{width:24px;height:33px;background:url(/images/ui/cut/ui_icon_door_v0.webp) center / contain no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.puzzle{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(94vw,640px);max-height:88vh;overflow-y:auto;padding:20px 22px;box-sizing:border-box;border:22px solid transparent;border-image:url(/images/ui/cut/ui_panel_wood.webp) 96 fill / 22px / 0 stretch;color:var(--cream);text-align:center;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5));animation:rise .3s ease-out both}.puzzle__asker{font-family:var(--font-title);font-size:15px;letter-spacing:.06em;color:var(--gold);text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.8)}.puzzle__prompt{margin:0;font-family:var(--font-body);font-size:clamp(17px,2.6vw,22px);line-height:1.35;text-shadow:0 1px 2px rgba(0,0,0,.8)}.puzzle__empty{margin:0;font-family:var(--font-body);font-size:16px;opacity:.75}.puzzle__tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.puzzle-tile{position:relative;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:104px;min-height:104px;padding:10px 12px;box-sizing:border-box;border:3px solid var(--amber-shadow);border-radius:14px;background:linear-gradient(#462a14eb,#2d1a0cf0);color:var(--cream);font-family:var(--font-body);font-size:17px;line-height:1.2;cursor:pointer;transition:transform .12s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}.puzzle-tile:active{transform:scale(.95)}.puzzle-tile.is-chosen{border-color:var(--gold);box-shadow:0 0 0 2px #f7d98a59,0 0 18px #f7d98a66}.puzzle-tile__icon{width:52px;height:52px;object-fit:contain;image-rendering:auto;pointer-events:none}.puzzle-tile__label{display:block;max-width:180px;color:var(--cream);font-family:var(--font-body);font-size:17px;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.puzzle--number .puzzle-tile__label{font-family:var(--font-title);font-size:clamp(22px,4vw,32px)}.puzzle-tile__order{position:absolute;top:-10px;left:-10px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--amber);color:var(--ink);font-family:var(--font-title);font-size:16px;opacity:0;transition:opacity .15s ease-out}.puzzle-tile.is-chosen .puzzle-tile__order:not(:empty){opacity:1}.puzzle__row{display:flex;align-items:center;gap:18px}.puzzle__go:disabled{opacity:.45;cursor:default}.puzzle__go.is-ready{animation:puzzle-ready 1.8s ease-in-out infinite}@keyframes puzzle-ready{0%,to{filter:none}50%{filter:drop-shadow(0 0 10px rgba(247,217,138,.55))}}.room__bench{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:2}.bench{display:flex;flex-direction:column;gap:12px;width:min(94vw,660px);max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 22px;box-sizing:border-box;border:22px solid transparent;border-image:url(/images/ui/cut/ui_panel_wood.webp) 96 fill / 22px / 0 stretch;color:var(--cream);filter:drop-shadow(0 12px 30px rgba(0,0,0,.5));animation:rise .3s ease-out both}.bench__title{font-family:var(--font-title);font-size:clamp(19px,3vw,26px);text-align:center;color:var(--gold);text-shadow:0 2px 3px rgba(0,0,0,.8)}.bench__hint{margin:-6px 0 0;font-family:var(--font-body);font-size:15px;text-align:center;opacity:.75}.bench__say{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:2px solid #b8925a;border-radius:12px;background:#f4e6c8f0;color:var(--ink);text-align:left}.bench__say.is-arriving{animation:bubble-in .28s ease-out both}.bench__say-who{font-family:var(--font-title);font-size:15px;color:#9a5f1d}.bench__say-text{font-family:var(--font-body);font-size:clamp(15px,2vw,19px);line-height:1.3}.bench__list{display:flex;flex-direction:column;gap:10px}.bench__row{display:flex;justify-content:center}.bench-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid var(--amber-shadow);border-radius:12px;background:linear-gradient(#462a14e6,#2d1a0ceb)}.bench-card--locked,.bench-card--made{opacity:.6}.bench-card--ready{border-color:var(--gold);box-shadow:0 0 0 1px #f7d98a4d}.bench-card__art{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:58px;height:58px}.bench-card__icon{max-width:100%;max-height:100%;object-fit:contain}.bench-card__body{flex:1 1 auto;min-width:0}.bench-card__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.bench-card__name{font-family:var(--font-title);font-size:18px;color:var(--gold)}.bench-card__kind{font-family:var(--font-body);font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.bench-card__stars{font-size:12px}.bench-card__note{margin:4px 0 0;font-family:var(--font-body);font-size:14px;line-height:1.3;opacity:.85}.bench-card__needs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.bench-need{display:flex;align-items:center;gap:4px;padding:3px 7px 3px 3px;border:2px solid rgba(45,22,10,.7);border-radius:999px;background:#1c10088c;opacity:.5}.bench-need.is-had{border-color:var(--gold);opacity:1}.bench-need__icon{width:26px;height:26px;object-fit:contain}.bench-need__count{font-family:var(--font-body);font-size:14px}.bench-card__go{flex:0 0 auto}.bench-card__go:disabled{opacity:.45;cursor:default}.trial{position:absolute;inset:0;z-index:5;display:block;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.trial-hud{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;padding-bottom:max(14px,env(safe-area-inset-bottom));box-sizing:border-box;pointer-events:none}.trial-hud__corner{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));pointer-events:auto}.trial-hud__score{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));min-width:56px;padding:6px 14px;box-sizing:border-box;border:2px solid #b8925a;border-radius:12px;background:#f4e6c8e6;color:var(--ink);font-family:var(--font-title);font-size:clamp(18px,2.4vw,24px);text-align:center}.card--trial{width:min(92vw,520px)}.trial-card__stars{display:block;margin:2px 0 8px;font-size:clamp(36px,7vw,52px);line-height:1}.trial-card__stars .stars__on,.trial-card__stars .stars__off{display:inline-block;transition:transform .28s ease-out,opacity .28s ease-out}.trial-card__stars .is-waiting{opacity:.2;transform:scale(.55)}.trial-card__scores{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:0 0 10px;font-family:var(--font-title);font-size:clamp(16px,2.2vw,20px);color:#6b3d12}.trial-card__levels{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0 14px}.trial-card__level{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:96px;min-height:60px;padding:8px 14px;border:2px solid #b8925a;border-radius:12px;background:#fffaebbf;color:var(--ink);font-family:var(--font-title);font-size:clamp(15px,2vw,18px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.trial-card__level.is-picked{background:linear-gradient(var(--amber),var(--amber-deep));box-shadow:0 3px 0 var(--amber-shadow)}.trial-card__level--locked{opacity:.45;cursor:default}.trial-card__level-stars{font-size:.9em}.memories__tab--finds{margin-left:auto}.finds{display:flex;flex-direction:column;gap:14px;width:100%}.finds__head{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px;color:var(--cream);font-family:var(--font-title)}.finds__name{font-size:18px}.finds__count{font-size:15px;opacity:.8}.finds__count.is-done{color:var(--gold);opacity:1}.finds__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.find{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:6px;border:2px solid rgba(60,35,15,.7);border-radius:10px;background:#321c0c80;box-shadow:inset 0 2px 8px #0000008c;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.find:active{transform:scale(.95)}.find--kept{border-color:#f7d98a99}.find__icon{width:80%;height:80%;object-fit:contain;pointer-events:none}.find--found .find__icon,.card--find.is-found .card__art img{filter:grayscale(1) brightness(.85);opacity:.7}.card--find{position:relative}.card--find .memory-arrow{top:calc(22px + min(26vw,100px))}.card--find .memory-arrow--prev{left:10px}.card--find .memory-arrow--next{right:10px}.find--unfound .find__icon,.card--find.is-unfound .card__art img{filter:brightness(0) blur(1px);opacity:.3}.card__meta{margin:-6px 0 12px;font-size:15px;line-height:1.35;color:#6b4a22}.card--book .card__portrait{display:block;width:84px;height:84px;margin:0 auto 6px;border:3px solid #b8925a;border-radius:50%;object-fit:cover;object-position:top}.card__speaker{margin:0 0 6px;font-family:var(--font-title);font-size:clamp(15px,2vw,18px);letter-spacing:.03em;color:#9a5f1d}.seen__list{display:flex;flex-direction:column;gap:8px;padding:0 4px}.seen__row{padding:8px 12px;border:2px solid rgba(60,35,15,.7);border-radius:10px;background:#321c0c80;box-shadow:inset 0 2px 8px #0000008c;color:var(--cream)}.seen__name{font-family:var(--font-title);font-size:16px}.seen__page{margin-top:2px;font-size:15px;line-height:1.35}.seen__day{margin-top:2px;font-size:13px;opacity:.7}.seen__heard,.seen__empty{margin:0;padding:0 12px;font-size:15px;line-height:1.4;color:var(--cream)}.seen__empty{opacity:.6}.seen__who{font-family:var(--font-title);font-size:14px;letter-spacing:.03em}.card--secret .card__name{margin-top:0}.room__choice--gift:before{content:"♥ ";color:#b8322e}.room__choice--quiet{background:linear-gradient(#8a6a44,#5b4127);border-color:#f7d98a99;color:var(--cream);box-shadow:0 5px #3a2716}.bag__slot--buttoned,.tile--buttoned{position:relative;border-style:dashed;border-color:#966937bf;background:#462a1280;opacity:1;cursor:pointer}.bag__slot--buttoned:before,.tile--buttoned:before{content:"";position:absolute;left:8%;right:8%;top:6%;height:42%;border-radius:6px 6px 50% 50%/6px 6px 40% 40%;background:#96693ccc;box-shadow:0 2px 3px #00000059;pointer-events:none}.bag__slot--buttoned:after,.tile--buttoned:after{content:"";position:absolute;left:50%;top:40%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#e8d3a2;box-shadow:0 0 0 2px #5b3d1c;pointer-events:none}.tile--bracket{position:relative;border:2px dashed rgba(150,105,55,.5);background:#321c0c2e;box-shadow:none;opacity:1;cursor:pointer}.tile--bracket:before,.tile--bracket:after{content:"";position:absolute;bottom:18%;width:14px;height:22px;border-bottom:5px solid #7a5530;pointer-events:none}.tile--bracket:before{left:8px;border-left:5px solid #7a5530;border-radius:0 0 0 4px}.tile--bracket:after{right:8px;border-right:5px solid #7a5530;border-radius:0 0 4px}.tile--buttoned:active,.tile--bracket:active{transform:scale(.97)}.bag__slot.is-unbuttoned{animation:unbutton .9s ease-out both}@keyframes unbutton{0%{transform:scale(.8);box-shadow:0 0 #f7d98a00}40%{transform:scale(1.12);box-shadow:0 0 0 4px #f7d98ab3,0 0 20px #f7d98acc}to{transform:none}}.found--note{max-width:min(560px,88vw);padding:10px 18px;font-family:var(--font-body);font-size:17px;line-height:1.3;text-align:center;animation:found-toast 4.2s ease-out both}.flight-hud__loop{flex:none;width:26px;height:26px;box-sizing:border-box;border:2px dashed rgba(247,217,138,.6);border-radius:50%}.flight-hud__loop--tied{border-style:solid;border-color:#f7d98a40;background:radial-gradient(circle,rgba(247,217,138,.35) 0 3px,transparent 4px)}.card--grew .card__portrait{display:block;width:84px;height:84px;margin:0 auto 6px;border:3px solid #b8925a;border-radius:50%;object-fit:cover;object-position:top}.card--grew .card__art{width:min(40vw,150px);height:min(40vw,150px)}.card--grew .card__name{margin-top:0}.slot--nest{justify-content:center;text-align:center}.slot--nest .slot__new{padding:4px 0 0}.slot--waiting{border-style:dashed;background:#f4e6c852;cursor:default}.slot--waiting:active{transform:none;box-shadow:0 8px 24px #00000059}.slot__nest{position:relative;display:block;width:74%;aspect-ratio:2 / 1;margin-top:26px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#3e2810 0 40%,#7a5a30 55%,#5b3d1c 70%);box-shadow:inset 0 3px 6px #00000080}.slot__nest:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-8%;height:58%;z-index:2;border-radius:0 0 50% 50%/0 0 100% 100%;background:repeating-linear-gradient(100deg,#8a6a3c 0 5px,#6b4a22 5px 9px);box-shadow:0 3px 4px #0000004d}.slot__egg{position:absolute;left:50%;bottom:30%;z-index:1;width:40%;aspect-ratio:3 / 4;transform:translate(-50%) rotate(-8deg);border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.65),transparent 42%),var(--shell, #efe7de);box-shadow:inset -4px -6px 8px #0000002e,0 2px 4px #0000004d}.slot__line{padding:6px 2px 0;font-size:clamp(11px,1.4vw,13px);line-height:1.25;opacity:.85}.slot--waiting .slot__line{padding-top:12px;font-size:clamp(12px,1.5vw,14px);opacity:1}.fishing{position:absolute;inset:0;z-index:5;display:block;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.fishing-bait,.fishing-pulls{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:10px;pointer-events:auto}.fishing-bait__tile{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(60px,8vw,84px);height:clamp(60px,8vw,84px);padding:0;border:3px solid #b8925a;border-radius:16px;background:#f4e6c8eb;box-shadow:0 4px 12px #00000059;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.fishing-bait__tile.is-picked{border-color:#ffd166;background:linear-gradient(var(--amber),var(--amber-deep));box-shadow:0 0 0 3px #ffd1668c,0 4px 12px #00000059}.fishing-bait__tile--bare{cursor:default;opacity:.85}.fishing-bait__icon{width:72%;height:72%;object-fit:contain;pointer-events:none}.fishing-bait__hook{font-size:clamp(28px,4vw,40px);line-height:1}.fishing-bait__count{position:absolute;right:-6px;bottom:-6px;min-width:24px;padding:2px 6px;box-sizing:border-box;border:2px solid #b8925a;border-radius:12px;background:#fff6d6;color:var(--ink);font-family:var(--font-title);font-size:clamp(13px,1.6vw,16px);text-align:center}.fishing-pulls__pip{width:18px;height:18px;border:2px solid #fff6d6;border-radius:50%;background:#28180873;box-shadow:0 2px 6px #0006}.fishing-pulls__pip.is-in{background:#ffd166}.card--fishing{width:min(92vw,480px)}.card__art--fish{background:radial-gradient(circle at 40% 35%,#bfe3f5,#4f94b8 60%,#1f4c66)}.fishing-card__fish{display:block;margin:0 auto}.fishing-card__size{margin-left:14px;font-family:var(--font-title);font-size:clamp(18px,2.4vw,24px);color:#6b3d12}.fishing-bucket{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:10px 0 4px}.fishing-bucket__fish{width:clamp(44px,7vw,60px);height:clamp(44px,7vw,60px);object-fit:contain}.campsite__scene .scene__img{filter:var(--sky-filter, none);transition:opacity .18s ease,filter 1.4s ease}.scene__sky{position:absolute;inset:0;pointer-events:none;transition:opacity 1.4s ease}.scene__haze{position:absolute;inset:0;pointer-events:none;opacity:var(--haze, 0);background:linear-gradient(to top,#c4c8cc8c,#c4c8cc2e 28%,#c4c8cc00 52%);transition:opacity 1.4s ease}.placard-arc{display:flex;align-items:center;justify-content:center;gap:8px;max-width:340px;padding:4px 12px;box-sizing:border-box;border:2px solid #7f8da3;border-radius:12px;background:#e0e4ecf0;color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.25;text-align:center;box-shadow:0 4px 12px #00000059;animation:bubble-in .28s ease-out both}.placard-arc__go{flex:none;min-width:0;padding:2px 10px;font-size:14px}.arc-night{position:absolute;inset:0;z-index:5;display:block;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.arc-night__strip{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(60vw,420px);padding:6px 14px 8px;box-sizing:border-box;border:2px solid #b8925a;border-radius:12px;background:#f4e6c8eb;color:var(--ink);font-family:var(--font-title);font-size:clamp(15px,2vw,20px);text-align:center;pointer-events:none}.arc-night__bar{height:8px;margin-top:6px;border-radius:4px;background:#3c281440;overflow:hidden}.arc-night__fill{width:calc(var(--v, 0) * 100%);height:100%;border-radius:4px;background:linear-gradient(#f7d98a,#c98a2e);transition:width .25s ease-out}.arc-night__say{margin-bottom:max(14px,env(safe-area-inset-bottom))}.arc-night__card{width:min(90vw,560px);margin-bottom:max(14px,env(safe-area-inset-bottom));padding:12px 18px 14px;box-sizing:border-box;border:2px solid #b8925a;border-radius:14px;background:#f4e6c8f2;color:var(--ink);font-family:var(--font-body);font-size:clamp(15px,2vw,20px);line-height:1.3;text-align:center;box-shadow:0 8px 24px #0006;pointer-events:auto;animation:bubble-in .28s ease-out both}.arc-night__card-text{margin:0 0 6px}.arc-night__card-type{margin:0 0 8px;font-style:italic;color:#5a3d20}.arc-night__card-button{margin-top:4px}.arc-night-card,.arc-pass{width:min(90vw,480px)}
