:root{--bg: var(--tg-theme-bg-color, #15151a);--bg2: var(--tg-theme-secondary-bg-color, #202027);--text: var(--tg-theme-text-color, #f2efe8);--hint: var(--tg-theme-hint-color, #8f8d96);--button: var(--tg-theme-button-color, #e2b65c);--button-text: var(--tg-theme-button-text-color, #1c160c);--sand: #e6c268;--wood: #d39a5e;--danger: #e2574c;--radius: 14px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit}h1,h2,h3{margin:0}.screen{min-height:100%;padding:16px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;max-width:520px;margin:0 auto}.screen.center{justify-content:center;align-items:center;text-align:center}.hint{color:var(--hint)}.small{font-size:13px}.error{color:var(--danger)}.accent{color:var(--sand)}.row{display:flex;gap:8px}.row>*{flex:1}.btn{border:0;border-radius:12px;padding:13px 16px;background:var(--bg2);font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;touch-action:manipulation}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5}.btn-primary{background:var(--button);color:var(--button-text)}.btn-ghost{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hint) 40%,transparent)}.btn-sub{font-size:12px;font-weight:500;opacity:.8}.buttons{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px}.menu-head{text-align:center;padding:12px 0 4px}.logo{font-size:34px;letter-spacing:.5px}.logo-sand{color:var(--sand);text-shadow:2px 2px 0 #9b6a2e}.logo-blocks{color:var(--wood);text-shadow:2px 2px 0 #5d3818}.card{background:var(--bg2);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.mode-head h2{font-size:22px}.mode-head p{margin:4px 0 0}.mode-sand{background:linear-gradient(160deg,color-mix(in srgb,var(--sand) 16%,var(--bg2)),var(--bg2) 60%)}.mode-blocks{background:linear-gradient(160deg,color-mix(in srgb,var(--wood) 18%,var(--bg2)),var(--bg2) 60%)}.challenge p{margin:0}.menu-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto}.menu-nav .btn{padding:11px 6px;font-size:14px}.notice{background:color-mix(in srgb,var(--danger) 25%,var(--bg2));border-radius:12px;padding:10px 12px}.topbar{display:flex;align-items:center;gap:8px}.topbar h2{flex:1;font-size:20px}.back{border:0;background:var(--bg2);width:38px;height:38px;border-radius:10px;font-size:24px;line-height:1;cursor:pointer}.tabs{display:flex;background:var(--bg2);border-radius:12px;padding:3px;gap:3px}.tab{flex:1;border:0;background:transparent;padding:8px 4px;border-radius:9px;font-size:14px;cursor:pointer}.tab.active{background:var(--button);color:var(--button-text);font-weight:600}.levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.level{width:100%;border:0;border-radius:12px;background:var(--bg2);padding:10px 12px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.level.next{box-shadow:inset 0 0 0 2px var(--button)}.level.locked{opacity:.45}.level-num{font-weight:700;font-size:18px;width:30px;text-align:center}.level-goal{flex:1;font-size:14px}.level-check{color:var(--sand)}.leaders,.achievements,.new-achievements{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.leader{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--bg2)}.leader.me{box-shadow:inset 0 0 0 2px var(--button)}.leaders.pinned{margin-top:6px}.rank{width:28px;text-align:right;font-weight:700;color:var(--hint)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--bg);display:grid;place-items:center;object-fit:cover;font-weight:600}.leader-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-value{font-weight:700}.achievement{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--bg2);opacity:.5}.achievement.got{opacity:1}.achievement>span:last-child{display:flex;flex-direction:column}.tier{font-size:22px}.tier-base{color:#c98a52}.tier-hard{color:#c9ced6}.tier-super{color:#f2c94c}.new-achievements li{background:var(--bg2);padding:8px 12px;border-radius:10px}.card h3{font-size:15px;color:var(--hint);font-weight:600}.option{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.option input{margin-top:3px;accent-color:var(--button);width:18px;height:18px}.option>span{display:flex;flex-direction:column;gap:2px}.run{height:100%;display:flex;flex-direction:column;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:8px;user-select:none;-webkit-user-select:none}.run-blocks{background:#1b120b}.hud{display:flex;align-items:center;gap:10px;padding:0 4px}.hud-pause{border:0;background:var(--bg2);width:40px;height:40px;border-radius:10px;font-size:13px;cursor:pointer}.hud-main{flex:1;min-width:0}.hud-title{font-size:13px;color:var(--hint)}.hud-stats{display:flex;align-items:baseline;gap:10px}.hud-score{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.hud-time{margin-left:auto;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.hud-time.danger{color:var(--danger)}.hud-colors{display:flex;gap:6px;padding:6px 0}.dot{width:16px;height:16px;border-radius:4px;opacity:.3}.dot.on{opacity:1;box-shadow:0 0 0 2px #fff8}.hud-next{width:48px;height:48px;background:var(--bg2);border-radius:10px}.board-wrap{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;touch-action:none}.board{display:block;image-rendering:pixelated;border-radius:6px;box-shadow:0 0 0 3px #2c2c35,0 10px 30px #0008}.run-blocks .board{box-shadow:0 0 0 3px #5a3a20,0 10px 30px #000a}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;border-radius:8px}.overlay p{margin:0;max-width:300px}.overlay .btn{min-width:200px}.banner{position:absolute;top:18%;left:50%;transform:translate(-50%);background:#000a;padding:8px 16px;border-radius:20px;font-weight:800;font-size:20px;color:var(--sand);pointer-events:none;animation:pop .25s ease-out}@keyframes pop{0%{transform:translate(-50%) scale(.6);opacity:0}}.pad{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.pad-btn{border:0;border-radius:14px;background:var(--bg2);height:58px;font-size:26px;touch-action:none;cursor:pointer}.pad-btn:active{background:color-mix(in srgb,var(--button) 40%,var(--bg2))}.pad-drop{background:color-mix(in srgb,var(--button) 30%,var(--bg2))}.result h1{font-size:30px}.result p{margin:0}.result-stats{display:flex;gap:18px;margin:8px 0}.result-stats div{display:flex;flex-direction:column;align-items:center}.result-stats b{font-size:26px}.result-stats span{color:var(--hint);font-size:13px}.notice-inline{display:flex;flex-direction:column;gap:8px;align-items:center}
