:root{color-scheme:dark;--cream:#fff1cc;--green:#173f31;--gold:#efbe62}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#102a28;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--cream);overscroll-behavior:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none}button:focus-visible{outline:3px solid #fff;outline-offset:4px}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}#app{position:relative;max-width:1800px;height:100dvh;min-height:320px;margin:auto;overflow:hidden;isolation:isolate}canvas{width:100%;height:100%;display:block}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #092a2138}header{position:absolute;top:max(16px,env(safe-area-inset-top));left:24px;right:24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:9px;align-items:center;text-shadow:0 2px 8px #092c29;letter-spacing:2px;font-weight:800;font-size:13px}.brand small{display:block;letter-spacing:5px;font-size:10px;margin-top:3px}.brand-leaf{font-size:38px;color:var(--gold)}.hud-right{display:flex;gap:9px}.iconbtn{height:44px;width:44px;border:1px solid #f4d7a15c;background:#153b30db;color:var(--cream);border-radius:15px;font-size:22px;box-shadow:0 5px 20px #12332940}#mission{position:absolute;top:86px;left:24px;width:300px;padding:15px 18px;background:linear-gradient(120deg,#103c32ed,#193b31cc);border:1px solid #f4dcac40;border-radius:18px;box-shadow:0 10px 30px #0b372b30;backdrop-filter:blur(12px)}.mission-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;letter-spacing:1.8px;color:#eed18c}#carrots{font-size:15px;letter-spacing:0}#objective{font-size:14px;margin:9px 0 11px;line-height:1.4;font-weight:600}.progress{height:4px;background:#ffffff20;border-radius:4px;overflow:hidden}.progress i{display:block;width:0;height:100%;background:var(--gold);transition:width .4s}#badges{display:flex;gap:14px;font-size:10px;margin-top:10px;color:#dfdfbd}#toast{position:absolute;top:31%;left:50%;transform:translate(-50%,-10px);padding:12px 20px;max-width:85%;border-radius:20px;background:#fff4d9;color:#254234;box-shadow:0 8px 40px #153c3840;opacity:0;transition:.25s;pointer-events:none;text-align:center;font-weight:700;font-size:14px}#toast.show{opacity:1;transform:translate(-50%,0)}#prompt{position:absolute;bottom:160px;left:50%;transform:translateX(-50%);width:min(360px,85vw);padding:14px 20px;background:#123e35ed;border:1px solid #f5d28d77;border-radius:20px;text-align:center;box-shadow:0 10px 30px #102b2840}#prompt-title{display:block;font-family:Georgia,serif;font-size:21px;color:var(--gold)}#prompt-text{display:block;line-height:1.45;margin-top:5px;font-size:12px}.holdbar{height:3px;background:#ffffff18;margin-top:9px;overflow:hidden;border-radius:3px}.holdbar i{display:block;width:0;height:100%;background:#eac367}#controls{position:absolute;bottom:max(35px,env(safe-area-inset-bottom));left:24px;right:24px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}.walk,.actions{display:flex;gap:12px;align-items:end;pointer-events:auto}#controls button{border:1px solid #fff2c660;background:linear-gradient(160deg,#fff7da35,#0b342ab8);backdrop-filter:blur(8px);border-radius:24px;width:68px;height:68px;color:#fff8e3;font-size:25px;box-shadow:0 8px 20px #092b2840;user-select:none}#controls button.pressed{background:#edc26c;color:#233d2d;transform:translateY(3px)}#controls .jump{width:88px;height:88px;background:linear-gradient(150deg,#edce87,#ba873b);color:#223d2e;border:2px solid #ffe0a0;box-shadow:0 5px 0 #735326,0 8px 22px #082a2c60}#controls .jump span{font-size:36px;line-height:35px}#controls small{display:block;font-size:10px;letter-spacing:.5px;margin-top:2px}#controls .help span{font-size:27px}#desktop-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:10px;color:#fff3cdbb;white-space:nowrap;text-shadow:0 2px 4px #123b2e}#desktop-hint b{padding:0 7px;color:var(--gold)}.screen{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#082c2780,#112e2420,#082c2740);padding:22px;backdrop-filter:blur(3px)}.panel{width:min(470px,100%);padding:35px 38px;background:linear-gradient(160deg,#143e33f5,#092c28ef);border:1px solid #dabc7a8c;border-radius:28px;text-align:center;box-shadow:0 22px 80px #08252299,inset 0 0 0 6px #e3bb6720}.eyebrow{letter-spacing:4px;font-size:10px;color:#d4bd83;font-weight:700}h1{font-family:Georgia,serif;font-size:54px;line-height:.98;margin:22px 0 12px;letter-spacing:-2px;text-shadow:0 3px 0 #09241c}h1 em{font-style:normal;color:#f1c777;font-size:64px}h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:12px 0;color:#ffedbc}.rule{display:flex;align-items:center;gap:14px;color:var(--gold);margin:17px auto;width:60%}.rule:before,.rule:after{content:'';height:1px;background:#d1ae684f;flex:1}.panel p{font-size:15px;line-height:1.6;color:#e2e5d0}.primary{border:1px solid #ffe0a0;border-radius:13px;background:linear-gradient(130deg,#f8d58c,#d8a449);color:#263e2d;font-size:16px;font-weight:800;padding:16px 20px;width:100%;box-shadow:0 4px 0 #89652d;margin-top:12px}.primary:hover{filter:brightness(1.08)}.secondary{background:transparent;border:1px solid #e4c78d70;border-radius:12px;color:#f8e8c1;padding:12px 18px;margin-top:14px;width:100%;font-weight:600}.intro-pills{display:flex;justify-content:center;gap:16px;margin:20px 0;font-size:12px}.panel .hint{font-size:11px;color:#d8dfc7a6;margin:23px 0 0}.medal{font-size:70px;filter:drop-shadow(0 5px 8px #0005)}.results{display:flex;justify-content:center;gap:26px;margin:22px 0}.results b{display:block;color:var(--gold);font-family:Georgia,serif;font-size:30px}.results small{font-size:10px;text-transform:uppercase;letter-spacing:2px}.shortcut{padding:10px;background:#ffffff0b;border-radius:10px;font-size:13px}.panel .subtitle{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#d5bd87}#loaderror{font-size:12px;color:#ffccae;margin-top:12px}@media(max-width:600px){header{left:16px;right:16px;top:max(12px,env(safe-area-inset-top))}#mission{left:16px;right:16px;top:73px;width:auto;padding:11px 15px}#objective{margin:7px 0;font-size:13px}#badges{margin-top:7px}#controls{left:15px;right:15px;bottom:max(30px,env(safe-area-inset-bottom));}#controls button{width:56px;height:61px;border-radius:20px}.walk,.actions{gap:8px}#controls .jump{width:75px;height:79px}.panel{padding:28px 25px}h1{font-size:46px}h1 em{font-size:57px}#prompt{bottom:130px}#desktop-hint{font-size:9px;bottom:8px}#toast{top:30%}}@media(max-height:570px){.panel{padding:18px 28px;width:470px}h1{font-size:32px;margin:8px 0}h1 em{font-size:38px}h2{font-size:21px}.intro-pills,.rule{margin:8px auto}.panel p{margin:8px 0;font-size:13px}.panel .hint{margin-top:12px}.primary{padding:11px}.brand{font-size:11px}#mission{top:70px;width:280px;padding:10px}#controls{bottom:20px}#prompt{bottom:100px}#toast{top:16%}.medal{font-size:40px}.results{margin:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

*{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{touch-action:none}
