@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900;1000&display=swap');
:root{font-family:'Nunito',sans-serif;color:#4c302b;font-size:16px;font-weight:800;--brown:#67432d;--cream:#fff2d6;--green:#456b55;--pink:#d37a83;--purple:#8975a9}*{box-sizing:border-box}body{margin:0;background:#92ad83;overflow:hidden}button{font:900 16px 'Nunito';cursor:pointer;color:inherit;border:0;touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:4px solid #4b9579;outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.06)}[hidden]{display:none!important}#world{display:block;width:100vw;height:100svh;touch-action:none;outline:none}#world:focus-visible{outline:3px solid #f7d479;outline-offset:-4px}.hud{position:fixed;inset:0;pointer-events:none;z-index:3}.hud button,.hud details,.hud a{pointer-events:auto}.brand{position:absolute;top:24px;left:24px;padding:12px 28px 13px;background:#ffe9b9;border:4px solid #765032;border-radius:19px;box-shadow:0 5px 0 #533c2b,0 8px 0 #0002;transform:rotate(-2deg);text-align:center;line-height:1}.brand b{display:block;font-weight:1000;font-size:38px;letter-spacing:2px;color:#8f4e47;text-shadow:0 2px #fff8d9}.brand small{display:block;font-size:12px;letter-spacing:2px;margin-top:7px;color:#5a7350}.clock-card{position:absolute;right:24px;top:24px;background:var(--cream);border:4px solid #7b533b;border-radius:18px;padding:12px 19px;min-width:194px;box-shadow:0 5px 0 #5e422c;display:flex;align-items:center;gap:12px}.sun{font-size:35px;color:#d5963e}.clock-card b{font-size:29px;display:block;line-height:1.1}.clock-card small{display:block;font-size:12px;letter-spacing:1px}.xp-pill{position:absolute;right:28px;top:127px;background:#fff0d5;border:3px solid #735038;border-radius:14px;padding:8px 14px;font-size:14px;box-shadow:0 3px #0002}.xp-pill span{color:#765591}.objective{position:absolute;left:50%;top:26px;transform:translateX(-50%);background:#fff3d9ed;border:3px solid #896348;border-radius:16px;padding:10px 19px;text-align:center;max-width:400px;box-shadow:0 3px #0001}.objective small{display:block;font-size:11px;letter-spacing:1.6px;color:#927a5d}.objective b{display:block;font-size:16px;margin-top:3px}.objective p{font-size:12px;margin:4px 0 0;color:#84664d}.toolbar{position:absolute;left:24px;bottom:23px;display:flex;gap:9px}.tool{border:3px solid #735037;background:#fff0d5;border-radius:15px;box-shadow:0 4px #5d412c;padding:9px 14px;font-size:14px}.tool em{font-size:20px;font-style:normal;margin-right:5px}.zoom{position:absolute;bottom:24px;right:24px;display:flex;gap:6px}.zoom button{width:42px;height:43px;background:#fff0d5;border:3px solid #735037;border-radius:12px;box-shadow:0 3px #5d412c;font-size:22px}.prompt{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);background:#fff4dc;border:3px solid #6d4f38;border-radius:17px;padding:12px 20px;box-shadow:0 4px #543b2c;text-align:center;pointer-events:auto;max-width:460px}.prompt kbd{background:#6d5547;color:#fff2d6;padding:3px 8px;border-radius:6px;margin-right:8px;font:900 15px 'Nunito'}.prompt small{display:block;font-size:12px;color:#8b705e;margin-top:4px}.hint{position:absolute;left:50%;bottom:88px;transform:translateX(-50%);font-size:12px;padding:6px 13px;border-radius:9px;background:#fff5dcdb;color:#715641;text-align:center;white-space:nowrap}.markers{position:fixed;inset:0;pointer-events:none;z-index:2}.marker{position:absolute;transform:translate(-50%,-100%);width:35px;height:35px;background:#fff4d8;border:3px solid #835736;border-radius:50%;box-shadow:0 3px #6d482b55;pointer-events:auto;font-size:18px;transition:opacity .18s,background .18s}.marker:after{content:'';position:absolute;bottom:-6px;left:11px;width:8px;height:8px;background:inherit;transform:rotate(45deg);border-bottom:2px solid #835736;border-right:2px solid #835736}.marker.near{background:#fce096;box-shadow:0 0 0 5px #ffefb85c,0 4px #6d482b55}.marker.done{background:#cfdec3;border-color:#537750;font-size:16px}.marker .label{display:none;position:absolute;bottom:43px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff3d9;padding:5px 10px;border:2px solid #835736;border-radius:8px;font-size:13px}.marker:hover .label,.marker:focus-visible .label{display:block}.shade{position:fixed;inset:0;z-index:8;background:#342d3540;display:flex;align-items:flex-end;justify-content:center;padding:28px;backdrop-filter:blur(1px)}.dialog{background:#fff2d6;border:4px solid #745039;border-radius:23px;box-shadow:0 6px 0 #513a2a,0 12px 40px #31261d40;max-width:760px;width:100%;position:relative;padding:23px 28px}.speaker{display:inline-block;background:#8a7152;color:#fff3d7;padding:5px 14px;border-radius:8px;letter-spacing:1.5px;font-size:12px;margin-bottom:10px}.dialog h1{font-size:26px;line-height:1.15;margin:0 35px 10px 0;font-weight:1000}.dialog p{font-size:16px;line-height:1.5;margin:0 0 17px;font-weight:700}.close{position:absolute;right:15px;top:14px;background:#ecd8b6;border:2px solid #9b7656;border-radius:10px;width:34px;height:34px;font-size:20px}.choices{display:flex;gap:10px;flex-wrap:wrap}.choice{flex:1;min-width:160px;text-align:left;background:#e7cfa4;border:2px solid #9b7752;border-radius:12px;padding:12px 16px;box-shadow:0 3px #af8a60;line-height:1.2}.choice.good{background:#c9d8b7;border-color:#738664;box-shadow:0 3px #849369}.choice span{display:block;font-size:12px;font-weight:700;margin-top:6px;color:#745a43}.choice:disabled{box-shadow:none}.dialog .note{font-size:12px;margin:13px 0 0;color:#94775a}.start{align-items:center}.start .dialog{max-width:510px;text-align:center;padding:28px}.start .speaker{background:#7f9668}.start h1{margin-right:0;font-size:34px}.start .choice{text-align:center}.tag{background:#f0dfbf;border-radius:10px;padding:8px 12px;font-size:13px;display:inline-block;margin:0 0 17px}.toast{position:fixed;top:170px;left:50%;transform:translate(-50%,-20px);opacity:0;z-index:12;pointer-events:none;background:#fff2d6;border:3px solid #826041;padding:12px 21px;border-radius:15px;box-shadow:0 4px #4d392c44;transition:.2s;max-width:90vw;text-align:center;font-size:15px}.toast.show{transform:translate(-50%,0);opacity:1}.progress{height:13px;background:#dac7a6;border:2px solid #997454;border-radius:10px;overflow:hidden;margin:12px 0}.progress i{height:100%;display:block;background:#88aa7b;border-radius:6px}.mini-row{display:flex;gap:10px;align-items:center}.ingredients{display:flex;gap:12px;margin:12px 0}.ingredients span{padding:10px;background:#ecdab9;border-radius:9px}.timing-track{height:26px;background:#e2c69b;border:3px solid #957048;position:relative;border-radius:15px;margin:20px 0;overflow:hidden}.timing-track .sweet{position:absolute;left:35%;width:30%;height:100%;background:#9cb67f}.timing-track .cursor{height:100%;width:6px;position:absolute;left:0;background:#785275}.key-tip{font-size:13px!important;color:#84694e}.log{max-height:160px;overflow:auto;font-size:14px;line-height:1.8;margin:12px 0;padding-left:20px}.ride-controls{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:7px;pointer-events:auto}.ride-controls button{width:54px;height:48px;border:3px solid #70543a;background:#fff0d6;border-radius:12px;box-shadow:0 4px #5a402f}.ride-controls .pause{width:auto;padding:0 14px}.ride-meter{position:absolute;left:50%;bottom:88px;transform:translateX(-50%);background:#fff0d6;border:3px solid #70543a;border-radius:13px;padding:8px 18px;width:300px;text-align:center;font-size:14px}.touchpad{position:absolute;bottom:100px;left:20px;display:none;grid-template-columns:44px 44px 44px;gap:3px;pointer-events:auto}.touchpad button{height:43px;background:#fff2d6db;border:2px solid #7a5c3e;border-radius:10px;font-size:21px;touch-action:none}.touchpad .up{grid-column:2}.touchpad .left{grid-column:1}.touchpad .down{grid-column:2}.touchpad .right{grid-column:3}#loading{position:fixed;inset:0;display:grid;place-items:center;background:#94ae87;z-index:20;font-size:20px}.bag-items{display:flex;gap:9px;flex-wrap:wrap}.bag-items span{padding:10px 14px;background:#e5d3b0;border-radius:9px}.journal-list{max-height:35vh;overflow:auto}.journey-item{padding:8px 0;border-bottom:1px dashed #c8ac87;font-size:15px}.journey-item.done{color:#527a4e}.help-grid{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:15px}.help-grid kbd{background:#e6ccaa;border:1px solid #a37a53;padding:4px 8px;border-radius:7px;font:900 14px 'Nunito'}.error{color:#9b3730}@media(max-width:900px){.brand{top:14px;left:14px;padding:8px 15px}.brand b{font-size:27px}.brand small{font-size:9px}.clock-card{right:14px;top:14px;padding:8px 10px;min-width:135px;gap:5px}.clock-card b{font-size:23px}.clock-card small{font-size:10px}.clock-card .sun{font-size:25px}.xp-pill{right:16px;top:96px;font-size:12px;padding:5px 9px}.objective{top:100px;left:15px;transform:none;max-width:215px;padding:7px 11px;text-align:left}.objective small{font-size:9px}.objective b{font-size:14px}.objective p{font-size:11px}.toolbar{left:14px;bottom:17px;gap:5px}.tool{padding:8px 10px;font-size:12px}.tool em{font-size:17px;margin:0}.tool .word{display:none}.zoom{right:14px;bottom:17px}.prompt{bottom:77px;font-size:14px;padding:10px 14px;width:max-content;max-width:88vw}.hint{bottom:140px;font-size:11px;white-space:normal;width:250px}.shade{padding:14px}.dialog{padding:18px;border-radius:18px;max-height:78svh;overflow:auto}.dialog h1{font-size:23px}.dialog p{font-size:15px}.choice{min-width:125px;padding:10px 12px;font-size:15px}.choices{gap:8px}.marker{width:31px;height:31px;font-size:16px}.touchpad{display:grid;bottom:167px;left:14px;opacity:.82}.toast{top:170px;font-size:13px;padding:9px 14px}.ride-controls{bottom:75px}.ride-meter{bottom:136px;width:270px}.start .dialog{padding:22px}.start h1{font-size:30px}.close{right:10px;top:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
