@font-face{font-family:Nunito;src:url('./assets/nunito.woff2');font-display:swap}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font:14px Nunito,'Avenir Next',system-ui,sans-serif;color:#fff8e9;background:#273c35}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #f1cc7b;outline-offset:4px}button:hover{filter:brightness(1.14)}button:disabled{opacity:.6;cursor:wait}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#game,#world,#world canvas,.vignette,#markers,#start-screen{position:absolute;inset:0;width:100%;height:100%}#world canvas{display:block;touch-action:none;cursor:grab}#world canvas:active{cursor:grabbing}.vignette{pointer-events:none;background:linear-gradient(180deg,#17302955,transparent 22%,transparent 72%,#1c302b70),radial-gradient(ellipse at center,transparent 45%,#273d2a15);z-index:1}#markers{z-index:2;pointer-events:none}.hotspot{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:transparent;display:grid;place-items:center}.hotspot i{width:9px;height:9px;display:block;border-radius:50%;border:2px solid #fffbe9;background:#4b685a;box-shadow:0 1px 5px #20352a77;transition:transform .2s}.hotspot span{position:absolute;bottom:42px;white-space:nowrap;background:#233a31e8;padding:8px 13px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s}.hotspot:hover span,.hotspot:focus-visible span,.hotspot.objective span{opacity:1}.hotspot:hover i{transform:scale(1.5)}.hotspot.objective i{background:#e6ba65;box-shadow:0 0 0 7px #ffefba33;border-color:#ffefb7}.hotspot.objective span{color:#ffedb3}.hud-top{position:absolute;top:27px;left:34px;right:30px;z-index:3;display:flex;align-items:center;justify-content:space-between;pointer-events:none;text-shadow:0 1px 6px #1b362d70}.wordmark{font-size:18px;font-weight:650;letter-spacing:-.3px}.wordmark b{font-weight:850}.wordmark>span{display:block;font-size:8px;letter-spacing:3px;margin-top:7px;font-weight:700;opacity:.8}.hud-top nav{display:flex;align-items:center;gap:9px;pointer-events:auto}.hud-top nav>span{font-size:10px;letter-spacing:2px;margin-right:12px}.hud-top button,.camera-tools button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #fff4dd38;border-radius:50%;background:#243e3352;backdrop-filter:blur(8px)}#mission{position:absolute;top:105px;left:35px;display:flex;align-items:flex-start;gap:13px;z-index:3;text-shadow:0 1px 7px #1b342955;pointer-events:none}.mission-number{font-size:12px;line-height:1;border:1px solid #fff2cc77;display:grid;place-items:center;border-radius:50%;width:29px;height:29px}.eyebrow{font-size:9px;letter-spacing:2.4px;font-weight:850}#mission h1{font-size:17px;margin:4px 0 9px;font-weight:650;letter-spacing:-.2px}#story-progress{display:flex;gap:5px}#story-progress i{height:2px;width:15px;display:block;background:#fff5d54d}#story-progress i.done{background:#f0cb7e}#story-progress i.current{background:#fff6db}.hud-bottom{position:absolute;bottom:46px;left:34px;right:30px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.vitals{display:flex;gap:16px;pointer-events:auto}.need{width:53px;position:relative;color:#fff4d5;text-shadow:0 1px 6px #284438aa}.need>span{position:absolute;bottom:50px;left:0;background:#23392e;padding:6px 10px;border-radius:5px;opacity:0;white-space:nowrap;font-size:11px;pointer-events:none}.need:hover>span,.need:focus-visible>span{opacity:1}.need svg{width:17px;height:17px}.track{height:4px;margin-top:7px;width:100%;background:#fff3d343;border-radius:4px;overflow:hidden}.track i{display:block;background:#f2dbab;height:100%;border-radius:4px;transition:width .5s}.need.low i{background:#e8a87b}.camera-tools{display:flex;gap:6px;pointer-events:auto}.camera-tools button{width:34px;height:34px;font-size:21px}.camera-tools svg{width:16px;height:16px}.scoreline{position:absolute;left:34px;bottom:20px;font-size:10px;letter-spacing:.6px;z-index:3;text-shadow:0 1px 6px #203d2c}.scoreline>span:first-child{font-weight:850}.scoreline i{margin:0 7px}.scoreline #saved{margin-left:12px;opacity:.6}#subtitle{position:absolute;bottom:140px;left:50%;transform:translateX(-50%);font-size:16px;text-shadow:0 2px 8px #102b17,0 1px 2px #102b17;z-index:3;pointer-events:none;text-align:center;width:max-content;max-width:80%;opacity:0;transition:opacity .4s}#subtitle.show{opacity:1}#reward{position:absolute;right:34px;top:100px;font-size:12px;letter-spacing:.5px;text-shadow:0 2px 6px #243d29;z-index:3;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}#reward.show{opacity:1;transform:translateY(0)}#interaction{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);z-index:5;background:#233c33ed;box-shadow:0 8px 30px #152c2b22;border:1px solid #fff8e128;border-radius:14px;display:flex;align-items:center;gap:18px;padding:12px 13px 12px 20px;min-width:350px;max-width:90vw;backdrop-filter:blur(10px)}.action-copy{padding-right:10px}.action-copy span{font-size:8px;letter-spacing:2px;display:block;color:#e9ce98}.action-copy b{font-size:13px;font-weight:650;white-space:nowrap;display:block;margin-top:4px}#action-button{background:#eddbb5;color:#2e493c;border-radius:9px;padding:12px 18px;font-size:12px;font-weight:850;min-height:45px;white-space:nowrap;user-select:none;touch-action:none}#cancel{background:transparent;font-size:22px;padding:5px;width:28px}#action-track{position:absolute;bottom:0;left:13px;right:13px;height:3px;background:#ffffff19;overflow:hidden}#action-fill{display:block;height:100%;width:0;background:#e5c27e;transition:width .05s}#baby-menu{position:absolute;bottom:33px;left:50%;transform:translateX(-50%);z-index:5;background:#223c32ed;border:1px solid #fff7da22;border-radius:16px;padding:14px 20px;backdrop-filter:blur(9px);text-align:center;min-width:430px}#baby-menu>span{font-size:9px;letter-spacing:3px;color:#e7c88b}#direct-actions{display:flex;gap:10px;margin:13px 0 6px}#direct-actions button{background:transparent;display:flex;flex-direction:column;gap:6px;align-items:center;min-width:48px;min-height:53px;font-size:10px}#direct-actions svg{width:22px;height:22px}#carry{font-size:11px;letter-spacing:.5px;min-height:38px;background:transparent;border-top:1px solid #fff7da22;width:100%}#close-baby{position:absolute;right:9px;top:6px;background:none;font-size:20px;width:35px;height:35px}#start-screen{z-index:6;pointer-events:none;background:linear-gradient(90deg,#1e372e9c,transparent 70%)}.intro{position:absolute;left:7vw;bottom:15vh;pointer-events:auto;max-width:420px}.intro .eyebrow{color:#ead4aa}.intro h2{font-family:Georgia,serif;font-size:clamp(38px,4.5vw,66px);font-weight:400;letter-spacing:-2px;line-height:1.09;margin:20px 0}.intro p{font-size:14px;line-height:1.8;color:#fff2d6}.intro button,#ending button{background:#f2dfba;color:#2c4437;padding:15px 20px;border-radius:5px;min-width:240px;font-weight:800;display:flex;justify-content:space-between;margin-top:27px}.intro small{display:block;font-size:10px;margin-top:17px;color:#f7e8cd}.intro-footer{position:absolute;bottom:30px;left:7vw;font-size:10px;letter-spacing:1px;color:#e7dcc4}dialog{color:#f8edda;background:#263f35f5;border:1px solid #d4caab44;border-radius:20px;padding:34px;width:min(450px,90vw);box-shadow:0 20px 90px #17291f55}dialog::backdrop{background:#19332b55;backdrop-filter:blur(6px)}dialog h2{font:34px Georgia,serif;margin:18px 0}dialog p{font-size:13px;line-height:1.7;color:#e3dfcf}dialog small{font-size:10px;line-height:1.7;color:#c5d0bc;display:block;margin-top:20px}dialog button{display:block;background:transparent;min-height:44px;font-size:12px;width:100%;text-align:left}.primary{background:#e8d7b3!important;color:#294336;border-radius:8px;text-align:center!important;margin:20px 0 6px}.close-dialog{position:absolute;right:14px;top:9px;width:44px;font-size:24px;text-align:center}#ending{position:absolute;left:7vw;bottom:18vh;z-index:6;text-shadow:0 2px 10px #233d29}#ending>span{font-size:10px;letter-spacing:3px;color:#ecd2a2}#ending h2{font:clamp(32px,4vw,56px) Georgia,serif;margin:20px 0}#ending p{font-size:13px}#loading{position:absolute;inset:0;background:#d6dac6;z-index:8;display:grid;align-content:center;justify-items:center;color:#405744}#loading span{font:italic 85px Georgia}#loading p{font-size:12px;letter-spacing:2px}[hidden]{display:none!important}body.caring .vitals,body.caring .camera-tools,body.caring .scoreline{opacity:.3;pointer-events:none}body.carrying #world canvas{cursor:grabbing}#game:fullscreen{width:100vw;height:100dvh}@media(max-width:650px){.hud-top{top:20px;left:20px;right:15px}.wordmark{font-size:15px}.wordmark>span{font-size:7px;letter-spacing:2px}.hud-top nav{gap:5px}.hud-top button{width:34px;height:34px}.hud-top nav>span{display:none}#mission{top:96px;left:20px;gap:9px}#mission h1{font-size:14px;max-width:235px}.mission-number{width:25px;height:25px;font-size:10px}.eyebrow{font-size:8px}.hud-bottom{bottom:55px;left:20px;right:16px}.vitals{gap:10px}.need{width:38px}.camera-tools{gap:3px}.camera-tools button{width:30px;height:34px}.camera-tools #close-view{display:none}.scoreline{left:20px;bottom:28px;font-size:9px}#interaction{bottom:113px;min-width:0;width:calc(100% - 28px);gap:8px;padding:12px 8px 12px 13px}.action-copy b{font-size:12px;white-space:normal;max-width:165px}#action-button{padding:10px 12px;font-size:11px;margin-left:auto}#cancel{width:22px}#subtitle{font-size:13px;bottom:205px;max-width:85%}#reward{right:20px;top:155px;font-size:11px}#baby-menu{bottom:110px;min-width:0;width:calc(100% - 30px);padding:14px 12px}#direct-actions{gap:2px;justify-content:space-between}#direct-actions button{min-width:42px}.intro{left:7vw;bottom:19vh;max-width:85vw}.intro h2{font-size:43px}.intro p{font-size:12px}.intro-footer{font-size:9px;bottom:23px}.hotspot.objective span{font-size:10px;max-width:145px;white-space:normal;width:max-content;text-align:center}#ending{left:7vw;right:7vw;bottom:28vh}#ending h2{font-size:38px}dialog{padding:27px}dialog h2{font-size:29px}}@media(max-height:500px){.hud-top{top:14px}#mission{top:75px}.intro{bottom:15vh}.intro h2{font-size:35px;margin:10px 0}.intro p{display:none}.intro button{margin-top:15px}.intro small{margin-top:10px}.intro-footer{display:none}.hud-bottom{bottom:27px}.scoreline{bottom:9px}#interaction{bottom:28px}#subtitle{bottom:110px}#ending{bottom:15vh}.hotspot span{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media(max-width:650px){.hud-top button{width:44px;height:44px}.camera-tools button{width:44px;height:44px}.camera-tools #zoom-out,.camera-tools #close-view{display:none}.vitals{gap:8px}.need{width:33px}#direct-actions button{min-width:44px}}

#markers{overflow:hidden}#mission{pointer-events:auto;cursor:pointer}#mission:focus-visible{outline:2px solid #f1cc7b;outline-offset:7px;border-radius:4px}@media(max-width:650px){.wordmark{max-width:calc(100% - 145px)}.hud-top nav{flex-shrink:0}}

#transfer-veil{position:absolute;inset:0;background:#263c33;opacity:0;z-index:2;pointer-events:none}body.carrying #world canvas{cursor:grabbing}

#world canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}dialog{max-height:calc(100dvh - 32px);overflow-y:auto}#game{overscroll-behavior:none}.hud-top{top:max(22px,calc(env(safe-area-inset-top) + 14px));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}.hud-bottom{bottom:calc(46px + env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}.scoreline{bottom:calc(20px + env(safe-area-inset-bottom))}#interaction,#baby-menu{margin-bottom:env(safe-area-inset-bottom)}@media(max-width:650px){.vitals{gap:6px}.need{width:30px}.camera-tools #zoom-out{display:grid}.hud-bottom{bottom:calc(55px + env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right))}.hud-top{left:max(16px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}#mission{left:max(20px,env(safe-area-inset-left));top:calc(94px + env(safe-area-inset-top))}.scoreline{left:max(16px,env(safe-area-inset-left));bottom:calc(28px + env(safe-area-inset-bottom))}#interaction,#baby-menu{bottom:calc(113px + env(safe-area-inset-bottom))}}

.need.peek>span{opacity:1}

#carry-spot{font:inherit;font-size:12px;color:#fff4d9;background:#355548;border:1px solid #fff6d74d;border-radius:7px;min-height:44px;max-width:95px;padding:5px}body.carrying #interaction .action-copy{max-width:90px;padding-right:0}body.carrying #interaction .action-copy b{font-size:11px}body.carrying #action-button{padding:10px;font-size:11px}@media(max-width:650px){#carry-spot{width:76px}body.carrying #interaction{gap:6px}}
