:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#243e33;background:#e9eddd;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,summary,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #ec7944;outline-offset:4px}#world{position:fixed;inset:0}#world canvas{width:100%;height:100%;display:block}.grain{pointer-events:none;position:fixed;inset:0;background:linear-gradient(90deg,rgba(244,244,228,.96),rgba(244,244,228,.5) 21%,transparent 40%);transition:opacity 1s}header{position:fixed;top:30px;left:38px;right:38px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:23px;font-weight:850;letter-spacing:-1px;text-decoration:none;color:inherit}.brand>span{color:#ee7447;font-size:13px;margin:0 2px}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:400;margin-top:7px}.top-actions{display:flex;gap:8px}.top-actions button{border:1px solid #fff8;border-radius:30px;background:#fff9;padding:11px 16px;backdrop-filter:blur(15px);font-size:12px}main{position:fixed;top:145px;left:48px;width:248px;max-height:calc(100dvh - 335px);overflow:auto;scrollbar-width:thin}.eyebrow{font-size:9px;letter-spacing:2px;display:flex;gap:8px;align-items:center}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#ec7944}h1{font-size:47px;line-height:1.24;letter-spacing:-2px;font-weight:650;margin:23px 0 17px}h1>span{color:#e57649}.intro{font-size:12px;line-height:1.9;color:#768274}.character{display:flex;gap:12px;align-items:center;margin:29px 0}.avatar{height:40px;width:40px;display:grid;place-items:center;background:#f07a46;border-radius:15px;color:white;font-size:26px;font-weight:bold}.character b{font-size:13px;letter-spacing:1px}.character em{font-size:10px;font-style:normal;letter-spacing:0;color:#818878;margin-left:8px}.character small{display:block;font-size:10px;color:#818878;margin-top:6px}.moods>span{font-size:10px;color:#85917e}.moods>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.moods button{background:transparent;border:1px solid #b0bba76b;border-radius:16px;font-size:11px;padding:7px 10px}.moods button.selected{background:#2d5141;color:#fff;border-color:#2d5141}details{margin-top:24px;border-top:1px solid #b0bba74d;padding-top:15px}summary{font-size:11px;cursor:pointer;list-style:none;display:flex;justify-content:space-between}details p{font-size:10px;color:#84907c}details label{font-size:11px;display:flex;align-items:center;justify-content:space-between;margin:8px 0}input{width:160px;accent-color:#e77849}#release{font-size:10px;padding:7px 12px;border-radius:12px;background:#fff8;border:0}#bubble{position:fixed;padding:12px 20px;border:1px solid #fff8;background:#fffdf2e8;border-radius:20px 20px 20px 3px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .3s;box-shadow:0 8px 30px #233a2912;white-space:nowrap}.location{position:fixed;right:37px;bottom:200px;font-size:10px;letter-spacing:1px;display:flex;align-items:center;gap:9px}.location i{height:6px;width:6px;background:#6c925b;border-radius:50%}.location span{color:#7e8d72;border-left:1px solid #a9b69d;padding-left:10px}footer{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:min(780px,calc(100% - 60px));background:#fffdf0df;border:1px solid #fff;border-radius:24px;padding:18px 23px 13px;backdrop-filter:blur(20px);box-shadow:0 12px 60px #293b2110}.action-label{font-size:11px;margin-bottom:13px}.action-label span{font-size:8px;letter-spacing:2px;color:#99a28e;margin-left:12px}nav{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}nav button{position:relative;background:#e9eddf80;border:1px solid transparent;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;font-size:11px;padding:10px 4px}nav button:hover,nav button.active{background:#fce3cb;border-color:#eab99a}nav i{font-style:normal;font-size:22px;height:25px}kbd{position:absolute;right:8px;top:7px;font-size:8px;color:#a5af99}.hint{font-size:9px;color:#8e9984;text-align:center;margin-top:13px}.hint span{margin-left:10px}#loading{position:fixed;inset:0;display:grid;place-items:center;background:#e9eddd;z-index:10;transition:opacity .5s}body.night{color:#e7e9ce}body.night .grain{opacity:.15}body.night header button,body.night footer,body.night #bubble{background:#203c35e8;color:#f5f2d9;border-color:#ffffff25}body.night nav button{color:#f5f2d9;background:#ffffff0c}body.night nav button.active{background:#99734b}body.night main{background:transparent}body.night .intro,body.night .character small,body.night .moods>span,body.night .hint,body.night .location span{color:#b6c4a7}body.night .moods button{color:#ede9cf}@media(max-height:780px) and (min-width:761px){main{top:115px}h1{font-size:37px;margin:15px 0}.character{margin:18px 0}.intro{margin:10px 0}}@media(max-width:760px){header{top:20px;left:20px;right:20px}.brand{font-size:20px}.brand small{display:none}.top-actions button{font-size:10px;padding:9px 11px}.top-actions #reset{display:none}main{left:22px;top:90px;width:180px;max-height:calc(100dvh - 300px)}h1{font-size:30px;margin:14px 0}.eyebrow{font-size:7px;letter-spacing:1px}.intro{display:none}.character{margin:15px 0}.moods>div{gap:4px}.moods button{font-size:10px;padding:5px 8px}details{margin-top:13px}input{width:115px}footer{bottom:14px;width:calc(100% - 24px);padding:13px 12px 10px;border-radius:20px}nav{gap:5px}nav button{font-size:9px;padding:8px 0}nav i{font-size:19px}kbd{display:none}.hint{font-size:8px;line-height:1.6}.hint span{display:block;margin-left:0}.location{right:20px;bottom:182px;font-size:8px}.grain{background:linear-gradient(110deg,#f4f4e4b8,transparent 55%)}#bubble{font-size:10px;padding:9px 12px}}

#quest{position:fixed;top:105px;right:30px;width:235px;padding:19px;background:#fffdf0ed;border:1px solid #fff;border-radius:20px;box-shadow:0 10px 40px #243e3312}#quest small{display:block;font-size:10px;color:#829174}#quest b{display:block;font-size:16px;margin-top:8px}#quest p{font-size:12px;line-height:1.8;color:#6b7e60}#fruit-count{letter-spacing:5px;color:#de8842;font-size:15px;margin:12px 0}#quest button{border:0;border-radius:12px;background:#345b41;color:#fff;padding:11px;width:100%;font-size:12px}#quest #interact{margin-top:8px;background:#d8854e}body.night #quest{background:#203c35ed}body.night #quest p{color:#bfceb3}@media(max-width:760px){#quest{top:auto;bottom:185px;right:12px;width:185px;padding:12px}#quest b{font-size:13px}#quest p{font-size:10px;margin:6px 0}#quest small{font-size:9px}#fruit-count{font-size:12px;margin:6px 0}#quest button{font-size:10px;padding:9px}main{max-height:290px}}

[hidden]{display:none!important}#chapters{position:fixed;right:30px;top:102px;display:flex;gap:6px}#chapters button{font-size:11px;border:0;border-radius:12px;padding:10px 13px;background:#fffdf0;color:#577055}#chapters .selected{background:#355d47;color:#fff}#creek{position:fixed;top:154px;right:30px;width:255px;padding:20px;background:#fffdf0ed;border:1px solid #fff;border-radius:20px;box-shadow:0 10px 40px #243e3312}#creek small{display:block;font-size:10px;color:#799071}#creek b{display:block;font-size:17px;margin-top:10px}#creek p{font-size:12px;line-height:1.85;color:#647b5c}#creek-progress{font-size:10px;color:#78966a;line-height:2;margin:12px 0}#creek button{font-size:12px;padding:11px;background:#365d47;color:#fff;border:0;border-radius:12px;width:100%;margin:4px 0}#creek #creek-interact{background:#c4834b}#creek-choice{border-top:1px solid #d7dfcc;padding-top:8px}#creek .controls-note{line-height:1.8;margin-top:12px;font-size:9px}body.game-mode #quest{top:154px}body.game-mode footer,body.game-mode main .moods{display:none}body.game-mode.show-actions footer,body.game-mode.show-actions main .moods{display:block}body.game-mode .location{bottom:25px}body.night #creek{background:#203c35ed}body.night #creek p{color:#c5d3b6}@media(max-width:760px){#chapters{top:65px;right:12px;gap:4px}#chapters button{padding:8px;font-size:9px}#creek{top:auto;bottom:42px;right:12px;width:215px;padding:13px}#creek b{font-size:14px}#creek p{font-size:11px}#creek button{font-size:11px;padding:9px}#creek .controls-note{display:none}body.game-mode #quest{top:auto;bottom:42px}body.show-actions #creek{bottom:205px}#motion-toggle{font-size:9px;padding:7px}main{pointer-events:none}main .moods{pointer-events:auto}.brand{font-size:17px}.top-actions{gap:4px}}

/* Keep adventure controls reachable on short and touch screens. */
#creek,#quest{max-height:calc(100dvh - 180px);overflow:auto;overscroll-behavior:contain}
#creek.completed{border-color:#b6caa1}#creek #creek-replay{background:#b97b46}
body.paused #creek-choice{opacity:.55}#creek-progress{font-variant-numeric:tabular-nums}
@media(max-width:760px){body.game-mode main{top:105px;width:145px}body.game-mode h1{font-size:25px}body.game-mode .eyebrow{display:none}#creek,#quest{max-height:calc(100dvh - 155px)}body.game-mode.show-actions #quest{bottom:205px}body.show-actions #creek,body.show-actions #quest{max-height:calc(100dvh - 320px)}#bubble{white-space:normal;max-width:230px}header{left:12px;right:12px}.top-actions button{min-height:36px}.brand{font-size:15px}}
@media(max-height:520px){body.game-mode main{display:none}#creek{top:108px;bottom:12px;max-height:none}#chapters{top:65px}body.game-mode #quest{top:108px;bottom:12px;max-height:none}}

#camp-interact{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);border:1px solid #fff9;border-radius:24px;padding:12px 22px;background:#fff8e8ed;color:#46604b;box-shadow:0 8px 30px #243e3315;backdrop-filter:blur(12px);font-size:12px}body.show-actions #camp-interact{bottom:205px}body.night #camp-interact{background:#294339ed;color:#f5e4bd;border-color:#fff3}@media(max-width:760px){#chapters{left:12px;right:12px;justify-content:flex-end}#camp-interact{bottom:55px;white-space:nowrap}body.show-actions #camp-interact{bottom:180px}}

#view-hint{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:24px;background:rgba(35,56,48,.82);color:#fff3d7;font-size:12px;z-index:20;pointer-events:none;white-space:nowrap}#first-person:disabled{opacity:.45;cursor:default}

#walk-pad{display:none;position:fixed;bottom:65px;left:24px;z-index:25;grid-template-columns:repeat(3,48px);gap:6px;touch-action:none}#walk-pad button{width:48px;height:48px;border-radius:16px;background:#fff3d7d9;color:#314a3c;border:1px solid #314a3c44;font-size:22px;touch-action:none}#walk-pad button:first-child{grid-column:2}#walk-pad button:nth-child(2){grid-column:1}@media(pointer:coarse){.first-person-active #walk-pad{display:grid}}
body.first-person-active main,body.first-person-active .grain{visibility:hidden}body.first-person-active.show-actions main{visibility:visible}@media(max-width:760px){.top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:78vw}#view-hint{font-size:10px;bottom:18px}}

#gaze-dot{position:fixed;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);border:1px solid #fff9e4;border-radius:50%;background:#344b4277;pointer-events:none;z-index:20}#gaze-dot.ready{width:9px;height:9px;background:#ffe6a8}#gaze-interact{position:fixed;left:50%;top:57%;transform:translateX(-50%);z-index:24;padding:10px 18px;border:1px solid #fff6;border-radius:24px;background:#29463de6;color:#fff3d7;font-size:13px}body.first-person-active #camp-interact,body.first-person-active #interact{display:none}

#gaze-interact{top:auto;bottom:78px;font-size:15px;padding:12px 24px;box-shadow:0 3px 18px #172e3233}#gaze-dot{width:7px;height:7px}

#coffee-grind{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);padding:14px 22px;border-radius:24px;border:1px solid #e9dab5;background:#314c41;color:#fff2d4;z-index:30;touch-action:none}

#coffee-invite{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);padding:13px 22px;border:1px solid #ead5ae;border-radius:24px;background:#314c41;color:#fff2d4;z-index:29}
