:root{--bg:#102e2b;--card:#1b3c37;--cream:#fff6df;--muted:#a8beb2;--lime:#dcf576;--orange:#ffbc66;--line:rgba(218,238,207,.12);--safe:env(safe-area-inset-bottom,0px);font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;color:var(--cream);background:var(--bg);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button:disabled{opacity:.45;cursor:default}h1,h2,h3,p{margin:0}button{transition:transform .18s,filter .18s}button:active{transform:scale(.96)}a{color:var(--lime)}.shell{max-width:520px;min-height:100dvh;margin:auto;padding:0 20px calc(98px + var(--safe));background:radial-gradient(ellipse at top right,#28544555,transparent 50%)}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:8px}.avatar{border-radius:16px;width:46px;height:46px;background:#dfedaa;color:#23453c;font-size:24px;box-shadow:0 4px 0 #0003}.identity{display:flex;align-items:center;gap:10px;min-width:0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:800}.player-name{font-weight:800;font-size:13px;max-width:155px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:4px}.balance{background:#294940;border:1px solid #acc06d40;border-radius:30px;padding:9px 13px;font-weight:900;white-space:nowrap}.coin{color:var(--lime);margin-right:5px}.heading{padding:16px 0 0;position:relative}.heading .eyebrow{color:var(--lime);letter-spacing:2.5px;font-size:10px;display:flex;align-items:center;gap:7px}.dot{width:6px;height:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 10px #d5ef8866}.heading h1{font-size:clamp(30px,8.4vw,42px);line-height:1.02;font-weight:1000;letter-spacing:-1.6px;margin:12px 0}.heading h1 span{color:var(--lime)}.subtitle{font-size:12px;color:var(--muted);line-height:1.5}.hero{position:relative;height:240px;border-radius:26px;overflow:hidden;margin:14px 0 20px;background:radial-gradient(ellipse at 50% 70%,#4c7554,#1f493d 65%);border:1px solid var(--line)}.hero:after{content:'';pointer-events:none;position:absolute;inset:0;border-radius:26px;box-shadow:inset 0 -30px 45px #102e2b66}.hero-canvas{position:absolute;inset:0}.hero-label{position:absolute;top:16px;left:16px;z-index:1;border:1px solid #ffffff24;background:#142f2970;border-radius:10px;padding:8px 10px;font-size:10px;font-weight:800;transform:rotate(-4deg)}.hero-tag{position:absolute;bottom:16px;right:16px;z-index:1;font-size:10px;font-weight:800;letter-spacing:1px;color:#f4e4ab;background:#233c2ad9;border-radius:20px;padding:7px 11px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.section-head h2{font-size:18px;letter-spacing:-.4px}.section-head span{font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.mode-card{display:flex;align-items:center;width:100%;text-align:left;position:relative;border-radius:22px;min-height:135px;overflow:hidden;background:#dfb879;color:#26392d;margin-bottom:12px;padding:20px;isolation:isolate;box-shadow:0 5px 0 #0002}.mode-card.spring{background:#a4d2bd}.mode-card .mode-copy{width:73%;z-index:1}.mode-card .mode-number{font-size:9px;font-weight:1000;letter-spacing:1.5px;opacity:.65;display:block;margin-bottom:7px}.mode-card h3{font-size:21px;font-weight:1000;line-height:1;letter-spacing:-.6px;max-width:210px}.mode-card p{font-size:11px;margin-top:7px;max-width:195px;opacity:.75}.mode-meta{display:flex;gap:7px;font-size:9px;font-weight:800;margin-top:12px}.mode-meta span{border:1px solid #2740322a;border-radius:20px;padding:4px 7px}.mode-graphic{position:absolute;right:-15px;top:0;width:150px;height:100%;pointer-events:none}.card-arrow{position:absolute;right:15px;bottom:15px;width:30px;height:30px;background:#244235;color:#fff6df;display:grid;place-items:center;border-radius:50%;font-size:19px;z-index:2}.mode-card:hover{filter:brightness(1.05)}.safety{font-size:10px;line-height:1.6;color:#9ab2a3;margin:20px 5px;text-align:center}.daily-mini{background:#25453b;border:1px solid var(--line);width:100%;padding:15px;border-radius:18px;display:flex;gap:12px;align-items:center;text-align:left}.daily-mini b{font-size:12px;display:block}.daily-mini small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.daily-mini .gift{font-size:26px}.pill{margin-left:auto;color:var(--lime);font-weight:900;font-size:11px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:calc(74px + var(--safe));padding:7px 12px var(--safe);background:#112d28f5;backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;z-index:20}.nav button{flex:1;background:none;color:#89a798;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;border-radius:14px}.nav button.active{color:var(--lime);background:#c8ee8810}.nav .ico{font-size:21px}.page-title{margin:18px 0 8px;font-size:30px;letter-spacing:-1px}.page-sub{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:24px}.panel{background:#1d3c34;border:1px solid var(--line);border-radius:22px;padding:20px;margin:14px 0}.panel h3{font-size:16px;margin-bottom:15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.stats b{font-size:23px;color:var(--lime);display:block}.stats small{font-size:9px;color:var(--muted)}.xp{height:7px;background:#ffffff13;border-radius:8px;margin:12px 0 5px;overflow:hidden}.xp>i,.task-bar>i{display:block;height:100%;border-radius:inherit;background:var(--lime);transition:width .4s}.xp-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.wardrobe{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.outfit{border-radius:15px;border:1px solid #ffffff16;background:#294b40;padding:14px 5px;font-size:10px;min-height:94px;position:relative}.outfit .em{font-size:27px;display:block;margin-bottom:7px}.outfit.chosen{border:2px solid var(--lime);background:#d4ef8820}.outfit small{display:block;color:var(--muted);margin-top:5px;font-size:9px}.ach{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.ach:last-child{border:0}.ach .badge{width:42px;height:42px;background:#ffffff0b;border-radius:14px;display:grid;place-items:center;font-size:20px;filter:grayscale(1);opacity:.4}.ach.unlocked .badge{filter:none;opacity:1;background:#dded8525}.ach b{font-size:12px;display:block}.ach small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:16px;background:var(--lime);color:#1a392e;width:100%;font-size:14px;font-weight:900;box-shadow:0 4px 0 #0002}.btn.secondary{background:#294d40;color:var(--cream);border:1px solid var(--line);box-shadow:none}.btn+.btn{margin-top:10px}.task{padding:13px 0}.task-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:700}.task-top span{color:var(--lime)}.task-bar{height:6px;background:#ffffff12;border-radius:10px;margin-top:10px}.quest-banner{background:var(--lime);color:#21402f;border-radius:24px;padding:25px}.quest-banner .em{font-size:35px;margin-bottom:12px}.quest-banner h2{font-size:25px;line-height:1.1}.quest-banner p{font-size:12px;line-height:1.6;margin-top:12px;opacity:.75}.tabs{display:flex;gap:5px;background:#ffffff09;border-radius:16px;padding:5px;margin-bottom:16px}.tabs button{flex:1;border-radius:12px;padding:11px;background:transparent;color:var(--muted);font-size:12px;font-weight:800}.tabs button.active{background:#4a674c;color:var(--cream)}.rank{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.rank:last-child{border:0}.rank.me{color:var(--lime)}.rank-num{font-size:15px;color:var(--muted);width:20px}.rank-avatar{height:38px;width:38px;background:#d8c890;color:#274334;border-radius:13px;display:grid;place-items:center;font-weight:900}.rank-name{font-weight:800;font-size:12px}.rank-name small{font-weight:400;display:block;font-size:10px;color:var(--muted);margin-top:4px}.rank-score{margin-left:auto;font-weight:900;font-size:15px}.empty{color:var(--muted);font-size:12px;line-height:1.7;text-align:center;padding:18px}.local-note{font-size:9px;letter-spacing:1px;text-align:center;color:#90a898;padding:10px}.resume{margin-top:12px}.game{position:fixed;inset:0;background:#aad3be;overflow:hidden;touch-action:none}.game-stage{position:absolute;inset:0}.game canvas{touch-action:none;display:block}.game:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 100px 100px -90px #103c33,inset 0 -140px 100px -100px #15352d}.hud{position:absolute;z-index:3;top:calc(12px + env(safe-area-inset-top,0px));left:14px;right:14px;display:flex;align-items:center;gap:8px}.quit,.sound{height:42px;min-width:42px;border-radius:14px;background:#15372edb;color:#fff2d7;font-size:20px;border:1px solid #ffffff20}.hud-stats{display:flex;flex:1;justify-content:space-around;background:#14382fe8;border:1px solid #ffffff20;border-radius:16px;height:55px;align-items:center;box-shadow:0 4px 10px #133c2720}.hud-stats b{font-size:18px;display:block;line-height:1.1}.hud-stats small{font-size:8px;color:#c5d6b4;text-transform:uppercase;letter-spacing:1px}.hud-stats .timer.low{color:#ffb87e}.hud-mode{position:absolute;z-index:2;top:82px;left:50%;transform:translateX(-50%);color:#274a38;background:#f7f2d5d4;border-radius:20px;font-size:10px;font-weight:900;padding:7px 12px;white-space:nowrap;letter-spacing:1px}.combo{position:absolute;top:122px;left:50%;transform:translateX(-50%);z-index:3;pointer-events:none;color:#f8ffbb;font-size:26px;font-weight:1000;text-shadow:0 3px 0 #385b37,0 0 20px #28643c}.bottom-hud{position:absolute;bottom:calc(20px + var(--safe));left:20px;right:20px;z-index:3;pointer-events:none}.instruction{text-align:center;color:#fffbe3;font-size:12px;font-weight:800;text-shadow:0 1px 8px #14392e;background:#15382dbf;border:1px solid #ffffff20;border-radius:15px;padding:12px 14px;max-width:400px;margin:auto;line-height:1.6}.power{height:8px;background:#16392dc9;border:1px solid #ffffff40;border-radius:20px;overflow:hidden;max-width:220px;margin:12px auto}.power i{height:100%;width:15%;display:block;background:linear-gradient(90deg,#ddf493,#ffc074);transition:width .05s}.stones{text-align:center;font-size:12px;font-weight:900;color:#fff6df;text-shadow:0 1px 8px #224831;margin:9px}.controls{display:flex;align-items:end;justify-content:space-between;margin-top:14px}.joystick{width:112px;height:112px;border-radius:50%;background:#15382d60;border:2px solid #fff5d760;pointer-events:auto;position:relative;touch-action:none;box-shadow:inset 0 0 25px #15382d30}.joystick:before{content:'✥';position:absolute;inset:0;display:grid;place-items:center;font-size:60px;color:#fff8dd50}.knob{width:48px;height:48px;position:absolute;left:30px;top:30px;border-radius:50%;background:#f6f4cfb0;border:2px solid #ffffff80;box-shadow:0 3px 12px #123a3530;pointer-events:none}.dash{width:90px;height:90px;pointer-events:auto;border-radius:50%;background:var(--lime);color:#274535;font-size:24px;font-weight:1000;box-shadow:0 5px 0 #6e9350,0 10px 25px #123c4030;border:3px solid #faffb9}.dash small{display:block;font-size:9px;margin-top:3px;letter-spacing:1px}.float-text{position:absolute;z-index:5;left:50%;top:45%;color:#fff8d6;font-size:24px;white-space:nowrap;font-weight:1000;pointer-events:none;text-shadow:0 3px 0 #376a4a;animation:floatup 1.2s forwards}.overlay{position:fixed;inset:0;z-index:40;background:#0d2d27a6;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:22px}.modal{width:100%;max-width:390px;background:#183c31;border:1px solid #b9d69840;border-radius:30px;padding:26px;box-shadow:0 20px 80px #0005;animation:pop .3s}.modal .big-icon{font-size:45px;text-align:center;margin:5px 0 13px}.modal h2{text-align:center;font-size:25px;letter-spacing:-.6px}.modal p{font-size:12px;color:#c2d1b5;line-height:1.75;margin:14px 0}.modal .btn{margin-top:13px}.modal li{font-size:12px;line-height:1.7;margin:9px 0;color:#d3dfc2}.modal ul{padding-left:17px}.result-score{text-align:center;font-size:64px;color:var(--lime);font-weight:1000;line-height:1.2;margin:15px 0 4px}.result-label{text-align:center;font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin:24px 0}.result-stats b{display:block;font-size:21px}.result-stats small{font-size:9px;color:var(--muted)}.result-tag{border:1px solid #c9ee7733;background:#c9ee7717;border-radius:20px;padding:8px 10px;text-align:center;font-size:11px;color:var(--lime);margin-bottom:18px}.boot{min-height:100dvh;display:grid;align-content:center;justify-items:center;gap:20px;text-align:center;background:radial-gradient(ellipse at center,#355a43,#102e2b)}.boot h1{font-size:34px;line-height:1;letter-spacing:-1px}.boot p{font-size:12px;color:var(--muted)}.boot-icon{font-size:60px;color:var(--lime);animation:spin 5s linear infinite}#toast{position:fixed;left:50%;bottom:calc(95px + var(--safe));z-index:70;transform:translate(-50%,20px);background:#fff5d9;color:#264836;border-radius:16px;padding:14px 20px;box-shadow:0 8px 30px #0004;font-size:12px;font-weight:800;max-width:90vw;width:max-content;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.fade{animation:fadein .25s}.error{padding:30px;line-height:1.8;text-align:center;max-width:480px;margin:20vh auto}.sound{font-size:17px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes floatup{from{transform:translate(-50%,0) scale(.9);opacity:1}to{transform:translate(-50%,-85px) scale(1.1);opacity:0}}@media(min-width:650px){.game{max-width:650px;left:50%;transform:translateX(-50%);box-shadow:0 0 80px #0006}.hero{height:270px}}@media(max-height:700px){.hero{height:195px}.heading{padding-top:4px}.topbar{height:65px}.mode-card{min-height:122px;padding:16px}.heading h1{font-size:32px}}@media(prefers-reduced-motion:reduce){.fade,.modal,.boot-icon{animation:none}button{transition:none}}
