:root{--bg:#0e1116;--panel:#161b23;--cell-empty:#222936;--text:#e8ecf2;--muted:#8b94a3;--accent:#4f8cff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:480px;height:100%;padding:calc(12px + var(--tg-top-inset,0px)) 12px calc(16px + env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.play{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.hud{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.hud-row{align-items:center;gap:8px;width:100%;display:flex;transform:translateY(5px)}.hud-chip{background:var(--panel);border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:13px;display:flex;position:relative}.hud-chip-num{font-variant-numeric:tabular-nums;font-weight:700}.hud-score{font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1}.board{width:min(92vw,400px);width:min(92vw, 400px, calc(100dvh - 355px - var(--tg-top-inset,0px)));aspect-ratio:1;background:var(--panel);border-radius:12px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);gap:3px;padding:6px;display:grid}.cell{background:var(--cell-empty);border-radius:4px}.cell-ghost{background:#4f8cff73}.cell-color-1{background:#ff6b6b}.cell-color-2{background:#ffb84f}.cell-color-3{background:#ffe66b}.cell-color-4{background:#6bdc8f}.cell-color-5{background:#4f8cff}.cell-color-6{background:#b06bff}.piece-view{gap:2px;display:grid}.tray{background:var(--panel);border-radius:12px;justify-content:space-around;align-items:center;gap:8px;width:100%;min-height:118px;padding:14px 8px;display:flex}.tray-slot{justify-content:center;align-items:center;min-width:96px;min-height:90px;display:flex}.tray-piece{cursor:grab}.tray-piece-hidden{opacity:.25}.float-piece{z-index:10;pointer-events:none;position:fixed;top:0;left:0}.overlay{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080a0ebf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-card{background:var(--panel);text-align:center;border-radius:16px;flex-direction:column;gap:12px;min-width:260px;padding:28px 32px;display:flex}.overlay-title{font-size:22px;font-weight:800}.overlay-score{color:var(--accent);font-variant-numeric:tabular-nums;font-size:48px;font-weight:800}.overlay-best{color:var(--muted);margin-bottom:8px;font-size:14px}.btn{color:var(--text);cursor:pointer;background:#2a3342;border:none;border-radius:10px;padding:12px 16px;font-size:16px;font-weight:600}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6}.btn-primary{background:var(--accent);color:#fff}.hud-center{flex-direction:column;align-items:center;display:flex;position:relative}.hud-gain{color:#6bdc8f;pointer-events:none;font-size:14px;font-weight:800;animation:.9s ease-out forwards gainFloat;position:absolute;top:-10px}@keyframes gainFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}.hud-mute{background:var(--panel);cursor:pointer;border:none;border-radius:999px;margin-left:auto;padding:5px 10px;font-size:14px}.hud-combo{color:#ffb84f;white-space:nowrap;background:#ffb84f29;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:800;animation:.25s comboPop;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}@keyframes comboPop{0%{opacity:0;transform:translateY(-50%)scale(.5)}to{opacity:1;transform:translateY(-50%)scale(1)}}.board{position:relative}.board-shake{animation:.3s ease-in-out boardShake}@keyframes boardShake{0%,to{transform:translate(0)}25%{transform:translate(-3px,1px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-2px)}}.board-burst{pointer-events:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);gap:3px;padding:6px;display:grid;position:absolute;inset:0}.cell-burst{background:#fff;animation:.35s ease-out forwards cellBurst}.cell-burst-empty{background:0 0}@keyframes cellBurst{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(.35)}}.cell-target{cursor:pointer;box-shadow:inset 0 0 0 2px #fff6}.hint{color:var(--muted);text-align:center;font-size:13px;animation:1.6s ease-in-out infinite hintPulse}@keyframes hintPulse{0%,to{opacity:.55}50%{opacity:1}}.boosters{justify-content:center;gap:8px;width:100%;display:flex}.booster{background:var(--panel);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:3px;min-width:58px;padding:8px 12px;font-size:18px;display:flex;position:relative}.booster:disabled{opacity:.45;cursor:default}.booster-active{outline:2px solid var(--accent);background:#1d2a40}.booster-count{color:var(--muted);font-size:12px;font-weight:700}.booster-buy{font-size:14px}.tabbar{background:var(--panel);border-radius:12px;gap:4px;width:100%;padding:4px;display:flex}.tabbar-item{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:7px 4px 6px;display:flex}.tabbar-active{color:var(--text);background:#1d2a40}.tabbar-icon{font-size:20px;line-height:1;position:relative}.tabbar-badge{background:#ff6b6b;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-6px}.tabbar-label{font-size:11px;font-weight:600}.screen{flex-direction:column;align-items:center;gap:12px;width:100%;padding-top:76px;display:flex}.screen-title{font-size:20px;font-weight:800}.card{background:var(--panel);border-radius:12px;flex-direction:column;align-items:center;gap:8px;width:100%;padding:16px 14px;display:flex}.screen-cta{width:100%;margin-top:4px}.daily-note{color:var(--muted);text-align:center;font-size:13px;line-height:1.45}.daily-streak{gap:6px;font-size:16px;font-weight:700;display:flex}.profile-row{justify-content:space-between;align-items:center;width:100%;display:flex}.profile-row-label{color:var(--muted);font-size:14px}.profile-row-value{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.hud-points-gain{text-align:center;color:#ffd75e;pointer-events:none;font-size:12px;font-weight:700;animation:.9s ease-out forwards gainFloat;position:absolute;top:-16px;left:0;right:0}.mission-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.mission-text{font-size:14px}.mission-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.mission-done .mission-text,.mission-done .mission-progress{color:#6bdc8f}.boosters{flex-wrap:wrap}.screen{flex:1;min-height:0;overflow-y:auto}.wheel-wrap{flex-direction:column;align-items:center;gap:10px;width:100%;padding-top:12px;display:flex;position:relative}.wheel-pointer{z-index:2;color:#ffd75e;font-size:16px;line-height:1;position:absolute;top:-2px}.wheel{aspect-ratio:1;border:4px solid #2a3342;border-radius:50%;width:min(60vw,230px);transition:transform 3s cubic-bezier(.12,.8,.16,1);position:relative}.wheel-label{justify-content:center;display:flex;position:absolute;inset:0}.wheel-label span{color:#fff;text-shadow:0 1px 2px #0009;font-size:13px;font-weight:700;position:absolute;top:8px}.wheel-msg{color:#ffd75e;text-align:center;min-height:18px;font-size:14px;font-weight:700}.wheel-controls{gap:8px;width:100%;display:flex}.wheel-controls .btn{flex:1;padding:10px 8px;font-size:14px}.offline-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.offline-sum{color:#ffd75e;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.ach-row{flex-direction:column;gap:4px;width:100%;padding:4px 0;display:flex}.ach-head{justify-content:space-between;align-items:center;width:100%;display:flex}.ach-name{font-size:14px;font-weight:600}.ach-value{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.ach-tiers{flex-wrap:wrap;gap:6px;display:flex}.ach-tier{color:var(--muted);background:var(--cell-empty);border-radius:8px;padding:3px 8px;font-size:12px}.ach-done{color:#6bdc8f;background:#6bdc8f1f}
