@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--cream:#fff9ea;--olive:#667332;--brown:#422b1b;--rust:#df9565;--glass:rgba(38,44,28,.8)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#a7c8b7;font-family:'DM Sans',Arial,sans-serif;color:var(--cream)}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #f8ce81;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}#world{display:block;width:100%;height:100%;touch-action:none;outline:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(0deg,#26342444,transparent 25%,transparent 75%,#26342415);z-index:1}.brand{position:fixed;top:max(22px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));display:flex;gap:12px;align-items:center;z-index:10;pointer-events:none}.brand img{border-radius:12px;box-shadow:0 3px 20px #0002}.brand strong{display:block;font-family:Outfit,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.6px;text-shadow:0 1px 8px #0006}.brand span{font-size:8px;letter-spacing:1.7px;display:flex;align-items:center;gap:5px;margin-top:4px;text-shadow:0 1px 8px #0008}.brand i,.game-label i{background:#d9df99;border-radius:100%;width:5px;height:5px;display:inline-block}.menu{position:fixed;inset:0;z-index:8;background:linear-gradient(90deg,rgba(30,43,26,.95),rgba(36,49,29,.78) 35%,rgba(28,40,24,.12) 72%);display:flex;align-items:center;padding:95px 7vw 70px}.menu-copy{max-width:610px}.game-label{font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:9px;color:#e0dfbf}.menu h1{font-family:Outfit,sans-serif;font-size:clamp(48px,6.8vw,88px);font-weight:600;letter-spacing:-4px;line-height:.99;margin:23px 0;color:#fff9ea}.menu em{font-style:normal;color:#e8b580}.menu-copy>p{font-size:14px;line-height:1.8;color:#e0dfd0;margin:0 0 26px}.primary{border:0;border-radius:10px;background:#e3e9bd;color:#354024;padding:17px 23px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:52px;box-shadow:0 6px 25px #0001}.primary:hover{background:#eff4d4}.primary span{font-size:21px;line-height:1}.menu-notes{display:flex;flex-direction:column;gap:9px;margin:27px 0 20px;border-left:1px solid #e1dfbe44;padding-left:15px;font-size:11px;color:#e4dfc7}.menu-copy>small{font-size:10px;color:#c5cbb7}.scene-caption{position:absolute;bottom:115px;right:7vw;text-align:right;text-shadow:0 2px 12px #0005}.scene-caption span{font-size:9px;letter-spacing:3px}.scene-caption strong{font-family:Outfit,sans-serif;display:block;font-size:40px;letter-spacing:-1.5px;font-weight:500;margin-top:5px}.scene-caption p{font-size:12px;margin:6px 0}.menu-footer{position:absolute;left:28px;right:28px;bottom:max(20px,env(safe-area-inset-bottom));border-top:1px solid #fff3;padding-top:15px;font-size:9px;letter-spacing:.3px;color:#e0e4d0;display:flex;justify-content:space-between;gap:20px}.mission{position:fixed;top:102px;left:28px;width:268px;padding:17px 19px;background:var(--glass);backdrop-filter:blur(14px);border:1px solid #fff2;border-radius:12px;z-index:4;box-shadow:0 5px 20px #0001}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;color:#d5dbb5;display:block}.mission .eyebrow{display:flex;justify-content:space-between}.mission .eyebrow span{letter-spacing:1px}.mission h2{font-family:Outfit,sans-serif;font-size:18px;font-weight:500;line-height:1.3;margin:10px 0 6px;letter-spacing:-.3px}.mission p{font-size:11px;line-height:1.6;color:#d7d9c7;margin:0}.mission-dots{display:flex;gap:5px;margin-top:13px}.mission-dots i{height:3px;flex:1;background:#ffffff24;border-radius:2px}.mission-dots .active{background:#dce7b1}.toolbar{position:fixed;right:25px;top:max(27px,env(safe-area-inset-top));display:flex;gap:7px;z-index:11}.toolbar button{border:1px solid #fff3;background:var(--glass);color:#fff7e7;padding:10px 13px;border-radius:8px;min-height:40px;font-size:10px;backdrop-filter:blur(12px)}#pauseButton{font-size:17px!important;padding:6px 14px!important}#mapPanel{position:fixed;right:25px;top:85px;border-radius:12px;background:var(--glass);border:1px solid #fff2;padding:12px;z-index:5}#mapPanel>span{display:block;font-size:8px;letter-spacing:1.5px;margin-bottom:8px}#mapPanel small{display:block;font-size:8px;color:#dce4c9;text-align:center}#map{display:block;width:130px;height:147px}#mood{position:fixed;right:25px;bottom:115px;padding:12px 15px;background:var(--glass);border-radius:10px;z-index:4;width:150px}#mood>span{font-size:8px;letter-spacing:1.4px;display:block;color:#ccd2b2}#mood strong{font-size:12px;display:block;margin:5px 0 9px;font-weight:500}#mood>div{height:3px;background:#ffffff24;border-radius:5px;overflow:hidden}#moodBar{display:block;height:3px;background:#efb073;width:20%;transition:width .3s}.crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;z-index:3;pointer-events:none;display:grid;place-items:center}.crosshair i{width:4px;height:4px;background:#fff;border-radius:100%;box-shadow:0 1px 4px #0006}.crosshair b{position:absolute;inset:0;border:1px solid #fff8;border-radius:100%;display:none}.crosshair.target b{display:block}#locationTag{position:fixed;bottom:75px;left:28px;font-size:9px;letter-spacing:2px;text-shadow:0 1px 5px #0009;z-index:3}#inventory{position:fixed;left:50%;bottom:82px;transform:translateX(-50%);background:var(--glass);padding:9px 16px;border-radius:30px;border:1px solid #fff2;font-size:12px;z-index:3;white-space:nowrap}#prompt{position:fixed;left:50%;top:58%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;padding:9px 14px;background:rgba(32,39,25,.78);border-radius:8px;font-size:12px;z-index:4;pointer-events:none}.keycap{display:grid;place-items:center;border:1px solid #fff8;width:25px;height:26px;border-radius:4px;font-size:12px}#dialogue{position:fixed;bottom:140px;left:50%;transform:translateX(-50%);width:min(500px,calc(100% - 40px));padding:20px 25px;background:rgba(255,249,234,.97);color:#443322;border-radius:14px;box-shadow:0 10px 50px #0002;z-index:12;pointer-events:none}#speaker{display:block;color:#737d33;font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}#line{font-size:17px;line-height:1.55;margin:7px 0 11px;font-weight:500}#dialogueNote{font-size:9px;color:#8a7b63}#toast{position:fixed;left:50%;top:22px;transform:translateX(-50%);max-width:calc(100% - 40px);padding:11px 17px;background:#fff7e9;color:#4b4b28;border-radius:9px;font-size:12px;z-index:15;box-shadow:0 5px 20px #0002;text-align:center}.desktop-help{position:fixed;bottom:24px;left:28px;right:28px;display:flex;gap:24px;z-index:3;font-size:9px;color:#fffbe9;text-shadow:0 1px 5px #0008}.desktop-help b{font-size:9px;letter-spacing:2px;margin-right:5px;font-weight:500}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:rgba(25,35,21,.65);backdrop-filter:blur(8px);z-index:20;padding:25px}.modal{width:min(390px,100%);background:#fff9ec;color:#49341e;border-radius:22px;padding:30px;box-shadow:0 18px 100px #0002}.modal .eyebrow{color:#747c41}.modal h2{font-family:Outfit,sans-serif;font-size:34px;line-height:1.1;letter-spacing:-1px;margin:16px 0}.modal p{font-size:12px;line-height:1.9;color:#786d56;margin:0 0 24px}.modal .primary{width:100%;justify-content:center}.secondary{width:100%;border:0;background:transparent;color:#777958;min-height:44px;font-size:11px;margin-top:6px}.complete{text-align:center}.medal{display:block;font-size:37px;margin-bottom:15px}.reward{border-top:1px solid #dfd9bf;border-bottom:1px solid #dfd9bf;padding:15px 0;font-size:8px;letter-spacing:1.5px;margin:0 0 22px;color:#8a8663}.reward strong{display:block;font-size:15px;letter-spacing:0;color:#667332;margin-top:5px}#touchControls{display:none}#waterFlash{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 70%,#75d7fb22,transparent 50%);opacity:0;z-index:2;transition:opacity .1s}.error{position:fixed;inset:0;background:#fff9ec;color:#49341e;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:100;padding:30px;text-align:center}.error h1{font-size:25px}.error p{font-size:14px;max-width:350px}.error button{padding:12px 20px;margin:15px;background:#667332;border:0;border-radius:8px;color:#fff9ec}
@media(pointer:coarse){.desktop-help{display:none}#touchControls{display:block}#joystick{position:fixed;left:max(28px,env(safe-area-inset-left));bottom:max(38px,env(safe-area-inset-bottom));width:108px;height:108px;border-radius:100%;background:#fff2;border:1px solid #fff4;z-index:9;touch-action:none}#stick{position:absolute;left:33px;top:33px;width:42px;height:42px;border-radius:100%;background:#fff8;border:1px solid #fffa;pointer-events:none}#joystick>span{position:absolute;bottom:-19px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2px;pointer-events:none}.touch-actions{position:fixed;right:max(25px,env(safe-area-inset-right));bottom:max(36px,env(safe-area-inset-bottom));display:flex;gap:13px;align-items:flex-end;z-index:9}.touch-actions button{color:var(--cream);width:64px;height:64px;border-radius:100%;border:1px solid #fff5;background:var(--glass);font-size:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.touch-actions button span{font-size:8px}.touch-actions #waterButton{width:50px;height:50px;font-size:17px}.look-tip{position:fixed;bottom:17px;left:50%;transform:translateX(-50%);font-size:8px;white-space:nowrap;z-index:4;color:#fff9dacc}#locationTag{bottom:170px}#inventory{bottom:170px}#dialogue{bottom:220px}#prompt{top:53%}#mood{bottom:170px}}
@media(max-width:650px){.brand{top:max(15px,env(safe-area-inset-top));left:16px;gap:8px}.brand img{width:42px;height:42px;border-radius:10px}.brand strong{font-size:14px}.brand span{font-size:6px;letter-spacing:1px}.menu{padding:105px 26px 80px;background:linear-gradient(90deg,#1e2b1af0,#24311dc9 60%,#1c281850);align-items:center}.menu h1{font-size:clamp(48px,12vw,72px);letter-spacing:-2px;margin:20px 0}.game-label{font-size:8px;letter-spacing:1.4px}.menu-copy>p{font-size:12px}.menu-notes{font-size:10px;gap:6px;margin-top:20px}.menu-copy>small{font-size:8px}.scene-caption{display:none}.menu-footer{left:26px;right:26px;font-size:8px}.menu-footer span:last-child{display:none}.mission{top:78px;left:16px;width:220px;padding:13px 15px}.mission h2{font-size:15px}.mission p{font-size:10px}.mission .eyebrow{font-size:8px;letter-spacing:1px}.toolbar{right:14px;top:max(17px,env(safe-area-inset-top));gap:4px}.toolbar button{padding:8px;min-height:36px;font-size:9px}.toolbar #soundToggle{max-width:54px;line-height:1.2}.toolbar #pauseButton{padding:5px 10px!important}#mapPanel{top:78px;right:15px;padding:8px}#map{width:90px;height:102px}#mapPanel>span{font-size:6px;letter-spacing:.7px}#mapPanel small{font-size:6px}#mood{right:16px;width:125px}#line{font-size:15px}#dialogue{padding:17px 20px}#locationTag{left:18px;font-size:8px}#toast{top:210px;width:max-content;max-width:calc(100% - 30px);font-size:11px}.desktop-help{gap:10px;flex-wrap:wrap;left:18px;font-size:8px}.desktop-help span:nth-child(2){display:none}.desktop-help b{font-size:8px}.keycap{display:none}.menu-copy .primary{font-size:12px}.modal{padding:25px}}
@media(max-height:600px){.menu h1{font-size:48px;letter-spacing:-2px;margin:13px 0}.menu{padding-top:85px;padding-bottom:45px}.menu-notes{display:none}.menu-copy>small{display:block;margin-top:14px}.menu-copy>p{margin-bottom:15px}.menu-footer{bottom:10px;padding-top:9px}.mission{top:82px}.scene-caption{bottom:70px}.modal{padding:20px}.modal h2{font-size:28px;margin:10px 0}.modal p{margin-bottom:14px}.medal{font-size:27px;margin-bottom:8px}.reward{padding:10px 0;margin-bottom:12px}#dialogue{bottom:115px}#locationTag{bottom:150px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.menu a{color:#e3e9bd}.menu h1{max-width:680px;font-size:clamp(48px,6.5vw,80px);line-height:1.05}.menu-copy>p{max-width:460px}.mission .eyebrow{gap:10px}#choiceMenu .primary{line-height:1.5}#choiceMenu .secondary{font-size:13px;line-height:1.5;padding:12px}#choiceMenu small{display:block;font-size:10px;text-align:center;margin-top:12px;color:#786d56}body[data-mode=night] .vignette{background:linear-gradient(#17254026,#12292912);box-shadow:inset 0 0 140px #111e3c66}#timer{color:#f5c893;font-weight:700;letter-spacing:0}body[data-mode=collect] #waterButton{display:none}
