@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Manrope:wght@400;700;800&display=swap');

:root{--cream:#f5f6e7;--lime:#d7ed73;--moss:#17351f;--glass:#10271cce;--line:#e8efd83a;--muted:#b6c5a7}
*{box-sizing:border-box;margin:0}
html,body{width:100%;height:100%;overflow:hidden;background:#bfd9a5;color:var(--cream);font-family:"DM Sans",sans-serif}
button,input{font:inherit}
button{cursor:pointer}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block}
.hidden{display:none!important}

.loading-screen{position:fixed;z-index:60;inset:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#06130cdd,#020805f5),url('kF0CxpqdxqXnjDFdFMT6.webp') center/cover;opacity:1;visibility:visible;transition:opacity .9s ease,visibility .9s step-end;color:#f5f0d4}
.loading-screen.complete{opacity:0;visibility:hidden;pointer-events:none}
.loading-canopy{position:absolute;inset:-8%;background:radial-gradient(ellipse at center,#17392200 25%,#07170bb8 66%,#010402 100%);animation:loading-canopy 7s ease-in-out infinite alternate}
.loading-glow{position:absolute;left:50%;top:48%;width:min(620px,80vw);height:390px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#d9c5551a 0,#8d9e3122 33%,#274a2210 58%,#10231700 72%);filter:blur(10px);animation:loading-glow 3.6s ease-in-out infinite}
.loading-content{position:relative;z-index:3;width:min(520px,84vw);text-align:center;text-shadow:0 3px 18px #000}
.loading-logo{width:min(390px,78vw);height:310px;margin:0 auto -42px;object-fit:contain;animation:loading-logo 3.8s ease-in-out infinite}
.loading-kicker{font:800 9px "Manrope",sans-serif;letter-spacing:5px;color:#dfe8a1}
.loading-track{position:relative;width:min(390px,76vw);height:8px;margin:27px auto 11px;padding:2px;border:1px solid #d8d09352;border-radius:20px;background:#07170dc7;box-shadow:inset 0 2px 5px #0009,0 0 24px #9ba3401c;overflow:visible}.loading-track::before,.loading-track::after{content:"";position:absolute;top:50%;width:22px;height:12px;margin-top:-7px;border:2px solid #7e8f43;border-width:2px 0 0;border-radius:60%}.loading-track::before{left:-20px;transform:rotate(-18deg)}.loading-track::after{right:-20px;transform:scaleX(-1) rotate(-18deg)}
#loadingFill{display:block;width:0;height:100%;border-radius:15px;background:linear-gradient(90deg,#6d7e32,#d9d56e 68%,#fff0a3);box-shadow:0 0 8px #f1e879,0 0 22px #a9bd4166;transition:width .35s ease}
.loading-track>i{position:absolute;top:50%;left:calc(var(--loading-progress,0) * 100%);width:5px;height:5px;border-radius:50%;background:#fff6aa;box-shadow:0 0 9px 3px #e9e467;animation:loading-pulse 1.3s ease-in-out infinite}
.loading-meta{width:min(390px,76vw);margin:auto;display:flex;justify-content:space-between;gap:18px;font:700 8px "Manrope",sans-serif;letter-spacing:1.3px;color:#abb99a;text-align:left}.loading-meta b{font-size:10px;color:#f1e99a}.loading-tip{min-height:34px;margin:35px auto 0;max-width:410px;font:600 11px/1.55 "DM Sans",sans-serif;color:#d4dbc4;opacity:.72}.loading-tip.changing{animation:loading-tip .6s ease both}
.loading-motes{position:absolute;inset:0;z-index:2;pointer-events:none}.loading-motes i{position:absolute;width:3px;height:3px;border-radius:50%;background:#f5e976;box-shadow:0 0 8px 2px #e8dc5d;opacity:.2;animation:loading-mote 5s ease-in-out infinite alternate}.loading-motes i:nth-child(1){left:12%;top:24%;animation-delay:-1s}.loading-motes i:nth-child(2){left:20%;top:68%;animation-delay:-3.2s}.loading-motes i:nth-child(3){left:31%;top:18%;animation-delay:-4.1s}.loading-motes i:nth-child(4){left:39%;top:78%;animation-delay:-.8s}.loading-motes i:nth-child(5){left:48%;top:12%;animation-delay:-2.7s}.loading-motes i:nth-child(6){left:56%;top:71%;animation-delay:-4.8s}.loading-motes i:nth-child(7){left:65%;top:25%;animation-delay:-1.9s}.loading-motes i:nth-child(8){left:73%;top:82%;animation-delay:-3.5s}.loading-motes i:nth-child(9){left:82%;top:36%;animation-delay:-.4s}.loading-motes i:nth-child(10){left:90%;top:67%;animation-delay:-2.2s}.loading-motes i:nth-child(11){left:8%;top:84%;animation-delay:-4.5s}.loading-motes i:nth-child(12){left:86%;top:15%;animation-delay:-1.5s}
.loading-screen.error #loadingFill{background:#b85c3d;box-shadow:0 0 12px #d56d47}.loading-screen.error .loading-kicker{color:#e99d7e}
@keyframes loading-canopy{to{transform:scale(1.04);filter:brightness(1.08)}}
@keyframes loading-glow{50%{transform:translate(-50%,-50%) scale(1.08);opacity:.65}}
@keyframes loading-logo{50%{transform:translateY(-4px);filter:drop-shadow(0 10px 22px #c8c65b30)}}
@keyframes loading-pulse{50%{transform:scale(1.8);opacity:.45}}
@keyframes loading-tip{from{opacity:0;transform:translateY(4px)}to{opacity:.72;transform:none}}
@keyframes loading-mote{0%{transform:translate(-12px,18px) scale(.7);opacity:.12}55%{opacity:.8}100%{transform:translate(18px,-25px) scale(1.3);opacity:.3}}
@media(prefers-reduced-motion:reduce){.loading-canopy,.loading-glow,.loading-logo,.loading-track>i,.loading-motes i{animation:none}}

.awakening{--lid:58%;position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none;background:#000}
.eyelid{position:absolute;left:-5%;width:110%;height:var(--lid);background:radial-gradient(ellipse at 50% 100%,#080b08 0,#000 72%);will-change:height;box-shadow:0 0 45px 25px #000}
.upper-lid{top:0;border-radius:0 0 48% 48%/0 0 24% 24%}
.lower-lid{bottom:0;transform:rotate(180deg);border-radius:0 0 48% 48%/0 0 24% 24%}
.sleep-vignette{position:absolute;inset:-4%;background:radial-gradient(ellipse at center,#0000 34%,#02040338 62%,#000b 100%);opacity:.78;mix-blend-mode:multiply}
.awakening::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#7fa98b0a,#fff0 42%,#dce7c90b);opacity:.45}
.awakening.dying::after{background:radial-gradient(ellipse at center,#8b190b12 0,#2507043b 55%,#000 100%);opacity:.85}
.death-message{position:absolute;z-index:4;left:50%;top:50%;display:grid;justify-items:center;gap:12px;min-width:min(520px,90vw);transform:translate(-50%,-40%);text-align:center;opacity:0;transition:opacity 1.1s ease;color:#f3e5ca;text-shadow:0 3px 18px #000,0 0 24px #d8b47744;filter:brightness(2.15) drop-shadow(0 0 18px #bd8b5e55)}.death-message span{font:800 18px "Manrope",sans-serif;letter-spacing:5px;color:#fff1d7}.death-message small{font:700 7px "Manrope",sans-serif;letter-spacing:3px;color:#d2c8b7}.death-message>b{font:800 10px "Manrope",sans-serif;letter-spacing:2.4px;color:#ffdd87}.death-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;width:100%;margin-top:12px}.death-message .forest-button{width:100%;margin-top:0;pointer-events:none;filter:brightness(1.18);border-color:#e1c98b99}.awakening.death-ended .death-message{opacity:1}.awakening.death-ended .death-message .forest-button{pointer-events:auto}.death-message.game-over #deathLives{color:#ff8d76}.death-message.game-over .death-actions{grid-template-columns:1fr}.death-message.game-over #deathResume{display:none}
.damage-flash{position:fixed;z-index:29;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#9b1e0a00 30%,#9b1e0a55 72%,#240200c7 100%);mix-blend-mode:multiply}.damage-flash.hit{animation:damage-impact .48s ease-out}
@keyframes damage-impact{0%{opacity:0}16%{opacity:.92}100%{opacity:0}}
.night-malice{--malice:0;position:fixed;z-index:3;inset:-2%;pointer-events:none;opacity:var(--malice);background:radial-gradient(ellipse at 50% 46%,#0000 34%,#15112624 61%,#0806119c 100%),linear-gradient(180deg,#14132b24,#0000 42%,#130d1d35);mix-blend-mode:multiply;transition:opacity 1.2s ease}.night-malice::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 72%,#5a496b12,#0000 31%),radial-gradient(ellipse at 82% 28%,#313c6815,#0000 34%);animation:night-breathe 7s ease-in-out infinite alternate}@keyframes night-breathe{to{opacity:.58;transform:scale(1.025)}}
.victory-overlay{position:fixed;z-index:55;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#4c55268c,#07130be8 62%,#020503f8);backdrop-filter:blur(13px)}.victory-rays{position:absolute;width:900px;height:900px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#f5e98b0a 0 7deg,#0000 7deg 18deg);animation:victory-turn 32s linear infinite}.victory-panel{position:relative;z-index:2;width:min(560px,88vw);padding:35px 55px 48px;text-align:center;border:1px solid #d9c56a66;background:linear-gradient(145deg,#233e29eb,#08170ef5);box-shadow:inset 0 1px #fff2,0 35px 90px #000c;clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px)}.victory-logo{width:280px;height:190px;margin:-45px auto -32px;object-fit:contain}.victory-panel p{font:800 8px "Manrope",sans-serif;letter-spacing:3.2px;color:#dae68e}.victory-panel h2{margin:12px 0 14px;font:800 30px/1.1 "Manrope",sans-serif;letter-spacing:1px;color:#fff0ae}.victory-panel>small{display:block;margin-bottom:18px;font:600 12px/1.55 "DM Sans",sans-serif;color:#cad5bd}.next-level{width:min(350px,100%);margin:0 auto 22px;padding:12px 17px;border-top:1px solid #d8c67055;border-bottom:1px solid #d8c67055;background:linear-gradient(90deg,#fff0,#cfbd5d12,#fff0)}.next-level span,.next-level b,.next-level small{display:block}.next-level span{font:800 7px "Manrope",sans-serif;letter-spacing:3px;color:#aabc78}.next-level b{margin:5px 0 3px;font:800 17px "Manrope",sans-serif;letter-spacing:2px;color:#ffe98c;text-shadow:0 0 18px #f2d45e66}.next-level small{margin:0;font:600 9px "DM Sans",sans-serif;color:#b9c7ad}.victory-panel .forest-button{width:260px;margin:auto}@keyframes victory-turn{to{transform:rotate(360deg)}}

.overlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;text-align:center;background:linear-gradient(90deg,#0e2416ba,#18331a4f),url('kF0CxpqdxqXnjDFdFMT6.webp') center/cover}
.overlay::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,#10241533,#07150b99)}
.panel,.pause-panel,.options-panel{position:relative;z-index:2;text-shadow:0 2px 20px #13261480}
.menu-fireflies{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.menu-fireflies i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#fff5a3;box-shadow:0 0 5px 2px #ffe45f,0 0 14px 5px #e9cf3866;opacity:.15;will-change:transform,opacity;animation:firefly-drift var(--duration) ease-in-out infinite alternate var(--delay),firefly-glow 2.4s ease-in-out infinite var(--delay)}
.menu-fireflies i:nth-child(3n){background:#dfff8b;box-shadow:0 0 5px 2px #dbff65,0 0 16px 5px #bddb3970}
@keyframes firefly-drift{0%{transform:translate3d(calc(var(--dx) * -.45),calc(var(--dy) * -.35),0)}45%{transform:translate3d(var(--dx),calc(var(--dy) * .3),0)}100%{transform:translate3d(calc(var(--dx) * -.25),var(--dy),0)}}
@keyframes firefly-glow{0%,100%{opacity:.12}38%{opacity:.92}62%{opacity:.35}}
.panel{width:min(720px,90vw);padding:54px 38px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:6px;color:#dce9bb}
.brand-logo{display:block;object-fit:contain;visibility:hidden;user-select:none;-webkit-user-drag:none}.brand-logo.logo-ready{visibility:visible}
.menu-logo{width:clamp(300px,38vw,430px);max-height:46vh;margin:4px auto 10px;animation:brand-arrival 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes brand-arrival{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
.intro{font-size:16px;line-height:1.7;color:#f4f4df}
.intro strong{font-size:12px;letter-spacing:2.8px;text-transform:uppercase;color:#dfeaa6}
.menu-actions{width:min(370px,100%);margin:34px auto 20px;display:grid;gap:12px;perspective:700px}
.panel button,.pause-panel button,.options-panel footer button{position:relative;display:block;width:100%;height:56px;border:1px solid #edf7c966;background:#e5f59e;color:#17331d;font:800 12px "Manrope",sans-serif;letter-spacing:2px;overflow:hidden}
.panel button:disabled{cursor:wait;background:#d9e6ae;color:#47613f}
.panel button span{position:relative;z-index:2}
.panel button i{position:absolute;z-index:1;inset:0 auto 0 0;width:0;background:#b6d75f;transition:width .25s}
button.secondary{background:#10271bbd!important;color:#ecf2d8!important;border-color:#e7efd65c!important}
button.ghost{background:transparent!important;color:#c9d4bd!important;border-color:transparent!important}
.menu-actions button{height:62px;border:1px solid #d9bd768c;border-radius:4px;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);font-size:11px;letter-spacing:2.6px;text-shadow:0 2px 2px #1b100acc;box-shadow:inset 0 2px #fff2,inset 0 -4px #1d100963,0 8px 20px #07110877;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.menu-actions button::before,.menu-actions button::after{content:"";position:absolute;z-index:4;top:50%;width:11px;height:17px;margin-top:-9px;border-radius:100% 0 100% 0;background:#b3c76a;box-shadow:0 1px 3px #10200c;opacity:.82;pointer-events:none}
.menu-actions button::before{left:17px;transform:rotate(-43deg)}.menu-actions button::after{right:17px;transform:rotate(137deg)}
.menu-actions #play{background:repeating-linear-gradient(3deg,#fff0 0 7px,#d3a25812 8px 9px),linear-gradient(180deg,#8a5b30,#5b351e 55%,#452616);color:#fff0bd;border-color:#dfbd72}
.menu-actions #play i{inset:4px;height:auto;max-width:calc(100% - 8px);background:linear-gradient(90deg,#bf8e43aa,#e4bd65a8);border-radius:2px;opacity:.7}
.menu-actions #play:disabled{background:repeating-linear-gradient(3deg,#fff0 0 7px,#d3a2580d 8px 9px),linear-gradient(180deg,#67492e,#4b3324);color:#cbbb92;border-color:#93774f;filter:saturate(.65)}
.menu-actions #play:disabled::before,.menu-actions #play:disabled::after{background:#7f8c59}
.menu-actions #openOptions{background:repeating-linear-gradient(-4deg,#fff0 0 8px,#a1c1730a 9px 10px),linear-gradient(180deg,#304d32,#1c3422 58%,#122619)!important;color:#e8efc1!important;border-color:#8ca269!important}
.menu-actions #openOptions::before,.menu-actions #openOptions::after{background:#91b65c}
.menu-actions button:not(:disabled):hover{transform:translateY(-2px) rotateX(2deg);filter:brightness(1.12) saturate(1.08);box-shadow:inset 0 2px #fff3,inset 0 -4px #1d100963,0 12px 26px #07110899}
.menu-actions button:not(:disabled):active{transform:translateY(1px);filter:brightness(.94);box-shadow:inset 0 3px 8px #07110899,0 3px 8px #07110866}
.menu-actions button:focus-visible{outline:2px solid #f1dc8c;outline-offset:4px}
.panel small{font-size:10px;letter-spacing:2px;color:#d6dfc4}
.sound-gate{margin:-2px 0 14px;font:700 9px "Manrope",sans-serif;letter-spacing:2px;color:#f4dfa4;animation:pulse 1.8s ease-in-out infinite}
.game-credits{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:13px;width:min(760px,92vw);padding:8px 15px;color:#aeba9f;font:700 7px "Manrope",sans-serif;letter-spacing:1.5px;text-shadow:0 2px 10px #020704}.game-credits>span{white-space:nowrap}.game-credits>i{width:1px;height:14px;background:#d9e2c42b}.game-credits nav{display:flex;align-items:center;gap:7px}.game-credits a{display:inline-block;padding:5px 8px;border:1px solid #d8e3c326;border-radius:3px;color:#dfe9cb;text-decoration:none;background:#10251aa8;backdrop-filter:blur(6px);transition:color .18s,border-color .18s,background .18s,transform .18s}.game-credits span a{padding:0;border:0;background:transparent;color:#f0d98c;backdrop-filter:none}.game-credits a:hover{color:#fff2a8;border-color:#d9c87588;background:#1e3827d9;transform:translateY(-1px)}.game-credits span a:hover{background:transparent}.game-credits a:focus-visible{outline:2px solid #f1dc8c;outline-offset:2px}
@keyframes pulse{50%{opacity:.45}}

.place{position:fixed;top:12px;left:22px;width:158px;text-align:center;text-shadow:0 2px 8px #183519}
.hud-logo{width:146px;height:112px;margin:-8px auto 0;object-fit:cover;object-position:center 66%}
.artifact-tracker{position:fixed;z-index:5;top:111px;left:34px;display:grid;grid-template-columns:repeat(3,14px);gap:5px;justify-content:center;width:130px;text-align:center;text-shadow:0 2px 8px #08120a}.artifact-tracker span,.artifact-tracker b{grid-column:1/4}.artifact-tracker span{font:700 6px "Manrope",sans-serif;letter-spacing:2px;color:#9eaf92}.artifact-tracker b{margin:2px 0 5px;font:800 9px "Manrope",sans-serif;letter-spacing:1.5px;color:#f1dc8d}.artifact-tracker i{width:14px;height:14px;transform:rotate(45deg);border:1px solid #d8ca7777;background:#12251a;box-shadow:inset 0 0 7px #0008}.artifact-tracker i.found{background:#dac56d;box-shadow:0 0 9px #e9da77,inset 0 0 3px #fff8;border-color:#fff1a1}
.life-tracker{position:fixed;z-index:5;top:176px;left:57px;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e2b9942b;border-radius:14px;background:#10251ac2;box-shadow:0 6px 18px #06120a66;backdrop-filter:blur(6px)}.life-tracker span{margin-right:2px;font:700 6px "Manrope",sans-serif;letter-spacing:1.7px;color:#aebd9f}.life-tracker i{color:#ef8b72;font:700 10px Georgia,serif;font-style:normal;text-shadow:0 0 8px #ef725f88;transition:opacity .35s,filter .35s,transform .35s}.life-tracker i.lost{opacity:.18;filter:grayscale(1);transform:scale(.78)}
.map-panel{position:fixed;top:24px;right:26px;width:178px;height:205px;padding-top:27px;filter:drop-shadow(0 5px 15px #10200e70)}
#minimap{width:172px;height:172px;border:1px solid #f4f5dd66;border-radius:50%;display:block;box-shadow:inset 0 0 30px #06120888}
.map-heading{position:absolute;left:12px;right:12px;top:0;display:flex;justify-content:space-between;align-items:center;font:700 10px "Manrope",sans-serif;letter-spacing:2px;text-shadow:0 2px 8px #10200d}
.map-heading b{font-size:12px;color:#e7f3b2}
.north{position:absolute;top:34px;left:50%;transform:translateX(-50%);font:700 9px "Manrope",sans-serif;color:#f4f5dd;z-index:2}
.tool-legend{position:absolute;left:50%;bottom:0;transform:translateX(-50%);white-space:nowrap;font:800 7px "Manrope",sans-serif;letter-spacing:1.25px;color:#ffe18a;text-shadow:0 2px 8px #10200d}

.survival{position:fixed;left:26px;bottom:24px;width:258px;height:132px;filter:drop-shadow(0 12px 22px #07150d88);text-shadow:0 1px 7px #071108;pointer-events:none}
.survival-title{position:absolute;left:8px;top:0;display:flex;align-items:center;gap:11px}
.survival-title::before{content:"";width:18px;height:1px;background:#dcecaa}
.survival-title span{font:700 8px "Manrope",sans-serif;letter-spacing:2.2px}
.survival-title small{font:700 6px "Manrope",sans-serif;letter-spacing:1.4px;color:#aebe9a}
.vital-cell{position:absolute;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#34543ed9,#0c2318e8 70%);border:1px solid #ecf3df2e;box-shadow:inset 0 1px #fff2,0 5px 18px #07130c55;backdrop-filter:blur(7px)}
.vital-cell::after{content:"";position:absolute;inset:6px;border:1px solid #fff0;border-top-color:#fff2;border-radius:inherit;transform:rotate(-18deg)}
.health-cell{left:0;bottom:0;width:94px;height:94px;border-radius:54% 46% 58% 42%/48% 57% 43% 52%;color:#ef8b72}
.temperature-cell{left:87px;bottom:3px;width:83px;height:78px;border-radius:44% 56% 43% 57%/58% 42% 58% 42%;color:#a5dbe2}
.temperature-cell.warming{color:#ffc06f;background:radial-gradient(circle at 42% 30%,#6b422de8,#1f2e1fe8 72%);box-shadow:inset 0 1px #fff3,0 5px 22px #ff8f3d55}
.food-cell{left:160px;bottom:10px;width:79px;height:79px;border-radius:58% 42% 51% 49%/45% 55% 45% 55%;color:#ded27d}
.vital-ring{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);transform:rotate(-90deg);overflow:visible}
.vital-ring circle{fill:none;stroke-width:1.5}
.ring-track{stroke:#edf3df1a}
.ring-value{stroke:currentColor;stroke-dasharray:100;stroke-dashoffset:0;stroke-linecap:round;filter:drop-shadow(0 0 3px currentColor)}
.vital-icon{position:absolute;top:22px;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vital-cell>span{position:absolute;bottom:23px;font:700 6px "Manrope",sans-serif;letter-spacing:1.4px;color:#cad7c0}
.vital-cell>span em{color:currentColor;font-style:normal}
.vital-cell>b{position:absolute;bottom:9px;font:700 11px "Manrope",sans-serif;color:#f5f7e9}
.temperature-cell .vital-icon{top:13px}
.temperature-cell>span{bottom:29px}
.temperature-cell>b{bottom:15px;font-size:8px;white-space:nowrap}
.thermal-track{position:absolute;left:20px;right:20px;bottom:9px;height:2px;background:linear-gradient(90deg,#67a9d633,#e2df8f33,#e77e5633);overflow:hidden}
.thermal-track span{display:block;height:100%;background:linear-gradient(90deg,#76c2df,#dce29a);box-shadow:0 0 6px #96d4de}

.warmth-feedback{--warmth:0;position:fixed;z-index:4;left:50%;bottom:-8px;width:min(680px,76vw);height:250px;transform:translateX(-50%);opacity:0;pointer-events:none;overflow:hidden;transition:opacity .55s ease;filter:saturate(calc(.75 + var(--warmth) * .55))}
.warmth-feedback.active{opacity:calc(.32 + var(--warmth) * .68)}
.warmth-aura{position:absolute;left:7%;right:7%;bottom:-105px;height:230px;border-radius:50%;background:radial-gradient(ellipse at 50% 100%,#ff9b3b8f 0,#ff7b3247 34%,#ffb34a16 58%,#ff8a2a00 76%);filter:blur(calc(12px - var(--warmth) * 4px));animation:warmth-breathe 2.8s ease-in-out infinite}
.heat-ripples{position:absolute;inset:0}.heat-ripples i{position:absolute;left:50%;bottom:42px;width:160px;height:54px;margin-left:-80px;border-top:1px solid #ffd68c99;border-radius:50%;opacity:0;filter:blur(.3px);animation:heat-ripple 3s ease-out infinite}.heat-ripples i:nth-child(2){animation-delay:1s;width:230px;margin-left:-115px}.heat-ripples i:nth-child(3){animation-delay:2s;width:310px;margin-left:-155px}
.warmth-motes i{position:absolute;bottom:34px;left:calc(32% + var(--mote-x,0%));width:3px;height:3px;border-radius:50%;background:#ffd985;box-shadow:0 0 7px 2px #ff9f43;opacity:0;animation:warmth-mote 2.6s ease-out infinite}.warmth-motes i:nth-child(1){--mote-x:2%;animation-delay:-.3s}.warmth-motes i:nth-child(2){--mote-x:12%;animation-delay:-1.8s}.warmth-motes i:nth-child(3){--mote-x:22%;animation-delay:-.9s}.warmth-motes i:nth-child(4){--mote-x:31%;animation-delay:-2.2s}.warmth-motes i:nth-child(5){--mote-x:39%;animation-delay:-1.3s}.warmth-motes i:nth-child(6){--mote-x:17%;animation-delay:-2.5s}
.warmth-feedback>span{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);padding:7px 12px 6px;border:1px solid #ffc86f47;border-radius:20px;background:#3b1d0b7d;box-shadow:0 0 22px #ff8b384d,inset 0 1px #ffe7ad24;backdrop-filter:blur(6px);font:800 8px "Manrope",sans-serif;letter-spacing:2.1px;color:#ffe0a0;text-shadow:0 1px 5px #4d170b;white-space:nowrap}.warmth-feedback>span b{display:inline-block;margin-right:5px;color:#ffae58;animation:warmth-arrow 1.2s ease-in-out infinite}
@keyframes warmth-breathe{50%{transform:scaleX(1.08) scaleY(1.13);opacity:.8}}
@keyframes heat-ripple{0%{transform:translateY(5px) scale(.62);opacity:0}24%{opacity:.7}100%{transform:translateY(-105px) scale(1.22);opacity:0}}
@keyframes warmth-mote{0%{transform:translate(0,0) scale(.6);opacity:0}20%{opacity:.85}100%{transform:translate(18px,-120px) scale(1.15);opacity:0}}
@keyframes warmth-arrow{50%{transform:translateY(-2px);filter:drop-shadow(0 0 4px #ffb35c)}}
@media(prefers-reduced-motion:reduce){.warmth-aura,.heat-ripples i,.warmth-motes i,.warmth-feedback>span b{animation:none}}

.crosshair{position:fixed;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:#fff9;box-shadow:0 1px 5px #263b1f}
.controls{position:fixed;right:28px;bottom:26px;font-size:10px;letter-spacing:1px;text-shadow:0 2px 8px #10200d}
.controls b{margin-left:10px;color:#e6f6a7}
.controls b:first-child{margin-left:0}
#hint{position:fixed;left:50%;bottom:13%;transform:translateX(-50%);padding:10px 15px;border:1px solid #fff4;background:#17351db3;font-size:10px;letter-spacing:2px;opacity:0;transition:opacity .2s}
#hint.visible{opacity:1}
.interaction-prompt{position:fixed;left:50%;bottom:21%;transform:translateX(-50%);display:flex;align-items:center;gap:11px;padding:9px 14px 9px 9px;border:1px solid #eef4dc52;background:#10271de8;box-shadow:0 9px 30px #06120b77;backdrop-filter:blur(8px);font:700 9px "Manrope",sans-serif;letter-spacing:1.7px}
.interaction-prompt b{display:grid;place-items:center;width:28px;height:28px;background:#e4ef9a;color:#17321e;border-radius:4px;font-size:11px}
.equipped-tool{position:fixed;right:28px;bottom:48px;display:flex;align-items:baseline;gap:8px;text-shadow:0 2px 8px #10200d}
.equipped-tool span{font:700 7px "Manrope",sans-serif;letter-spacing:1.5px;color:#aebf9e}.equipped-tool b{font:800 10px "Manrope",sans-serif;letter-spacing:2px;color:#ffd082}
.ammo-counter{position:fixed;right:28px;bottom:70px;display:grid;grid-template-columns:auto auto;align-items:end;gap:0 9px;padding:8px 11px;border-left:2px solid #f2d17c;background:#10251bc9;backdrop-filter:blur(7px);text-align:right}.ammo-counter span{font:800 7px "Manrope",sans-serif;letter-spacing:1.5px;color:#aebeaa}.ammo-counter b{font:800 19px/1 "Manrope",sans-serif;color:#ffe194}.ammo-counter small{grid-column:1/3;margin-top:3px;font:700 6px "Manrope",sans-serif;letter-spacing:1.1px;color:#d5dfcc}
.bow-charge-track{grid-column:1/3;display:block;width:100%;height:3px;margin-top:6px;background:#d9e4c41f;overflow:hidden}.bow-charge-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#b5d271,#ffe08a,#ff9b57);box-shadow:0 0 8px #ffd66d;transition:width .04s linear}.ammo-counter.charging{border-left-color:#ffcf68;box-shadow:0 0 22px #ffb04c22}.ammo-counter.charging small{color:#ffe49b}

.tool-wheel{position:fixed;inset:0;z-index:25;display:grid;place-items:center;color:#f4f6e7;cursor:default}
.wheel-backdrop{position:absolute;inset:0;background:radial-gradient(circle at center,#08140c55 0 17%,#06110bd9 58%,#020604f0 100%);backdrop-filter:blur(7px)}
.wheel-core{position:relative;z-index:2;width:138px;height:138px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 40% 32%,#2c4d38,#0b1d13 72%);border:1px solid #e5edce42;box-shadow:inset 0 1px #fff2,0 16px 45px #0009}
.wheel-core::before{content:"";position:absolute;inset:9px;border:1px dashed #dfe9bd28;border-radius:50%}
.wheel-core small{position:relative;font:800 11px "Manrope",sans-serif;color:#182d1d;background:#dfed93;width:25px;height:25px;line-height:25px;margin:0 auto 6px;border-radius:50%}
.wheel-core b{font:800 13px "Manrope",sans-serif;letter-spacing:2.5px}.wheel-core span{margin-top:5px;font:700 7px "Manrope",sans-serif;letter-spacing:1.2px;color:#adbd9f}
.tool-slot{--radius:174px;position:absolute;z-index:3;left:50%;top:50%;width:112px;height:88px;margin:-44px 0 0 -56px;transform:rotate(var(--angle)) translateY(calc(-1 * var(--radius))) rotate(calc(-1 * var(--angle)));display:grid;place-content:center;gap:6px;border:1px solid #dfe8cb38;border-radius:24px 24px 20px 20px;background:linear-gradient(145deg,#193426ed,#0a1d13ed);color:#8fa18c;box-shadow:inset 0 1px #fff2,0 11px 32px #0008;transition:transform .16s,border-color .16s,background .16s;color-scheme:dark}
.tool-slot:hover,.tool-slot.selected{border-color:#f0dc83;background:linear-gradient(145deg,#3d4a2b,#14251a);color:#ffe59b;transform:rotate(var(--angle)) translateY(calc(-1 * var(--radius))) rotate(calc(-1 * var(--angle))) scale(1.08)}
.tool-slot.occupied{color:#f4e1a0}.tool-slot i{position:absolute;left:9px;top:8px;font:700 7px "Manrope",sans-serif;color:#849580;font-style:normal}.tool-slot span{font:800 9px "Manrope",sans-serif;letter-spacing:1.4px}.tool-slot[data-tool="torch"]::after{content:"";width:15px;height:34px;margin:auto;background:linear-gradient(90deg,#55311c,#a76c34,#4a2818);clip-path:polygon(42% 28%,30% 100%,70% 100%,58% 28%,92% 22%,66% 0,34% 0,8% 22%);filter:drop-shadow(0 -5px 5px #ff9a3d)}
.tool-slot[data-tool="axe"]::after,.tool-slot[data-tool="sword"]::after,.tool-slot[data-tool="shovel"]::after{display:block;margin:auto;color:#ffe19a;font:700 30px/32px "Manrope",sans-serif;filter:drop-shadow(0 3px 5px #0008)}
.tool-slot[data-tool="axe"]::after{content:"⚒"}.tool-slot[data-tool="sword"]::after{content:"†";transform:rotate(35deg)}.tool-slot[data-tool="shovel"]::after{content:"♠";transform:rotate(180deg)}
.tool-slot[data-tool="bow"]::after{content:"⌒➤";display:block;margin:auto;color:#ffe19a;font:700 24px/32px "Manrope",sans-serif;transform:rotate(-12deg);filter:drop-shadow(0 3px 5px #0008)}
.tool-slot[data-tool="guide"]::after{content:"✦";display:grid;place-items:center;width:33px;height:28px;margin:auto;border:2px solid #d6ae65;border-radius:2px 7px 7px 2px;background:linear-gradient(90deg,#56321e,#8a5c32);color:#f7df91;font:700 14px Georgia,serif;box-shadow:inset 4px 0 #2d1a12,0 3px 7px #0008;transform:rotate(-5deg)}
.health-potion-pouch{position:absolute;z-index:4;right:max(28px,6vw);top:50%;width:210px;min-height:76px;transform:translateY(-50%);display:grid;grid-template-columns:48px 1fr 32px;align-items:center;gap:10px;padding:11px 12px;border:1px solid #8ddf9999;border-radius:8px;background:linear-gradient(145deg,#24452ff2,#0c2115f2);box-shadow:inset 0 1px #fff2,0 14px 38px #0009;color:#eef7df;text-align:left;transition:transform .18s,filter .18s,border-color .18s}.health-potion-pouch:hover:not(:disabled){transform:translateY(-50%) scale(1.045);filter:brightness(1.15);border-color:#c7f4a7}.health-potion-pouch>i{position:relative;display:grid;place-items:center;width:40px;height:44px;border-radius:8px 8px 14px 14px;background:radial-gradient(circle at 35% 28%,#eaffcf,#67dc78 38%,#17723a 78%);box-shadow:inset 0 1px #fff8,0 0 18px #71e58177;color:#fff;font:700 15px Georgia,serif;font-style:normal}.health-potion-pouch>i::before{content:"";position:absolute;top:-7px;width:18px;height:9px;border-radius:3px 3px 1px 1px;background:#72502b;box-shadow:inset 0 2px #aa7b42}.health-potion-pouch span,.health-potion-pouch small,.health-potion-pouch b,.health-potion-pouch em{display:block}.health-potion-pouch small{font:700 6px "Manrope",sans-serif;letter-spacing:1.8px;color:#8fb99a}.health-potion-pouch b{margin-top:3px;font:800 9px "Manrope",sans-serif;letter-spacing:1px}.health-potion-pouch em{margin-top:5px;font:700 7px "Manrope",sans-serif;letter-spacing:1px;color:#cceb9f;font-style:normal}.health-potion-pouch>strong{display:grid;place-items:center;width:30px;height:30px;border:1px solid #b9e1a755;border-radius:50%;background:#091b11;color:#eaffb7;font:800 13px "Manrope",sans-serif}.health-potion-pouch:disabled{opacity:.48;filter:saturate(.5);cursor:not-allowed}.health-potion-pouch.full{opacity:.72}.health-potion-pouch.full em{color:#d7dba9}
.tool-wheel>p{position:absolute;z-index:3;left:50%;bottom:8%;transform:translateX(-50%);font:700 8px "Manrope",sans-serif;letter-spacing:2px;color:#9bad96}

.guide-book{position:fixed;inset:0;z-index:34;display:grid;place-items:center;color:#312314;perspective:1500px}.guide-backdrop{position:absolute;inset:0;background:radial-gradient(circle at center,#18382375,#030806e8 70%);backdrop-filter:blur(11px)}
.open-book{position:relative;width:min(1050px,90vw);height:min(680px,82vh);display:grid;grid-template-columns:1fr 1fr;filter:drop-shadow(0 35px 45px #000b);animation:book-open .65s cubic-bezier(.2,.8,.25,1) both}
.open-book::before{content:"";position:absolute;inset:-17px -22px -20px;border:7px solid #4b2c18;border-radius:18px 22px 22px 18px;background:#392012;box-shadow:inset 0 0 0 2px #a47842,0 12px 0 #1e110b;clip-path:polygon(2% 0,49.5% 2%,50% 0,50.5% 2%,98% 0,100% 4%,99% 96%,52% 100%,50% 98%,48% 100%,1% 96%,0 4%)}
.book-spine{position:absolute;z-index:5;left:50%;top:2%;bottom:2%;width:22px;transform:translateX(-50%);background:linear-gradient(90deg,#5a3b21aa,#2e1b10cc 45%,#e4c98265 51%,#2d1a10cc 58%,#69492baa);box-shadow:0 0 18px #40261188;pointer-events:none}
.guide-spread{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;opacity:0;transform:rotateY(-7deg) scale(.985);pointer-events:none;transition:opacity .25s,transform .45s}.guide-spread.active{opacity:1;transform:none;pointer-events:auto}
.book-page{position:relative;overflow:hidden;padding:60px 54px 50px;background-color:#eadba9;background-image:linear-gradient(90deg,#5d3a1b18,#fff0 9%,#fff0 90%,#4e2f171b),repeating-linear-gradient(0deg,#7b57210a 0 1px,#fff0 1px 6px);box-shadow:inset 0 0 45px #6640162e;font-family:Georgia,"Times New Roman",serif}.book-page::after{content:"";position:absolute;inset:10px;border:1px solid #7d5b2d44;pointer-events:none}.left-page{border-radius:13px 2px 2px 16px}.right-page{border-radius:2px 15px 16px 2px}
.book-ribbon{position:absolute;z-index:8;left:50%;top:-25px;transform:translateX(-50%);padding:9px 34px 8px;background:linear-gradient(#714221,#422513);border:1px solid #b78a4c;color:#f4dda2;font:800 9px "Manrope",sans-serif;letter-spacing:3px;white-space:nowrap;box-shadow:0 7px 14px #0007;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%)}
.guide-close{position:absolute;z-index:10;right:-36px;top:-35px;width:38px;height:38px;border:1px solid #d5b46f99;border-radius:50%;background:#392318;color:#f2dda7;font:300 27px/32px "DM Sans",sans-serif;box-shadow:0 8px 18px #0008}.guide-close:hover{filter:brightness(1.25);transform:rotate(5deg)}
.page-kicker{margin-bottom:9px;font:800 8px "Manrope",sans-serif;letter-spacing:2.4px;color:#886223}.book-page h2{margin-bottom:17px;font:700 29px/1.05 Georgia,serif;color:#3c2815}.book-page .dropcap::first-letter{float:left;margin:2px 7px 0 0;font-size:46px;line-height:.72;color:#825320}.book-page p{font-size:14px;line-height:1.48}.page-number{position:absolute;z-index:2;bottom:22px;left:50%;font:700 12px Georgia,serif;color:#805f32}.book-page blockquote{margin-top:20px;padding:14px 18px;border-top:1px solid #7d5b2d55;border-bottom:1px solid #7d5b2d55;text-align:center;font:italic 13px/1.45 Georgia,serif;color:#66471f}
.relic-trials{display:grid;gap:6px;margin-top:13px}.relic-trials p{display:flex;align-items:center;gap:9px;font-size:10px;line-height:1.25}.relic-trials p>b{display:grid;place-items:center;flex:0 0 24px;height:24px;border:1px solid #8d6330;border-radius:50%;background:#d7bd78;color:#513316;font:700 10px Georgia,serif}.relic-trials span,.relic-trials strong{display:block}.relic-trials strong{font:800 7px "Manrope",sans-serif;letter-spacing:1px;color:#7b4b1e}
.quest-path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:7px;margin-top:25px}.quest-path>div{min-width:0;text-align:center}.quest-path i{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 8px;border:1px solid #8b622f;border-radius:50%;background:#d5bd7d;color:#583818;font:700 22px Georgia,serif}.quest-path b,.quest-path small{display:block}.quest-path b{font:800 7px "Manrope",sans-serif;letter-spacing:.7px}.quest-path small{margin-top:4px;font:italic 10px/1.25 Georgia,serif;color:#6f5430}.quest-path>span{color:#9a763d;font-size:17px}
.forest-sketch{width:100%;height:245px;margin:5px 0 3px;color:#5f4928;overflow:visible}.forest-sketch path,.forest-sketch circle{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.forest-sketch .sketch-path{stroke:#9a6b35;stroke-width:7;stroke-dasharray:4 10}.forest-sketch .river-line{stroke:#487d82aa;stroke-width:12}.forest-sketch text{fill:#64461f;font:700 10px "Manrope",sans-serif;letter-spacing:1px}.ink-list{display:grid;gap:7px;margin:6px 0 0 17px;font:italic 12px/1.35 Georgia,serif}.ink-list li::marker{color:#8f6228}
.day-night-diagram{height:112px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;margin-bottom:17px;border:1px solid #7c582b77;border-radius:70px 70px 8px 8px}.day-night-diagram>div{display:grid;place-items:center;align-content:center;gap:3px}.day-night-diagram i{font-size:29px;font-style:normal}.day-night-diagram b{font:800 9px "Manrope",sans-serif;letter-spacing:2px}.day-night-diagram span{font:italic 11px Georgia,serif}.sun-half{background:radial-gradient(circle at 50% 25%,#fff2ae,#d9a94f);color:#633d15}.moon-half{background:radial-gradient(circle at 50% 25%,#65738c,#263246);color:#eee4bb}
.campfire-drawing{position:relative;width:90px;height:76px;margin:2px auto 12px}.campfire-drawing::before,.campfire-drawing::after{content:"";position:absolute;left:16px;bottom:9px;width:60px;height:9px;border-radius:8px;background:#754520;transform:rotate(18deg);box-shadow:inset 0 2px #b4793c}.campfire-drawing::after{transform:rotate(-18deg)}.campfire-drawing i,.campfire-drawing span,.campfire-drawing b{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);clip-path:polygon(50% 0,76% 36%,67% 28%,88% 70%,50% 100%,12% 70%,33% 28%,24% 36%)}.campfire-drawing i{width:48px;height:58px;background:#b54f21}.campfire-drawing span{width:33px;height:43px;background:#e99531}.campfire-drawing b{width:18px;height:28px;background:#ffe087}.survival-notes{display:grid;gap:8px}.survival-notes p{padding-left:12px;border-left:3px solid #95672e;font-size:12px;line-height:1.35}.survival-notes b{font:800 8px "Manrope",sans-serif;letter-spacing:1px;color:#82521e}
.combat-guide{display:grid;gap:11px}.combat-guide>div{display:flex;align-items:center;gap:13px;padding:10px;border:1px solid #8a642f55;background:#d6bd7c4d}.combat-guide i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#b99858;color:#4e3117;font:700 24px Georgia,serif;font-style:normal}.combat-guide span,.combat-guide b,.combat-guide small{display:block}.combat-guide b{font:800 9px "Manrope",sans-serif;letter-spacing:1.3px}.combat-guide small{margin-top:3px;font:italic 11px Georgia,serif}.combat-guide .danger{border-color:#8d392d88;background:#b55b3a20}.combat-guide .danger i{background:#9a4b35;color:#f1d6a5}.control-scroll{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:15px;padding:12px 14px;border-top:1px solid #7c572f66;border-bottom:1px solid #7c572f66}.control-scroll p{font-size:11px}.book-page kbd{padding:2px 5px;border:1px solid #77542b88;border-radius:3px;background:#d3b877;font:800 8px "Manrope",sans-serif}.final-warning{margin-top:13px;font-style:italic;color:#724120}
.combat-guide.expanded{grid-template-columns:1fr 1fr;gap:7px}.combat-guide.expanded>div{min-height:54px;gap:8px;padding:7px}.combat-guide.expanded i{flex:0 0 34px;width:34px;height:34px;font-size:19px}.combat-guide.expanded b{font-size:7px;letter-spacing:.8px}.combat-guide.expanded small{font-size:9px;line-height:1.25}.combat-guide .elite{border-color:#67508b88;background:#7b5dae22}.combat-guide .elite i{background:#665080;color:#f1dfa5}
.combat-guide.expanded .wide{grid-column:1/-1}
.guide-navigation{position:absolute;z-index:9;left:50%;bottom:-39px;transform:translateX(-50%);display:flex;align-items:center;gap:15px;color:#e9d7a3}.guide-navigation button{width:35px;height:30px;border:1px solid #9f794d;border-radius:3px;background:#432818;color:#ead49b;font:26px/20px Georgia,serif}.guide-navigation span{min-width:75px;text-align:center;font:700 8px "Manrope",sans-serif;letter-spacing:1.5px}.guide-navigation button:disabled{opacity:.3}
.gift-toast{position:fixed;z-index:40;left:50%;top:12%;transform:translate(-50%,0);display:flex;align-items:center;gap:13px;padding:12px 20px 12px 14px;border:1px solid #dabe6e88;border-radius:5px;background:linear-gradient(135deg,#263d29f2,#0d2115f2);box-shadow:0 15px 35px #0008,inset 0 1px #fff2;color:#eff1d9;animation:gift-arrive 4.4s both}.gift-toast>i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d3b85e88;border-radius:50%;background:#556438;color:#ffe18b;font-style:normal;box-shadow:0 0 20px #e6c76144}.gift-toast span,.gift-toast b,.gift-toast small{display:block}.gift-toast b{font:700 7px "Manrope",sans-serif;letter-spacing:2px;color:#aebc91}.gift-toast small{margin-top:3px;font:800 10px "Manrope",sans-serif;letter-spacing:1.7px;color:#ffe29a}
.gift-magic{position:fixed;z-index:39;inset:0;overflow:hidden;pointer-events:none}.gift-magic-orb,.gift-magic-spark,.gift-magic-halo{position:absolute;left:0;top:0;will-change:transform,opacity}.gift-magic-orb{width:var(--orb-size,8px);height:var(--orb-size,8px);margin:calc(var(--orb-size,8px) / -2);border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff 0 16%,#ffeb7a 30%,#d6f078 54%,#8ee9a899 68%,#8fffbd00 79%);box-shadow:0 0 8px #fffbd0,0 0 18px #f5d751ee,0 0 34px #83db8f88;filter:saturate(1.25)}.gift-magic-spark{width:3px;height:18px;margin:-9px -1px;border-radius:50%;background:linear-gradient(#fff0,#fff4ac,#fff0);box-shadow:0 0 8px #f9dd75}.gift-magic-halo{width:86px;height:86px;margin:-43px;border:1px solid #ffe997cc;border-radius:50%;background:radial-gradient(circle,#ffeb8f38 0 20%,#aaffb218 46%,#fff0 70%);box-shadow:0 0 34px #f7cf5b77,inset 0 0 26px #d9ffb544}
.artifact-magic-orb,.artifact-magic-burst{position:absolute;left:0;top:0;will-change:transform,opacity}.artifact-magic-orb{width:var(--orb-size,10px);height:var(--orb-size,10px);margin:calc(var(--orb-size,10px) / -2);border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff 0 14%,var(--orb-color) 38%,#fff0 76%);box-shadow:0 0 8px #fff,0 0 19px var(--orb-color),0 0 38px var(--orb-color)}.artifact-magic-burst{width:170px;height:170px;margin:-85px;border:2px solid var(--burst-color);border-radius:50%;background:radial-gradient(circle,#fff7 0 5%,#fff0 52%);box-shadow:0 0 35px var(--burst-color),inset 0 0 35px var(--burst-color)}
@keyframes book-open{0%{opacity:0;transform:rotateX(18deg) scale(.72)}55%{opacity:1;transform:rotateX(-2deg) scale(1.02)}100%{transform:none}}@keyframes gift-arrive{0%{opacity:0;transform:translate(-50%,-20px)}10%,78%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-12px)}}

.npc-dialogue{position:fixed;z-index:7;width:min(390px,80vw);padding:17px 19px 16px;border:1px solid #ecf1d95c;border-radius:19px 19px 19px 5px;background:linear-gradient(145deg,#173324ed,#0c2117e8);box-shadow:0 16px 42px #06120a88,inset 0 1px #fff2;backdrop-filter:blur(10px);pointer-events:none;text-shadow:0 1px 6px #061009;transition:opacity .18s,transform .18s}
.npc-dialogue::after{content:"";position:absolute;left:28px;bottom:-11px;width:20px;height:20px;background:#0d2218;border-right:1px solid #ecf1d95c;border-bottom:1px solid #ecf1d95c;transform:rotate(45deg)}
.npc-dialogue header{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.npc-dialogue header span{font:800 10px "Manrope",sans-serif;letter-spacing:2.3px;color:#e3ef9b}
.npc-dialogue header small{font:700 7px "Manrope",sans-serif;letter-spacing:1.4px;color:#91a88e}
.npc-dialogue p{font:600 14px/1.5 "DM Sans",sans-serif;color:#f5f6e9}
.dialogue-separator{display:flex;align-items:center;gap:9px;margin:11px 0 9px;color:#a8baa0;font:700 7px "Manrope",sans-serif;letter-spacing:1.3px}
.dialogue-separator i{height:1px;flex:1;background:#edf3df1c}
.translation{display:block;font-size:11px;line-height:1.45;color:#bac9b4;font-style:italic}

.pause-overlay,.options-overlay{background:radial-gradient(circle at 50% 36%,#1d3a2477,#07130cdb 64%);backdrop-filter:blur(13px)}
.pause-panel,.options-panel{border:1px solid #c3a4606b;background:repeating-linear-gradient(3deg,#fff0 0 9px,#d0a25e08 10px 11px),linear-gradient(145deg,#203a29f5,#0a1d13f7 66%,#07150ef7);box-shadow:inset 0 1px #fff2,inset 0 0 0 6px #09180fc7,0 30px 90px #020806b8;clip-path:polygon(13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px),0 13px)}
.pause-panel{width:min(420px,88vw);padding:26px 46px 42px}
.modal-logo{object-fit:contain;filter:drop-shadow(0 12px 20px #02080588)}
.pause-logo{width:255px;height:178px;margin:-38px auto -31px}
.options-logo{width:205px;height:135px;margin:-37px auto -28px}
.pause-panel h2,.options-panel h2{font:800 46px/1 "Manrope",sans-serif;letter-spacing:-2px;margin:10px 0 25px}
.pause-actions{display:grid;gap:11px}
.options-panel{width:min(900px,92vw);padding:25px 38px 30px;text-align:left}
.options-heading{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e9f0dd21;margin-bottom:28px}
.options-heading h2{margin-bottom:22px}
.close-button{border:0;background:transparent;color:#dfe8d3;font:300 34px/1 "DM Sans",sans-serif;padding:0 4px}
.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.option-group h3{font:700 10px "Manrope",sans-serif;letter-spacing:3px;color:#deeca7}
.option-group>p{margin-top:8px;color:#9dae96;font-size:11px}
.binding-list{margin-top:20px;display:grid;gap:8px}
.binding-list label{height:38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eff5e313;color:#d6dfcf;font-size:12px}
.key-bind{min-width:92px;height:28px;border:1px solid #e5edd33d;background:#294333;color:#f1f4e4;font:700 10px "Manrope",sans-serif;letter-spacing:1.4px}
.key-bind.listening{color:#17291c;background:#dcec8c;border-color:#eff8ca;animation:pulse 1s infinite}
.forest-button{position:relative;display:block;width:100%;height:58px;border:1px solid #d9bd768c;border-radius:4px;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);overflow:hidden;color:#f6edc0;font:800 10px "Manrope",sans-serif;letter-spacing:2.3px;text-shadow:0 2px 2px #1b100acc;box-shadow:inset 0 2px #fff2,inset 0 -4px #1d100963,0 8px 20px #02080577;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.forest-button::before,.forest-button::after{content:"";position:absolute;top:50%;width:11px;height:17px;margin-top:-9px;border-radius:100% 0 100% 0;background:#b3c76a;box-shadow:0 1px 3px #10200c;opacity:.82}.forest-button::before{left:17px;transform:rotate(-43deg)}.forest-button::after{right:17px;transform:rotate(137deg)}
.forest-button.wood{background:repeating-linear-gradient(3deg,#fff0 0 7px,#d3a25812 8px 9px),linear-gradient(180deg,#8a5b30,#5b351e 55%,#452616);color:#f6edc0}
.forest-button.moss{background:repeating-linear-gradient(-4deg,#fff0 0 8px,#a1c1730a 9px 10px),linear-gradient(180deg,#304d32,#1c3422 58%,#122619);border-color:#8ca269;color:#e8efc1}.forest-button.moss::before,.forest-button.moss::after{background:#91b65c}
.forest-button.bark{background:repeating-linear-gradient(2deg,#fff0 0 8px,#c78c4d0b 9px 10px),linear-gradient(180deg,#523724,#301f17 62%,#21130f);border-color:#8f6f50;color:#d9cfb3}.forest-button.bark::before,.forest-button.bark::after{background:#71834b}
.forest-button:hover{transform:translateY(-2px) rotateX(2deg);filter:brightness(1.12) saturate(1.08);box-shadow:inset 0 2px #fff3,inset 0 -4px #1d100963,0 12px 26px #02080599}.forest-button:active{transform:translateY(1px);filter:brightness(.94)}.forest-button:focus-visible{outline:2px solid #f1dc8c;outline-offset:4px}
.forest-button.compact{height:40px;margin-top:16px;font-size:8px;letter-spacing:1.6px}.forest-button.compact::before,.forest-button.compact::after{width:8px;height:12px;margin-top:-6px}.forest-button.compact::before{left:12px}.forest-button.compact::after{right:12px}
.sound-options{padding-left:8px}
.range-row{display:block;margin-top:24px}
.range-row>span{display:flex;justify-content:space-between;font-size:12px;color:#d7dfd0}
.range-row b{font:700 10px "Manrope",sans-serif;color:#e5eeac}
.range-row input{width:100%;height:3px;margin-top:12px;appearance:none;background:#eef4e31d;border-radius:0;outline:0}
.range-row input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:#dcef86;border:3px solid #203926;box-shadow:0 0 0 1px #dcef8688}
.options-panel footer{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid #e9f0dd21}
.options-panel footer small{color:#8fa087;font-size:10px}
.options-panel footer button{width:180px;margin-top:0}

.mobile-controls{display:none}
.touch-ui #scene,.touch-ui body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.touch-ui .mobile-controls{position:fixed;z-index:12;inset:0;display:block;pointer-events:none}
.touch-ui .mobile-controls.hidden{display:none}
.mobile-look-zone{position:absolute;z-index:1;left:38%;right:0;top:14%;bottom:0;pointer-events:auto;touch-action:none}
.mobile-look-zone>span{position:absolute;right:max(22px,env(safe-area-inset-right));top:42%;padding:7px 10px;border:1px solid #e6efc02e;border-radius:20px;background:#10251b6e;font:700 7px "Manrope",sans-serif;letter-spacing:1.5px;color:#e9f1c69c;text-shadow:0 1px 5px #000;transition:opacity .45s}
.mobile-look-zone.used>span{opacity:0}
.mobile-joystick{position:absolute;z-index:3;left:calc(18px + env(safe-area-inset-left));bottom:calc(17px + env(safe-area-inset-bottom));width:124px;height:124px;display:grid;place-items:center;pointer-events:auto;touch-action:none}
.joystick-base{position:relative;width:112px;height:112px;border:1px solid #f0efbd42;border-radius:50%;background:radial-gradient(circle,#b8ce6e17 0 38%,#11281dc7 40% 66%,#08150ea8 68%);box-shadow:inset 0 0 22px #dbe77c12,0 10px 30px #0007,0 0 0 7px #0d21172b;backdrop-filter:blur(4px)}
.joystick-base::before,.joystick-base::after{content:"";position:absolute;left:50%;top:50%;background:#e6edb81a;transform:translate(-50%,-50%)}
.joystick-base::before{width:1px;height:76%}.joystick-base::after{width:76%;height:1px}
.joystick-base>i{position:absolute;z-index:2;left:50%;top:50%;width:48px;height:48px;border:1px solid #f7edac88;border-radius:50%;background:radial-gradient(circle at 38% 30%,#d9e993b8,#6e843dc4 45%,#20371fd9 74%);box-shadow:inset 0 1px #fff8,0 6px 15px #0008,0 0 17px #cddb7652;transform:translate(-50%,-50%);will-change:transform}
.mobile-actions{position:absolute;z-index:4;right:calc(16px + env(safe-area-inset-right));bottom:calc(15px + env(safe-area-inset-bottom));width:190px;height:190px;pointer-events:none}
.mobile-round{position:absolute;display:grid;place-items:center;align-content:center;gap:2px;border:1px solid #f4e8a56e;border-radius:50%;background:radial-gradient(circle at 38% 30%,#546a39ed,#172c1fe8 68%,#09150ee8);box-shadow:inset 0 1px #fff5,0 8px 22px #0009,0 0 0 5px #1021175c;color:#f6f0c9;text-shadow:0 1px 5px #000;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;transition:transform .1s,filter .1s,opacity .18s}
.mobile-round i{font-style:normal;font-size:20px;line-height:1}.mobile-round span{font:800 7px "Manrope",sans-serif;letter-spacing:1.15px}.mobile-round small{display:block;max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 5px "Manrope",sans-serif;letter-spacing:.5px;color:#dfe9ae}
.mobile-round:disabled{opacity:.34;filter:saturate(.3)}.mobile-round.pressed,.mobile-round:active:not(:disabled){transform:scale(.91);filter:brightness(1.28)}
.mobile-attack{right:0;bottom:0;width:82px;height:82px;background:radial-gradient(circle at 38% 30%,#8d593bec,#3d251be9 66%,#160d0ae8)}
.mobile-interact{right:92px;bottom:69px;width:72px;height:72px;background:radial-gradient(circle at 38% 30%,#8b8f45ee,#32401fe9 66%,#12190ce8)}
.mobile-jump{right:94px;bottom:0;width:58px;height:58px}.mobile-jump i{font-size:17px}
.mobile-inventory{right:12px;bottom:104px;width:56px;height:56px}.mobile-inventory i{font-size:18px}
.touch-ui .survival{left:8px;top:76px;bottom:auto;transform:scale(.58);transform-origin:top left}
.touch-ui .place{left:8px;top:5px;transform:scale(.56);transform-origin:top left}
.touch-ui .map-panel{right:max(8px,env(safe-area-inset-right));top:8px;transform:scale(.58);transform-origin:top right}
.touch-ui .artifact-tracker{left:145px;top:10px;transform:scale(.72);transform-origin:top left}.touch-ui .life-tracker{left:145px;top:54px;transform:scale(.72);transform-origin:top left}
.touch-ui .interaction-prompt,.touch-ui .equipped-tool,.touch-ui #hint,.touch-ui .controls{display:none!important}
.touch-ui .ammo-counter{right:calc(14px + env(safe-area-inset-right));bottom:202px;transform:scale(.72);transform-origin:bottom right}
.touch-ui .warmth-feedback{bottom:105px;transform:translateX(-50%) scale(.72);transform-origin:bottom center}

@media(orientation:portrait) and (pointer:coarse){.mobile-joystick{width:116px;height:116px;left:calc(10px + env(safe-area-inset-left))}.joystick-base{width:104px;height:104px}.mobile-actions{right:calc(8px + env(safe-area-inset-right));width:175px}.mobile-attack{width:76px;height:76px}.mobile-interact{right:82px}.touch-ui .map-panel{transform:scale(.5)}.touch-ui .survival{top:68px;transform:scale(.52)}.touch-ui .artifact-tracker{left:128px;top:8px;transform:scale(.62)}.touch-ui .life-tracker{left:130px;top:48px;transform:scale(.62)}.touch-ui .ammo-counter{bottom:196px;transform:scale(.64)}}
@media(max-height:500px) and (pointer:coarse){.panel{width:min(680px,92vw);padding:8px 24px}.menu-logo{width:230px;height:150px;margin:-20px auto -12px}.intro{font-size:12px;line-height:1.45}.intro strong{font-size:9px}.menu-actions{grid-template-columns:1fr 1fr;width:min(500px,84vw);margin:10px auto 7px;gap:9px}.menu-actions button{height:50px}.sound-gate{display:none}.panel>small{font-size:7px;letter-spacing:1px}.game-credits{display:none}.mobile-joystick{width:112px;height:112px}.joystick-base{width:100px;height:100px}.mobile-actions{width:178px;height:175px}.mobile-attack{width:76px;height:76px}.mobile-interact{right:84px;bottom:64px;width:66px;height:66px}.mobile-jump{right:86px}.mobile-inventory{bottom:94px}.touch-ui .survival{top:65px;transform:scale(.5)}.touch-ui .place{transform:scale(.48)}.touch-ui .map-panel{transform:scale(.5)}}

@media(max-width:700px){
  .menu-logo{width:min(330px,88vw);margin:2px auto 8px}.game-credits{bottom:8px;flex-wrap:wrap;gap:6px 10px;padding:5px 10px;line-height:1.4}.game-credits>i{display:none}.game-credits nav{gap:4px}.game-credits a{padding:4px 6px}.controls{display:none}.place{left:10px;top:8px;transform:scale(.78);transform-origin:top left}.map-panel{right:12px;top:14px;transform:scale(.78);transform-origin:top right}.survival{left:12px;bottom:9px;transform:scale(.82);transform-origin:bottom left}.warmth-feedback{width:92vw;height:210px}.pause-logo{width:220px;height:155px}.options-logo{width:180px;height:120px}.options-panel{padding:20px 23px 25px;max-height:94vh;overflow:auto}.options-grid{grid-template-columns:1fr;gap:28px}.sound-options{padding-left:0}.options-panel footer{align-items:flex-end;gap:15px}.options-panel footer small{max-width:45%}
}
@media(max-width:900px){.open-book{width:94vw;height:82vh}.book-page{padding:48px 27px 42px}.book-page h2{font-size:22px}.quest-path{grid-template-columns:1fr 1fr}.quest-path>span{display:none}.forest-sketch{height:205px}.book-ribbon{top:-18px}.guide-close{right:-2px;top:-45px}}
@media(max-width:650px){.open-book{height:88vh;overflow:auto;display:block;background:#eadba9}.guide-spread,.guide-spread.active{position:relative;display:none;grid-template-columns:1fr}.guide-spread.active{display:grid}.book-page{min-height:520px;border-radius:0}.book-spine{display:none}.guide-navigation{position:fixed;bottom:16px}.quest-path{grid-template-columns:1fr 1fr}.forest-sketch{height:190px}.combat-guide.expanded{grid-template-columns:1fr}.health-potion-pouch{right:50%;top:auto;bottom:4%;transform:translateX(50%);width:190px}.health-potion-pouch:hover:not(:disabled){transform:translateX(50%) scale(1.03)}}
