html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width: 100%; height: 100%; overflow: hidden; }
body {
  position: fixed; inset: 0;
  user-select: none; -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  overscroll-behavior: none;
}
#app { position: fixed; left: 0; top: 0; overflow: hidden; transform-origin: 0 0; }
.screen { position: absolute; inset: 0; display: none; overflow: hidden; }
.screen.active { display: flex; }
.overlay { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; z-index: 50; }
.overlay.show { display: flex; }
#menuIn, .fitwrap { position: absolute; left: 0; top: 0; overflow: hidden; }
.scroller { overflow-y: auto; scrollbar-width: none; }
.scroller::-webkit-scrollbar { display: none; }
.scroller.x { overflow-x: auto; overflow-y: hidden; white-space: nowrap; }
#lb-list { overflow-y: auto; max-height: 320px; display: flex; flex-direction: column; gap: 6px; }
.lb-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; }
.lb-medal { width: 30px; text-align: center; flex-shrink: 0; }
.lb-avatar { position: relative; width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.lb-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lb-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-score { flex-shrink: 0; }
.lb-empty { text-align: center; padding: 20px; }

body{background:radial-gradient(ellipse at 50% 30%,#4aab9b,#123f57);font:700 16px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#174e50}button{font:800 17px inherit;font-family:inherit;font-size:17px;color:#164d48;cursor:pointer;min-height:48px;border:2px solid #246f5d;border-radius:18px;background:linear-gradient(#f4ffdf,#a7eab1);box-shadow:0 5px 0 #246f5d, inset 0 2px 0 #fff9;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:9px;transition:translate .1s;touch-action:manipulation}button:active{translate:0 4px;box-shadow:0 1px 0 #246f5d}button:disabled{opacity:.55;cursor:default}button svg{width:25px;height:25px;flex-shrink:0}button.primary{background:linear-gradient(#ffeb70,#ffb82d);border-color:#a86c21;box-shadow:0 6px 0 #a86c21,inset 0 3px 0 #fff8;color:#714313}button.gold{background:linear-gradient(#ffedaa,#ffcf74);border-color:#b88736;box-shadow:0 5px 0 #b88736}button.big{font-size:27px;min-height:67px;border-radius:23px;width:100%}button.icon{width:50px;height:48px;padding:9px;flex-shrink:0}h1,h2,p{margin:0}h2{font-size:29px;letter-spacing:-1px}p{line-height:1.5}#world{position:absolute;inset:0;touch-action:none}#scr-game{pointer-events:none}#scr-game button{pointer-events:auto}.eyebrow{position:absolute;top:32px;left:0;width:100%;font-size:10px;letter-spacing:1.7px;text-align:center;color:#216f5c}.logo{position:absolute;top:62px;width:100%;font-size:62px;font-weight:1000;line-height:.91;text-align:center;letter-spacing:-3px;color:#fff8cf;-webkit-text-stroke:2px #17674d;paint-order:stroke fill;text-shadow:0 5px 0 #17674d,0 8px 0 #164d4828;transform:rotate(-4deg)}.logo span{color:#ffe56b;font-size:78px}.subtitle{position:absolute;top:214px;width:100%;text-align:center;font-size:16px;color:#17674d}.menu-bottom{position:absolute;bottom:22px;left:27px;right:27px;display:flex;flex-direction:column;gap:15px}.progress-label{text-align:center;color:#fff9df;text-shadow:0 2px 1px #146b67;font-size:13px}.menu-row{display:flex;gap:9px}.menu-row button:not(.icon){flex:1;font-size:15px;padding:8px}.menu-row svg{width:22px}.allgames{min-height:43px;background:linear-gradient(#dcfbff,#8bdde6);border-color:#207c88;box-shadow:0 4px 0 #207c88;font-size:16px}.guest{text-align:center;font-weight:600;font-size:10px;color:#e5fff1;line-height:1.4}.guest svg{width:13px;height:13px;vertical-align:middle;margin-right:4px}.hud{position:absolute;left:12px;right:12px;top:12px}.hud-top{display:flex;align-items:center;gap:9px}.level-pill{background:#fff9dfeF;border:2px solid #2a856c;border-radius:18px;padding:7px 11px;flex:1;text-align:center;box-shadow:0 3px 0 #2a856c;display:flex;flex-direction:column}.level-pill b{font-size:17px}.level-pill span{font-size:10px;white-space:nowrap}.collect-pill{display:flex;align-items:center;gap:3px;border:2px solid #c09128;border-radius:18px;padding:7px;background:#fff2b2;min-width:57px}.collect-pill svg{width:25px;height:29px}.route-track{height:9px;border-radius:9px;background:#ffffffb0;margin-top:11px;border:1px solid #378a7e;overflow:hidden}.route-track i{display:block;height:100%;background:#ffce45;width:0;transition:width .2s}.rescue-pill{display:flex;align-items:center;justify-content:center;gap:5px;background:#fff8db;float:right;border-radius:14px;padding:4px 9px;margin-top:8px;font-size:12px;border:1px solid #3b9584}.rescue-pill svg{width:23px;height:23px}.hint{position:absolute;top:140px;left:15%;right:15%;text-align:center;font-size:16px;line-height:1.5;color:#165849;background:#fffbd9ef;border:2px solid #4f9b6a;border-radius:18px;padding:10px;transition:opacity .4s}.control-label{position:absolute;bottom:20px;left:12px;right:12px;background:#fff8dbe8;border:2px solid #31866b;border-radius:30px;padding:12px;text-align:center;font-size:12px;letter-spacing:1px;pointer-events:none}.overlay{background:#073b536b;backdrop-filter:blur(4px)}.panel{width:346px;padding:26px 22px 24px;border:3px solid #35846a;border-radius:29px;background:linear-gradient(#fffce6,#e4f9d6);box-shadow:0 9px 0 #195c52,0 18px 40px #113f5250;display:flex;flex-direction:column;gap:14px;text-align:center;flex-shrink:0}.panel p{font-size:13px;font-weight:600}.overline{font-size:10px;letter-spacing:2px;color:#34836d}.two{display:flex;gap:10px}.two button{flex:1;font-size:15px}.result-stars{display:flex;justify-content:center;gap:8px;margin:7px}.result-stars svg{width:54px;height:54px;color:#ffd342}.result-detail{border-radius:17px;padding:15px;background:#fff;border:2px solid #c1e6b7;line-height:1.8;font-size:17px}.share{background:#9bdfed;box-shadow:0 4px 0 #287b85;border-color:#287b85}.map-wrap{display:flex;flex-direction:column;padding:25px 20px;gap:15px;background:#c3f5ddd9}.page-head{display:flex;align-items:center;gap:13px}.page-head h2{font-size:25px}.map-note{font-size:12px;text-align:center}#map-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:18px;padding:3px 5px 18px}.world-card{padding:18px 14px 22px;border:2px solid #238571;border-radius:24px;background:#e6ffd8;box-shadow:0 5px 0 #238571}.world-card.jungle{background:#ffe6ee;border-color:#ab5d88;box-shadow:0 5px 0 #ab5d88}.world-card.moon{background:#e0e8ff;border-color:#6978ab;box-shadow:0 5px 0 #6978ab}.world-card h3{font-size:20px;margin:0 0 5px}.world-card p{font-size:11px;margin-bottom:16px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px 10px}.level-button{padding:6px;flex-direction:column;gap:2px;font-size:21px;min-height:72px}.mini-stars{font-size:13px;letter-spacing:1px;color:#9a691f}.leaderboard{height:460px}#lb-list{flex:1;min-height:0;max-height:none}.lb-row{font-size:14px;background:#fff;border-radius:12px;border:1px solid #acd9bb;min-height:53px}.lb-avatar{background:#acf0c6}.top-1{background:#fff2af}.me{border:2px solid #208976}.gold .lb-medal,.gold{color:#926111}.lb-medal{border-radius:50%;background:#ffe491;width:27px;height:27px;line-height:27px}.lb-empty{font-size:13px}.symbols{position:absolute;width:0;height:0;pointer-events:none}#toast{position:absolute;bottom:90px;left:18px;right:18px;border-radius:20px;padding:12px;background:#174f54;color:#fff9d9;font-size:13px;text-align:center;opacity:0;pointer-events:none;z-index:100;transition:opacity .2s}#toast.show{opacity:1}
button{font-weight:800}
@media(max-height:400px){.hud{left:6px;right:6px;top:6px}.hud-top{gap:4px}.hud-top button.icon{width:40px;height:40px;min-height:40px;padding:8px}.level-pill{min-width:0;padding:5px 2px;border-radius:12px}.level-pill b{font-size:10px}.level-pill span{font-size:6px}.collect-pill{min-width:33px;padding:4px 2px;font-size:11px;gap:0}.collect-pill svg{width:16px;height:23px}.route-track{margin-top:7px;height:6px}.rescue-pill{padding:2px 5px;font-size:9px}.rescue-pill svg{width:16px;height:16px}.hint{top:85px;left:10%;right:10%;font-size:10px;padding:6px;border-radius:12px}.control-label{bottom:9px;left:6px;right:6px;font-size:7px;padding:7px;letter-spacing:.4px}}

#app[data-world="2"] .eyebrow,#app[data-world="2"] .subtitle{color:#f2f9d5}#app[data-world="2"] .subtitle{text-shadow:0 2px 0 #27446f}#app[data-world="2"] .level-pill,#app[data-world="2"] .hint{border-color:#5d7dac}
.menu-bottom{bottom:17px;gap:11px}.workshop-button{min-height:42px;background:linear-gradient(#fff3dc,#ffc298);border-color:#b87f50;box-shadow:0 4px 0 #b87f50;font-size:16px}.allgames{min-height:40px}.level-pill{overflow:hidden}.level-pill span{overflow:hidden;text-overflow:ellipsis}.chapter-title{font-size:12px;color:#397765;margin:18px 0 9px;text-align:left}.world-card.jungle .chapter-title{color:#92587e}.world-card.moon .chapter-title{color:#536a9c}.level-grid{grid-template-columns:repeat(5,1fr);gap:10px 7px}.level-button{font-size:18px;min-height:65px;border-radius:14px;padding:7px 1px}.mini-stars{font-size:10px;letter-spacing:0}.clean-mark{font-size:6px;font-style:normal;color:#217650}.shop-wrap{background:#dcf8e5f5;display:flex;flex-direction:column;gap:15px;padding:25px 20px}.shop-wrap .page-head h2{font-size:28px}#shop-balance{text-align:center;font-size:15px}.shop-tabs{display:flex;gap:8px}.shop-tabs button{font-size:14px;padding:8px;flex:1;min-height:42px}.shop-tabs button.selected{background:linear-gradient(#ffe88d,#ffc35c);border-color:#aa7a35;box-shadow:0 4px 0 #aa7a35}#shop-list{flex:1;min-height:0;padding:3px 5px 14px;display:flex;flex-direction:column;gap:15px}.shop-card{background:#fffcec;border:2px solid #65a68a;border-radius:22px;box-shadow:0 4px 0 #65a68a;padding:17px;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.shop-card h3{display:flex;align-items:center;gap:10px;font-size:20px;margin:0}.shop-card h3 svg{width:29px;height:29px;flex-shrink:0}.shop-card p,.shop-note{font-size:12px;line-height:1.6;font-weight:600}.shop-note{text-align:center}.shop-card button{font-size:14px;min-height:46px}.upgrade-dots{display:flex;gap:7px}.upgrade-dots i{width:28px;height:9px;border-radius:8px;background:#d5e6d5;border:1px solid #8fb29d}.upgrade-dots i.filled{background:#ffcf54;border-color:#c39743}.skin-preview{width:126px;height:110px;align-self:center}.mission-bar{height:10px;background:#d5e6d5;border-radius:12px;overflow:hidden}.mission-bar i{display:block;height:100%;background:#65c88c}.shop-card>span{font-size:11px;text-align:right}#goal-label{position:absolute;top:117px;left:15px;font-size:11px;color:#195a56;background:#fff5d0db;border-radius:15px;padding:4px 9px;pointer-events:none}#goal-label:empty{display:none}.dash-button{position:absolute;right:16px;bottom:80px;width:64px;height:68px;border-radius:24px;min-height:60px;padding:8px 5px;background:linear-gradient(#fff2a2,#ffbf42);border-color:#aa7a35;box-shadow:0 5px 0 #aa7a35;display:flex;flex-direction:column;gap:0;overflow:hidden;transform-origin:bottom right;pointer-events:auto!important}.dash-button[hidden]{display:none}.dash-button svg{width:29px;height:29px;z-index:1}.dash-button span{font-size:10px;z-index:1}.dash-button i{position:absolute;inset:0;background:#adbbabbd;transform:scaleY(0);transform-origin:bottom;pointer-events:none}.dash-button.cooldown{color:#577165}.hint{top:142px;font-size:13px;padding:10px;line-height:1.4}.control-label{font-size:10px;letter-spacing:.4px}.result-panel{gap:11px;padding-top:21px;padding-bottom:20px}.result-detail{font-size:13px}.result-panel h2{font-size:27px}.result-stars{margin:0}.result-stars svg{width:45px;height:45px}
@media(max-height:400px){.hint{top:86px;font-size:8px;padding:6px}.dash-button{right:8px;bottom:49px;width:43px;height:47px;min-height:43px;border-radius:15px}.dash-button svg{width:20px;height:20px}.dash-button span{font-size:7px}.control-label{font-size:6px;padding:7px}#goal-label{top:71px;left:7px;font-size:7px}}
