*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{-webkit-user-select:none;user-select:none;background:#14171d;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#root{width:100vw;height:100vh}.app-layout{width:100vw;height:100vh;display:flex;position:relative}.side-logo{z-index:1;width:calc(50% - 235px);min-width:0;position:absolute;top:0;bottom:0;overflow:hidden}.side-logo-left{left:0}.side-logo-right{right:0}.side-logo .particle-logo{width:auto;height:auto;inset:16.5%}.config-error{color:#ff6b6b;background:#14171d;width:100vw;height:100vh;padding:40px;font-size:18px}.feedback-toggle{z-index:15;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:115.795px;right:8px}.mobile-screen .feedback-toggle{top:calc(env(safe-area-inset-top,0px) + 26px + 1cm);right:max(8px, env(safe-area-inset-right))}.fb-btn{cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00144666;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:53px;height:53px;padding:0;font-size:27px;line-height:1;transition:opacity .15s;display:flex}.fb-btn:active{transform:scale(.92)}.fb-off{opacity:.4;filter:grayscale()}.version-badge{z-index:1000;letter-spacing:.02em;color:#ffffffd9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#00195a8c;border:1px solid #ffffff2e;border-radius:6px;padding:3px 9px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:12px;font-weight:600;line-height:1.2;position:absolute;top:10px;left:50%;transform:translate(-50%)}.version-badge:hover{color:#fff;background:#002882b3}.phone-stage{background:radial-gradient(circle at 50% 30%,#2a2f3a 0%,#14171d 70%);flex:1;justify-content:center;align-items:center;min-width:0;height:100vh;display:flex;position:relative}.phone-frame{background:linear-gradient(145deg,#e8e9eb 0%,#b9bcc2 40%,#8e939b 100%);border-radius:68px;flex-shrink:0;padding:14px;position:relative;box-shadow:0 30px 80px #0000008c,inset 0 0 4px #fff9}.phone-screen{background:#000;border-radius:54px;width:430px;height:932px;position:relative;overflow:hidden}.dynamic-island{z-index:30;background:#000;border-radius:20px;width:126px;height:37px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.phone-button{background:#a7abb3;border-radius:2px;width:4px;position:absolute}.phone-button-action{height:34px;top:190px;left:-4px}.phone-button-volume-up{height:62px;top:250px;left:-4px}.phone-button-volume-down{height:62px;top:324px;left:-4px}.phone-button-power{height:96px;top:270px;right:-4px}.bubble{cursor:pointer;will-change:translate;touch-action:none;background:radial-gradient(circle at 30% 28%,#ffffffd9 0%,#ffffff40 22%,#ffffff0d 45%,#ffffff1f 100%);border:1.5px solid #ffffff8c;border-radius:50%;position:absolute;top:0;left:0;box-shadow:inset -6px -8px 14px #ffffff2e,inset 4px 6px 10px #ffffff40}.bubble-pink{background:radial-gradient(circle at 30% 28%,#ffffffe6 0%,#ffb8d88c 25%,#f678b759 55%,#ec489980 100%);border-color:#f9a8d4d9}.bubble-rainbow{cursor:default;background:radial-gradient(circle at 30% 28%,#ffffffd9 0%,#ffffff40 30%,#fff0 60%),conic-gradient(#ff6b6b,#ffb56b,#fdff6b,#6bff8f,#6bd0ff,#a06bff,#ff6bd8,#ff6b6b);animation:2s linear infinite rainbow-shift}@keyframes rainbow-shift{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}.bubble-multi{border-color:#ffd55ae6;justify-content:center;align-items:center;display:flex;box-shadow:inset -6px -8px 14px #ffffff2e,inset 4px 6px 10px #ffffff40,0 0 14px #ffd55a8c}.bubble-count{color:#fff;text-shadow:0 1px 4px #0000008c;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:800}.bubble-bomb{background:radial-gradient(circle at 32% 28%,#ff9d9d 0%,#ff3b3b 44%,#b00000 100%);border-color:#ffe0e0e6;justify-content:center;align-items:center;display:flex;box-shadow:inset -6px -8px 16px #0000004d,inset 4px 5px 10px #ffffff26,0 0 12px #ff464699}.bubble-bomb-face{pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 2px #0009);line-height:1}.bubble-bomb-black{background:radial-gradient(circle at 32% 28%,#545a66 0%,#262a31 42%,#0a0b0e 100%);border-color:#ffd666f2;animation:.6s ease-in-out infinite bomb-pulse}@keyframes bomb-pulse{0%,to{box-shadow:inset -6px -8px 14px #00000080,0 0 12px #ffcd50b3}50%{box-shadow:inset -6px -8px 14px #00000080,0 0 28px #ffdc6e}}.bubble-ad{border:2px solid #ffd666f2;justify-content:center;align-items:center;animation:1.4s ease-in-out infinite ad-shimmer;display:flex}.bubble-ad-logo{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:100%;height:100%}.bubble-ad-oneplay{background:radial-gradient(circle at 32% 26%,#3a3f80 0%,#191a45 55%,#0b0c24 100%)}.bubble-ad-airbank{background:radial-gradient(circle at 32% 26%,#a9dc4f 0%,#8cc63f 55%,#6ea52c 100%)}.bubble-ad-unity{background:radial-gradient(circle,#fff 0% 42%,#fff0 62%),conic-gradient(#ff4d4d,#ffb84d,#ffe14d,#4dff88,#4dd2ff,#a34dff,#ff4dd2,#ff4d4d)}@keyframes ad-shimmer{0%,to{box-shadow:inset -6px -8px 14px #0000002e,0 0 12px #ffcd50a6}50%{box-shadow:inset -6px -8px 14px #0000002e,0 0 26px #ffdc6e}}.bubble-attracting{z-index:30;pointer-events:none;transition:translate .4s cubic-bezier(.5,0,.9,.4),scale .4s ease-in;scale:.22}.bubble-attracting.bubble-popped{opacity:0;transition:opacity .18s ease-out;animation:none}.bubble-attracting.bubble-popped:after{content:none}.bubble-popped{pointer-events:none;animation:.3s ease-out forwards bubble-pop}.bubble-popped:after{content:"";border:2px solid #fffc;border-radius:50%;animation:.3s ease-out forwards pop-ring;position:absolute;inset:-6px}@keyframes bubble-pop{0%{opacity:1;scale:1}60%{opacity:.7;scale:1.35}to{opacity:0;scale:1.6}}@keyframes pop-ring{0%{opacity:1;scale:.8}to{opacity:0;scale:1.5}}.bubble-freeze,.bubble-magnet,.bubble-double,.bubble-time,.bubble-speed,.bubble-split{justify-content:center;align-items:center;display:flex}.bubble-split{background:radial-gradient(circle at 32% 28%,#d8fff6 0%,#6fe0d0 45%,#2a9d8f 100%);border-color:#d7fff6e6}.bubble-speed{background:radial-gradient(circle at 32% 28%,#e0d4ff 0%,#a07bff 45%,#6a3fd0 100%);border-color:#e6dcffe6}.bubble-powerup-face{color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 3px #0009;font-weight:800;line-height:1}.bubble-freeze{background:radial-gradient(circle at 32% 28%,#eaffff 0%,#9fe6ff 45%,#4aa8e0 100%);border-color:#dcfaffe6}.bubble-magnet{background:radial-gradient(circle at 32% 28%,#ffd0d0 0%,#ff6b6b 45%,#b02a2a 100%);border-color:#ffdcdce6}.bubble-double{background:radial-gradient(circle at 32% 28%,#fff0b0 0%,#ffd23f 45%,#d99a1a 100%);border-color:#fff0b4f2;box-shadow:inset -6px -8px 14px #ffffff2e,0 0 14px #ffd55a8c}.bubble-time{background:radial-gradient(circle at 32% 28%,#d6ffe6 0%,#58e0a0 45%,#1f9e70 100%);border-color:#d2ffe6e6}.game-area{background-color:#001450;background-image:linear-gradient(#001450 0%,#0041a8 45%,#2f9fe0 100%);position:absolute;inset:0;overflow:hidden}.game-area:before{content:"";opacity:.67;pointer-events:none;background-image:url(/o2-logo.png);background-position:50% 42%;background-repeat:no-repeat;background-size:58%;position:absolute;inset:0}.score-float{text-align:center;color:#fff;text-shadow:0 2px 8px #0000008c;pointer-events:none;z-index:25;width:80px;font-size:22px;font-weight:800;animation:.7s ease-out forwards score-float;position:absolute;top:0;left:0}.score-float-negative{color:#ff8fb3}@keyframes score-float{0%{opacity:1;transform:translateY(0)}70%{opacity:1}to{opacity:0;transform:translateY(-46px)}}.screen-flash{z-index:20;pointer-events:none;background:radial-gradient(circle at 50% 45%,#ff5a3cd9 0%,#ff281e8c 40%,#b400002e 75%,#0000 100%);animation:.52s ease-out forwards screen-flash;position:absolute;inset:0}.screen-flash-positive{background:radial-gradient(circle at 50% 45%,#ffd86ed9 0%,#ffbe3c80 40%,#c88c0029 75%,#0000 100%)}.screen-flash:after{content:"";border:8px solid #ffd28cf2;border-radius:50%;width:30px;height:30px;animation:.56s cubic-bezier(.2,.7,.3,1) forwards shockwave;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 40px #ffaa5ab3}.screen-flash-positive:after{border-color:#ffe296f2;box-shadow:0 0 40px #ffd26ebf}@keyframes shockwave{0%{opacity:.95;border-width:10px;width:20px;height:20px}to{opacity:0;border-width:1px;width:170%;height:170%}}.explosion-total{z-index:26;text-align:center;color:#ffe06a;text-shadow:0 2px 12px #0009,0 0 24px #ffd25ab3;pointer-events:none;font-size:64px;font-weight:900;animation:.9s ease-out forwards explosion-total;position:absolute;top:42%;left:0;right:0}.explosion-total-negative{color:#ff7a7a;text-shadow:0 2px 12px #0009,0 0 24px #ff5050b3}@keyframes explosion-total{0%{opacity:0;transform:scale(.5)}25%{opacity:1;transform:scale(1.15)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes screen-flash{0%{opacity:0}12%{opacity:1}to{opacity:0}}.game-area-shake{animation:.45s ease-in-out game-shake}@keyframes game-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px,4px)}30%{transform:translate(5px,-5px)}45%{transform:translate(-5px,-3px)}60%{transform:translate(4px,5px)}75%{transform:translate(-3px,2px)}}.bg-bubbles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bg-bubble{background:radial-gradient(circle at 35% 30%,#ffffff29,#ffffff08);border:1px solid #ffffff14;border-radius:50%;animation-name:bg-rise;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-60px}@keyframes bg-rise{0%{opacity:0;transform:translateY(0)}12%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(-108vh)}}.depth-overlay{pointer-events:none;background:linear-gradient(#00082d80 0%,#00041ad9 100%);position:absolute;inset:0}.pop-burst{z-index:24;pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.pop-particle{border-radius:50%;width:6px;height:6px;animation:.45s ease-out forwards pop-particle;position:absolute;top:-3px;left:-3px}@keyframes pop-particle{0%{opacity:.95;transform:translate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(.2);opacity:0}}.hud{color:#fff;text-shadow:0 2px 8px #00000073;z-index:10;pointer-events:none;justify-content:space-between;align-items:baseline;padding:0 24px;font-size:20px;font-weight:700;display:flex;position:absolute;top:64px;left:0;right:0}.mobile-screen .hud{top:calc(env(safe-area-inset-top,0px) + 14px);padding-left:max(24px, env(safe-area-inset-left));padding-right:max(24px, env(safe-area-inset-right))}.hud-score{text-align:left;flex:1}.hud-timer{font-variant-numeric:tabular-nums;flex:none}.hud-level{text-align:right;flex:1}.hud-exit{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff29;border:1.5px solid #ffffff73;border-radius:999px;flex:1;justify-self:end;margin-left:auto;padding:4px 12px;font-family:inherit;font-size:14px;font-weight:700}.hud-exit:hover{background:#ffffff42}.sizebar{touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #363c48;border-radius:6px;min-width:156px;height:24px;display:flex;position:relative;overflow:hidden}.sizebar-seg{white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #00000073;justify-content:center;align-items:center;min-width:0;font-size:10px;font-weight:700;display:flex;overflow:hidden}.sizebar-seg.sm{background:#2fd0c2}.sizebar-seg.md{background:#5b8cff}.sizebar-seg.lg{background:#b06bff}.sizebar-handle{cursor:ew-resize;justify-content:center;align-items:center;width:14px;display:flex;position:absolute;top:-2px;bottom:-2px;transform:translate(-50%)}.sizebar-handle:before{content:"";background:#e6e8ec;border-radius:2px;width:3px;height:100%;box-shadow:0 0 0 2px #1b1f27}.sizebar-handle:focus-visible{outline:none}.sizebar-handle:focus-visible:before{box-shadow:0 0 0 2px #1b1f27,0 0 0 4px #5082ff}.sizecol-legend{gap:6px;font-size:11px;font-weight:700;display:inline-flex}.sizecol-legend .sm{color:#2fd0c2}.sizecol-legend .md{color:#5b8cff}.sizecol-legend .lg{color:#b06bff}.config-panel{color:#e6e8ec;z-index:50;background:#1b1f27;border-left:1px solid #2c313c;flex-direction:column;width:75vw;height:100vh;font-size:13px;transition:transform .28s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 24px #0006}.config-panel-open{transform:translate(0)}.config-panel.config-panel-open{z-index:60}.config-toggle{color:#e6e8ec;cursor:pointer;background:#1b1f27;border:1px solid #2c313c;border-right:none;border-radius:16px 0 0 16px;justify-content:center;align-items:center;width:63px;height:75px;font-size:32px;line-height:1;display:flex;position:absolute;top:14px;left:-63px;box-shadow:-6px 0 16px #00000059}.panel-title-icon{align-items:center;gap:10px;display:inline-flex}.config-toggle:hover{background:#232833}.config-panel-head{border-bottom:1px solid #2c313c;padding:20px 20px 12px}.config-panel-head h2{margin:0 0 4px;font-size:16px;font-weight:700}.config-panel-head p{color:#8b93a1;margin:0;font-size:12px;line-height:1.4}.config-scroll{flex:1;padding:8px 12px;overflow:auto}.config-table{border-collapse:collapse;width:100%}.config-table th{color:#8b93a1;text-align:center;white-space:nowrap;background:#1b1f27;padding:6px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.config-table td{text-align:center;padding:3px 4px}.config-cell-level{color:#9fb4ff;font-weight:700}.config-cell-total{color:#8b93a1;font-variant-numeric:tabular-nums}.config-row-active{background:#5082ff29;border-radius:6px}.config-row-active .config-cell-level{color:#fff}.config-table input{color:#e6e8ec;text-align:center;font-variant-numeric:tabular-nums;background:#12151b;border:1px solid #363c48;border-radius:6px;width:48px;padding:5px 4px;font-size:13px}.config-table input:focus{background:#171b22;border-color:#5082ff;outline:none}.config-group{border-top:1px solid #2c313c;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 4px;display:flex}.config-group:first-of-type{margin-top:8px}.config-group-title{color:#9fb4ff;flex-basis:100%;font-size:12px;font-weight:700}.config-group label{color:#8b93a1;flex-direction:column;gap:4px;font-size:11px;display:flex}.config-group input{color:#e6e8ec;text-align:center;font-variant-numeric:tabular-nums;background:#12151b;border:1px solid #363c48;border-radius:6px;width:64px;padding:5px 4px;font-size:13px}.config-group input:focus{background:#171b22;border-color:#5082ff;outline:none}.config-fb-btn{color:#8b93a1;cursor:pointer;background:#232833;border:1px solid #363c48;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.config-fb-btn.on{color:#7fd4ff;border-color:#7fd4ff80}.config-fb-btn:hover{background:#2c3341}.config-fb-btn:disabled{opacity:.45;cursor:not-allowed}.config-haptic{color:#cfd6e2;flex-direction:row;flex-basis:100%;align-items:center;gap:10px;font-size:12px}.config-haptic input[type=range]{accent-color:#7fd4ff;cursor:pointer;background:0 0;border:none;flex:auto;width:auto;min-width:140px;max-width:260px;padding:0}.config-haptic input[type=range]:disabled{opacity:.45;cursor:not-allowed}.config-group label.config-text-full{flex-basis:100%}.config-group label.config-text-full input{text-align:left;width:100%}.config-tutorial-row{flex-basis:100%;align-items:center;gap:8px;display:flex}.config-group .config-tutorial-check{flex-direction:row;flex:0 0 86px;align-items:center;gap:6px}.config-group .config-tutorial-check input[type=checkbox]{accent-color:#5082ff;width:auto}.config-tutorial-row .config-tutorial-text{text-align:left;flex:auto;min-width:0}.config-password{align-items:center;gap:8px;padding:12px 16px 0;display:flex}.config-pw-input{color:#e6e8ec;background:#12151b;border:1px solid #363c48;border-radius:8px;flex:auto;min-width:0;padding:8px 10px;font-family:inherit;font-size:13px}.config-pw-input:focus{background:#171b22;border-color:#5082ff;outline:none}.config-password-error .config-pw-input{border-color:#e0736b}.config-password-error .config-pw-input::placeholder{color:#e0736b}.config-password button{color:#e6e8ec;cursor:pointer;white-space:nowrap;background:#232833;border:1px solid #363c48;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600}.config-password button:hover{background:#2c3341;border-color:#4a5162}.config-actions{border-top:1px solid #2c313c;flex-wrap:wrap;gap:8px;padding:14px 16px;display:flex}.config-actions button{color:#e6e8ec;cursor:pointer;white-space:nowrap;background:#232833;border:1px solid #363c48;border-radius:8px;flex:auto;padding:9px 12px;font-size:13px;font-weight:600}.config-actions button:hover{background:#2c3341;border-color:#4a5162}.config-actions button:active{transform:translateY(1px)}.stats-panel{z-index:49}.stats-toggle{top:99px}.stats-scroll{color:#cdd4e0;flex-direction:column;gap:20px;padding:14px 20px;font-size:13px;line-height:1.5;display:flex;overflow-y:auto}.stats-section h3{letter-spacing:.4px;color:#e6e8ec;margin:0 0 8px;font-size:13px;font-weight:700}.stats-muted{color:#8b93a3}.st-tiles{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.st-tiles-3{grid-template-columns:repeat(3,1fr)}.st-tile{background:#ffffff0b;border:1px solid #2c313c;border-radius:10px;flex-direction:column;gap:1px;padding:10px 12px;display:flex}.st-tile-value{color:#e6e8ec;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:800;overflow:hidden}.st-tile-label{color:#8b93a3;font-size:11px}.st-tile-sub{color:#aab2c0;font-variant-numeric:tabular-nums;font-size:11px}.st-legend{color:#aab2c0;gap:14px;margin:0 0 6px;font-size:11px;display:flex}.st-dot{vertical-align:baseline;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.st-dot-desktop,.st-bar-desktop{background:#3f87c4}.st-dot-mobile,.st-bar-mobile{background:#b8880f}.st-bars{box-sizing:content-box;align-items:flex-end;gap:2px;height:110px;padding-top:14px;display:flex}.st-bar-col{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.st-bar-track{flex-direction:column;flex:1;justify-content:flex-end;gap:2px;display:flex;position:relative}.st-bar-value{color:#cdd4e0;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:1;margin-bottom:2px;font-size:9.5px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.st-bar{border-radius:4px 4px 0 0;width:100%;min-height:2px}.st-bar-label{color:#8b93a3;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;height:14px;margin-top:3px;font-size:9.5px;overflow:visible}.st-topactive{font-variant-numeric:tabular-nums;margin:6px 0 0}.st-tabs{gap:6px;margin-top:8px;display:flex}.st-tab{color:#aab2c0;cursor:pointer;background:#ffffff0d;border:1px solid #2c313c;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:12.5px;font-weight:700}.st-tab-active{color:#0b1020;background:#e6e8ec;border-color:#e6e8ec}.st-search{color:#e6e8ec;background:#ffffff0d;border:1px solid #2c313c;border-radius:8px;width:100%;margin:0 0 10px;padding:8px 12px;font-family:inherit;font-size:13px}.st-search::placeholder{color:#8b93a3}.st-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.st-table th{text-align:right;color:#8b93a3;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid #2c313c;padding:6px 8px;font-size:11px}.st-table th:first-child{text-align:left;cursor:default}.st-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #2c313c8c;padding:6px 8px}.st-table tbody tr{cursor:pointer}.st-table tbody tr:hover{background:#ffffff0d}.st-td-name{letter-spacing:1px;font-family:Consolas,SF Mono,ui-monospace,monospace;font-weight:700;text-align:left!important}.st-td-muted{color:#8b93a3}.st-back{color:#e6e8ec;cursor:pointer;background:#ffffff12;border:1px solid #2c313c;border-radius:8px;margin:0 0 10px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:700}.st-player-name{font-size:16px!important}.st-tour-line{color:#ffd23f;margin:0}.st-csv{color:#e6e8ec;background:#ffffff12;border:1px solid #2c313c;border-radius:8px;padding:8px 14px;font-weight:700;text-decoration:none;display:inline-block}.st-csv:hover{background:#ffffff1f}.stats-tournament{background:#ffd23f12;border:1px solid #ffd23f40;border-radius:10px;margin:0 0 12px;padding:10px 12px}.stats-tournament h4{color:#ffd23f;margin:0 0 6px;font-size:13px}.stats-winners{flex-wrap:wrap;align-items:baseline;gap:8px;margin:2px 0;display:flex}.stats-dev{flex-shrink:0}.stats-winner{font-variant-numeric:tabular-nums;white-space:nowrap}.tournament-panel{z-index:48}.tournament-toggle{top:184px}.tour-pick{color:#8b93a1;align-items:center;gap:8px;padding:12px 0 0;font-size:12px;display:flex}.tour-pick select{color:#e6e8ec;background:#12151b;border:1px solid #363c48;border-radius:8px;flex:auto;min-width:0;padding:6px 8px;font-size:13px}.tour-meta{color:#e6e8ec;margin:2px 0 4px;font-size:13px}.tour-up{color:#6fe08f;font-weight:700}.tour-down{color:#ff8fb3;font-weight:700}.tour-daywinners{font-variant-numeric:tabular-nums;background:#ffd23f12;border:1px solid #ffd23f40;border-radius:10px;flex-direction:column;gap:3px;margin:10px 0 0;padding:10px 12px;font-size:12.5px;display:flex}.tour-daily-h{margin:14px 0 6px!important}.st-tab:disabled{opacity:.35;cursor:default}.players-panel{z-index:46}.players-toggle{top:354px}.tour{color:inherit;text-align:left;background:linear-gradient(#ffd23f24 0%,#ffd23f0d 100%);border:1px solid #ffd23f59;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.tour-title{letter-spacing:.5px;margin:0;font-size:17px;font-weight:800}.tour-countdown{color:#ffd23f;margin:0;font-size:14px;font-weight:800}.tour-urgent{animation:1.2s ease-in-out infinite record-pulse}.tour-desc{opacity:.75;margin:0;font-size:11.5px;line-height:1.35}.tour-today{color:#9ff3c4;margin:2px 0 0;font-size:12px;font-weight:700}.tour-winners{color:#ffd23f;margin:2px 0 0;font-size:13px;font-weight:800}.tour-empty{opacity:.75;margin:6px 0 0;font-size:12.5px}.tour-list{flex-direction:column;gap:2px;margin:6px 0 0;padding:0;list-style:none;display:flex}.tour-row{background:#ffffff0d;border-radius:8px;grid-template-columns:26px 1fr auto;grid-template-areas:"rank name total""rank days total";align-items:baseline;column-gap:8px;padding:4px 8px;font-size:14px;display:grid}.tour-row-me{background:#ffd23f33;outline:1px solid #ffd23f80}.tour-rank{text-align:right;opacity:.75;font-variant-numeric:tabular-nums;grid-area:rank}.tour-name{letter-spacing:1.5px;grid-area:name;font-family:Consolas,SF Mono,ui-monospace,monospace;font-weight:700}.tour-move{letter-spacing:0;vertical-align:1px;margin-left:6px;font-family:Segoe UI,system-ui,sans-serif;font-size:10.5px;font-weight:800}.tour-move-up{color:#7ce8a4}.tour-move-down{color:#ff8f8f}.tour-days{opacity:.65;font-variant-numeric:tabular-nums;grid-area:days;font-size:10.5px}.tour-total{font-variant-numeric:tabular-nums;grid-area:total;font-weight:800}.tour-me-rank{color:#ffd23f;margin:4px 0 0;font-size:12.5px;font-weight:700}.tour-compact{width:270px;max-width:calc(100vw - 32px);padding:10px 12px}.tour-compact .tour-title{font-size:15px}.tour-compact .tour-row{padding:3px 7px;font-size:12.5px}.tour-compact .tour-days{font-size:9.5px}.config-panel.lb-slide{z-index:47;width:380px;max-width:92vw;font-size:13px}.lb-toggle{top:269px}.lb-panel-head{border-bottom:1px solid #2c313c;padding:20px 20px 12px}.lb-panel-head h2{margin:0 0 4px;font-size:16px;font-weight:700}.lb-panel-head p{color:#8b93a1;margin:0;font-size:12px;line-height:1.4}.lb-tabs{gap:6px;margin:8px 0 10px;display:flex}.lb-tab{color:#8b93a1;cursor:pointer;background:#232833;border:1px solid #363c48;border-radius:8px;flex:1;padding:6px 8px;font-size:12px;font-weight:600}.lb-tab:hover{background:#2c3341;border-color:#4a5162}.lb-tab-active{color:#fff;background:#0019a5;border-color:#0019a5}.lb-scroll{flex:1;padding:8px 12px;overflow:auto}.lb-empty{color:#8b93a1;margin:12px 8px}.lb-list{counter-reset:none;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.lb-row{background:#ffffff0a;border-radius:6px;grid-template-columns:32px 1fr auto;align-items:baseline;gap:10px;padding:5px 10px;display:grid}.lb-rank{text-align:right;color:#8b93a1;font-variant-numeric:tabular-nums}.lb-name{letter-spacing:2px;font-family:Consolas,SF Mono,ui-monospace,monospace;font-weight:700}.lb-score{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.lb-row-new{color:#0019a5;background:#ffd23f}.lb-row-new .lb-rank{color:#0019a5}.lb-actions{border-top:1px solid #2c313c;padding:14px 16px}.lb-actions button{color:#e6e8ec;cursor:pointer;background:#232833;border:1px solid #363c48;border-radius:8px;width:100%;padding:9px 12px;font-size:13px;font-weight:600}.lb-actions button:hover{background:#2c3341;border-color:#4a5162}.lb-actions button:active{transform:translateY(1px)}.lb-clear-confirm{color:#ffd7dd!important;background:#7a2230!important;border-color:#b8394a!important}.particle-logo{width:100%;height:100%;position:absolute;inset:0}.particle-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.particle-canvas.particle-grabbing{cursor:grabbing}.mobile-stage{background:#000;height:100dvh;position:fixed;top:0;left:0;right:0;overflow:hidden}.mobile-screen{position:absolute;inset:0;overflow:hidden}.install-bar{left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:100;color:#fff;background:#000c2eeb;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:8px 8px 8px 14px;font-size:14px;animation:.35s ease-out install-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 22px #00000073}@keyframes install-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.install-btn{color:#0019a5;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:700}.install-btn:active{transform:scale(.96)}.install-x{color:#fff;cursor:pointer;opacity:.75;background:0 0;border:none;flex-shrink:0;padding:4px 8px;font-family:inherit;font-size:14px}.tap-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:radial-gradient(circle at 50% 45%,#00145066 0%,#000a2ec7 100%);position:absolute;inset:0;overflow:hidden}.tap-bubble-pos{cursor:pointer;z-index:3;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;margin:0;padding:0;line-height:0;position:absolute;transform:translate(-50%,-50%)}.tap-bubble-pos:focus-visible{outline:none}.tap-bubble-pos:focus-visible .tap-bubble{box-shadow:0 0 0 4px var(--gold,#ffd23f), 0 18px 50px #000a3c80}.tap-done{pointer-events:none}.tap-in{animation:.3s cubic-bezier(.34,1.56,.64,1) both tap-in}@keyframes tap-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.12)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.tap-bubble{aspect-ratio:1;will-change:transform;background:radial-gradient(circle at 32% 26%,#fffffff2 0%,#ffffff4d 22%,#96cdff29 52%,#2864d247 100%);border:1.5px solid #fff9;border-radius:50%;justify-content:center;align-items:center;animation:3.4s ease-in-out infinite tap-float;display:flex;position:relative;box-shadow:inset -12px -16px 30px #0014504d,inset 10px 12px 24px #fff6,0 18px 50px #000a3c80,0 0 60px #6fe0ff47}.tap-bubble:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffffe6,#fff0 70%);border-radius:50%;width:26%;height:20%;position:absolute;top:15%;left:22%}.tap-b-intro{width:clamp(230px,68vw,330px)}.tap-b-ha{width:clamp(120px,42vw,175px)}@keyframes tap-float{0%,to{transform:translateY(0)rotate(-2.5deg)}50%{transform:translateY(-16px)rotate(2.5deg)}}.tap-text{white-space:pre-line;text-align:center;letter-spacing:2px;color:#0019a5;text-shadow:0 2px 4px #ffffff8c;pointer-events:none;font-family:Segoe UI,system-ui,sans-serif;font-weight:800;line-height:1.02}.tap-b-intro .tap-text{font-size:clamp(30px,8.5vw,44px)}.tap-b-ha .tap-text{letter-spacing:4px;font-size:clamp(38px,12vw,58px)}.tap-bubble.tap-pop{animation:.42s ease-out forwards tap-pop}.tap-bubble.tap-pop:after{content:"";border:4px solid #ffffffd9;border-radius:50%;animation:.42s ease-out forwards tap-ring;position:absolute;inset:-10px}@keyframes tap-pop{0%{opacity:1;transform:scale(1)}45%{opacity:.85;transform:scale(1.28)}to{opacity:0;transform:scale(1.7)}}@keyframes tap-ring{0%{opacity:.9;transform:scale(.85)}to{opacity:0;transform:scale(1.6)}}.tap-text-name{letter-spacing:2px;font-size:clamp(26px,7.5vw,38px)!important}.tap-name{z-index:5;flex-direction:column;align-items:center;gap:14px;animation:.3s ease-out tap-name-in;display:flex;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}@keyframes tap-name-in{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.tap-name-title{color:#fff;text-shadow:0 2px 10px #00000080;font-family:Segoe UI,system-ui,sans-serif;font-size:24px;font-weight:800}.tap-name-hint{color:#dbe6ffd9;text-shadow:0 1px 6px #00000080;font-family:Segoe UI,system-ui,sans-serif;font-size:13px}.tap-name .screen-button:disabled{opacity:.45;cursor:default}.tap-burst{z-index:4;pointer-events:none;width:0;height:0;position:absolute}.tap-particle{opacity:0;will-change:transform, opacity;animation:tap-particle var(--dur) ease-out var(--delay) forwards;border-radius:50%;position:absolute;top:0;left:0}@keyframes tap-particle{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(.2);opacity:0}}@media (prefers-reduced-motion:reduce){.tap-bubble{animation:none}}.screen-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;text-align:center;z-index:20;background:#00195a8c;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.screen-overlay-transparent{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0}.screen-title{text-shadow:0 2px 12px #0006;align-items:baseline;gap:12px;margin:0;font-size:44px;font-weight:800;display:flex}.screen-title-logo{color:#fff;filter:drop-shadow(0 2px 12px #0006);align-self:center;width:auto;height:.92em}.screen-subtitle{opacity:.9;margin:0;font-size:18px}.screen-score{margin:0;font-size:28px;font-weight:700}.screen-highscore{opacity:.9;margin:0;font-size:18px}.screen-new-record{color:#ffd23f;opacity:1;font-weight:800;animation:1s ease-in-out infinite record-pulse}@keyframes record-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.screen-button{color:#0019a5;cursor:pointer;background:#fff;border:none;border-radius:999px;margin-top:8px;padding:14px 48px;font-family:inherit;font-size:20px;font-weight:700;box-shadow:0 4px 16px #0000004d}.screen-button:active{transform:scale(.96)}.screen-button-secondary{color:#fff;cursor:pointer;background:#ffffff29;border:1.5px solid #ffffff80;border-radius:999px;padding:11px 30px;font-family:inherit;font-size:17px;font-weight:700}.screen-button-secondary:active{transform:scale(.96)}.screen-version{display:none}.mobile-screen .screen-version{top:calc(env(safe-area-inset-top,0px) + 10px);letter-spacing:1px;color:#dbe6ff8c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:600;display:block;position:absolute;left:50%;transform:translate(-50%)}.leaderboard-title{letter-spacing:2px;text-shadow:0 2px 8px #0006;margin:0;font-size:22px;font-weight:800}.leaderboard{flex-direction:column;gap:2px;width:240px;margin:0;padding:0;list-style:none;display:flex}.leaderboard-row{background:#ffffff0f;border-radius:8px;grid-template-columns:34px 1fr auto;align-items:baseline;gap:10px;padding:5px 12px;font-size:18px;display:grid}.leaderboard-rank{text-align:right;opacity:.7;font-variant-numeric:tabular-nums}.leaderboard-name{text-align:left;letter-spacing:3px;font-family:Consolas,SF Mono,ui-monospace,monospace;font-weight:700}.leaderboard-score{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.start-leaderboard{flex-direction:column;align-items:center;gap:6px;display:flex}.start-leaderboard .leaderboard-title{font-size:16px}.leaderboard-compact{width:220px}.leaderboard-compact .leaderboard-row{grid-template-columns:26px 1fr auto;gap:8px;padding:3px 10px;font-size:14px}.leaderboard-row-new{color:#0019a5;background:#ffd23f;animation:1s ease-in-out infinite record-pulse}.leaderboard-row-new .leaderboard-rank{opacity:1}.name-entry{align-items:center;gap:12px;display:flex}.name-input{text-align:center;letter-spacing:6px;text-indent:6px;text-transform:uppercase;color:#0019a5;background:#fff;border:none;border-radius:12px;width:210px;padding:8px 10px;font-family:Consolas,SF Mono,ui-monospace,monospace;font-size:26px;font-weight:800;box-shadow:0 4px 16px #0000004d}.name-input:focus{outline:3px solid #ffd23f}.name-entry .screen-button{margin-top:0;padding:12px 28px;font-size:18px}.level-splash{color:#fff;text-shadow:0 4px 20px #00000080;font-size:52px;font-weight:800;animation:.3s ease-out splash-in}@keyframes splash-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.gameover-message{color:#ffe08a;text-shadow:0 2px 8px #00000080;max-width:340px;margin:0;font-size:16px;font-weight:700;line-height:1.4;animation:1.8s ease-in-out 1.4s infinite msg-pulse}@keyframes msg-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.gameover-message-best{color:#ffd23f}.tutorial-overlay{z-index:20;background:linear-gradient(#00195a59 0%,#00195a26 45%,#00195a59 100%);position:absolute;inset:0;overflow:hidden}.tutorial-stage{position:absolute;inset:0}.mobile-screen .tutorial-card{top:calc(env(safe-area-inset-top,0px) + 14px)}.mobile-screen .tutorial-buttons{bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}.tutorial-card{color:#fff;z-index:22;background:#000c2ed1;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex;position:absolute;top:14px;left:14px;right:14px;box-shadow:0 6px 22px #0006}.tutorial-preview{flex-shrink:0;position:relative}.tutorial-text{text-align:left;flex-direction:column;gap:3px;min-width:0;display:flex}.tutorial-step{letter-spacing:1px;text-transform:uppercase;opacity:.65;font-size:12px}.tutorial-kind{font-size:19px;font-weight:800}.tutorial-desc{opacity:.95;font-size:14px;line-height:1.35}.tutorial-hint{color:#ffd23f;margin-top:2px;font-size:12px;font-weight:700;animation:1.2s ease-in-out infinite record-pulse}.tutorial-buttons{z-index:22;justify-content:space-between;align-items:center;padding:0 18px;display:flex;position:absolute;bottom:16px;left:0;right:0}.tutorial-buttons .tutorial-next{margin-top:0;padding:12px 30px;font-size:18px}.tutorial-skip{color:#fff;cursor:pointer;background:#ffffff24;border:1.5px solid #ffffff59;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:15px;font-weight:700}.tutorial-skip:active{transform:scale(.96)}.anim-word{white-space:nowrap;display:inline-block}.anim-char{opacity:0;animation:.5s ease-out forwards char-fly-in;display:inline-block}@keyframes char-fly-in{0%{opacity:0;transform:translateY(-24px)rotate(-12deg)scale(.5)}65%{opacity:1;transform:translateY(3px)rotate(3deg)scale(1.06)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}
