:root{color:#274e46;font-synthesis:none;background:#afe1ed;font-family:ui-rounded,Arial Rounded MT Bold,Trebuchet MS,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:none;border:0;font-weight:900}button:focus-visible,input:focus-visible{outline-offset:5px;outline:4px solid #334e92}button:active{transform:translateY(2px)}[hidden]{display:none!important}#world{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui button,#ui input,.joystick,.debug-panel{pointer-events:auto}.hud{top:max(24px,env(safe-area-inset-top));left:max(30px,env(safe-area-inset-left));right:max(30px,env(safe-area-inset-right));z-index:5;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute}.mini-logo{letter-spacing:-1px;background:#fff6d9;border-radius:14px;padding:13px 18px;font-size:19px;box-shadow:0 4px #48776426}.mini-logo b{color:#b84f3f}.hud-actions{gap:10px;display:flex}.hud-actions button{background:#fff6df;border-radius:50%;width:49px;height:49px;font-size:25px;box-shadow:0 4px #48776426}.title-screen{background:linear-gradient(90deg,#eaf0d3e8 0%,#eaf0d3c4 25%,#eaf0d300 58%);position:absolute;inset:0}.title-copy{width:42%;max-width:570px;position:absolute;top:22%;left:7%}.eyebrow{letter-spacing:2.4px;font-size:12px;font-weight:900}h1{letter-spacing:-6px;margin:18px 0 21px;font-weight:1000;line-height:.88}h1>span{color:#385e4c;text-shadow:0 5px #fff6df;font-size:clamp(54px,6.5vw,100px);display:block}h1 strong{color:#d55d43;text-shadow:0 7px #fff1ce;letter-spacing:-7px;font-size:clamp(90px,10.6vw,160px);display:block}.logo-dot{color:#d99532}.title-copy>p{margin:25px 0;font-size:21px;font-weight:600;line-height:1.45}.play-button{background:#f8c453;border-radius:18px;justify-content:space-between;gap:38px;min-width:225px;padding:20px 27px;font-size:20px;display:flex;box-shadow:0 6px #b37c2d}.play-button span{font-size:25px;line-height:1}.title-controls{margin-top:25px;font-size:12px;font-weight:600;line-height:1.8}.title-footer{letter-spacing:.5px;justify-content:space-between;font-size:12px;display:flex;position:absolute;bottom:25px;left:7%;right:4%}.goal-card{background:#fff8e8;border-radius:17px;width:340px;padding:12px 18px;box-shadow:0 4px #48776426}.goal-card>div{align-items:center;gap:9px;display:flex}.score-icon{color:#b67b1e;font-size:24px}#score{font-variant-numeric:tabular-nums;font-size:25px}.goal-label{font-size:12px;font-weight:700}.level-name{letter-spacing:1px;margin-left:auto;font-size:9px;font-weight:900}progress{background:#dfe7ce;border:0;border-radius:10px;width:100%;height:9px;margin-top:7px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#dfe7ce}progress::-webkit-progress-value{background:#d79832;border-radius:10px}progress::-moz-progress-bar{background:#d79832}.hint{text-align:center;white-space:nowrap;background:#fff8e8e8;border-radius:30px;padding:12px 20px;font-size:12px;font-weight:700;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.intro-hint{font-size:17px;bottom:18%}.touch-controls{position:absolute;inset:0}.joystick{left:max(35px,env(safe-area-inset-left));touch-action:none;background:#fff7e945;border:3px solid #fff7e9b3;border-radius:50%;width:140px;height:140px;position:absolute;bottom:35px}.stick{pointer-events:none;background:#fff8e8d9;border-radius:50%;width:56px;height:56px;position:absolute;top:39px;left:39px;box-shadow:0 4px #28544933}.joystick-label{text-align:center;letter-spacing:2px;pointer-events:none;width:100%;font-size:10px;font-weight:900;position:absolute;bottom:9px;left:0}.jump{right:max(40px,env(safe-area-inset-right));background:#ffd16e;border-radius:50%;width:110px;height:110px;font-size:42px;position:absolute;bottom:45px;box-shadow:0 7px #bd913d}.jump small{letter-spacing:2px;font-size:13px;display:block}.debug-panel{z-index:10;background:#fff9e9f5;border:2px solid #e7c685;border-radius:21px;width:270px;padding:22px;position:absolute;top:100px;right:28px;box-shadow:0 12px 40px #21452f33}.debug-panel h2{margin:0;font-size:23px}.debug-panel h2 span{color:#ba7d28}.debug-panel p{font-size:12px;line-height:1.5}.debug-panel label{margin:18px 0;font-size:12px;font-weight:700;display:block}.debug-panel label span{justify-content:space-between;display:flex}.debug-panel output{font-variant-numeric:tabular-nums}.debug-panel input{accent-color:#b46537;width:100%;height:24px;margin-top:10px}.debug-panel button{background:#e6edcc;border-radius:10px;width:100%;padding:12px}.pickup-label{color:#fff1a8;text-shadow:2px 2px #684c28,-1px -1px #684c28;pointer-events:none;font-size:30px;font-weight:900;position:absolute;transform:translate(-50%,-50%)}.celebration{text-align:center;z-index:6;background:#fff8e8f2;border-radius:30px;width:min(560px,80%);padding:30px;position:absolute;top:20%;left:50%;transform:translate(-50%);box-shadow:0 8px #35634522}.celebration h2{letter-spacing:-1px;margin:12px 0;font-size:40px}.celebration>strong{color:#bd543d;font-size:24px}.celebration p{font-size:15px}.confetti{left:calc(var(--x) - 50vw);width:10px;height:18px;animation:confetti 3s var(--delay) both linear;z-index:-1;position:fixed;top:-40vh}@keyframes confetti{to{transform:translate(50px,130vh)rotate(600deg)}}.pause-overlay{text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:8;background:#2e503a66;place-content:center;display:grid;position:absolute;inset:0}.pause-card{background:#fff5dd;border-radius:27px;padding:35px 55px}.pause-card h2{margin:0 0 12px;font-size:34px}.pause-card button{background:#f8c453;border-radius:14px;margin-top:12px;padding:16px 25px}.rotate-notice{pointer-events:auto;z-index:30;text-align:center;background:#fff4d6;flex-direction:column;justify-content:center;align-items:center;padding:25px;display:none;position:absolute;inset:0}.rotate-notice>span{font-size:100px}.rotate-notice h2{font-size:26px}.rotate-notice p{line-height:1.7}.error-notice{pointer-events:auto;z-index:40;background:#fff4d6;border-radius:25px;padding:40px;position:absolute;inset:20%}@media (orientation:portrait){.rotate-notice{display:flex}}@media (height<=650px){.title-copy{top:19%}.title-copy>p{margin:18px 0;font-size:16px}h1{margin:14px 0}h1>span{font-size:54px}h1 strong{font-size:85px}.play-button{padding:15px 20px;font-size:17px}.title-controls{margin-top:16px}.title-footer{bottom:14px}.hud{top:15px}.debug-panel{padding:15px;top:75px}.debug-panel label{margin:8px 0}}@media (prefers-reduced-motion:reduce){.confetti{display:none}button:active{transform:none}}
