*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#0a0a0f;width:100%;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}body{position:fixed;inset:0}.app-root{width:100%;height:100%;position:relative}.copyright-mark{z-index:20;letter-spacing:.04em;color:#ffffff8c;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;line-height:1;position:fixed;bottom:10px;right:14px}canvas{touch-action:none}.splash{background:#0a0a0f;flex-direction:column;justify-content:center;align-items:center;height:100%;animation:.5s ease-in fadeIn;display:flex}.splash-title{color:#fff;letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:2.5rem;font-weight:300}.splash-subtitle{color:#888;letter-spacing:.5em;text-transform:uppercase;margin-top:.5rem;font-size:1.2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.color-mix{text-align:center;width:min(100%,400px);margin:auto 0 0;padding:0 8px}.color-mix-art{isolation:isolate;aspect-ratio:360/238;contain:paint;width:min(100%,330px);margin:0 auto 12px;position:relative;overflow:hidden}.color-mix-field{mix-blend-mode:screen;filter:blur(8px);width:47%;height:61%;animation:10s ease-in-out infinite color-mix-drift;position:absolute}.color-mix-field--red{background:red;border-radius:64% 36% 57% 43%/42% 61% 39% 58%;top:3%;left:26.5%;transform:rotate(-6deg)scaleX(1.02)}.color-mix-field--green{background:#0f0;border-radius:38% 62% 34% 66%/59% 37% 63% 41%;animation-name:color-mix-drift-green;animation-duration:12s;animation-delay:-4s;top:31%;left:14.5%;transform:rotate(6deg)scaleY(1.02)}.color-mix-field--blue{background:#00f;border-radius:57% 43% 66% 34%/35% 58% 42% 65%;animation-name:color-mix-drift-blue;animation-duration:14s;animation-delay:-7s;top:31%;left:38.5%;transform:rotate(-6deg)scaleX(1.02)}.color-mix-caption{color:#b5b8c6;letter-spacing:.06em;font-size:.78rem;display:block}.color-mix-equations{color:#9398ab;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:10px;font-size:.65rem;display:flex}.color-mix-equations>span{white-space:nowrap}.color-mix-equations b{margin-left:4px;font-weight:500}.color-mix-equations b:before{content:"= ";color:#9398ab}.mix-yellow{color:#eeee72}.mix-cyan{color:#72eeee}.mix-magenta{color:#ee8aee}.mix-white{color:#fff}.color-mix[data-running=false] .color-mix-field{animation-play-state:paused}@keyframes color-mix-drift{0%,to{transform:translate(-1%)rotate(-6deg)scaleX(1.02)}35%{transform:translate(2%,2%)rotate(6deg)scale(.99,1.03)}70%{transform:translate(-2%,1%)rotate(-3deg)scale(1.04,.99)}}@keyframes color-mix-drift-green{0%,to{transform:translateY(1%)rotate(6deg)scaleY(1.02)}40%{transform:translate(2%,-2%)rotate(-6deg)scale(1.03,.99)}75%{transform:translate(-1%,-1%)rotate(8deg)scale(.99,1.03)}}@keyframes color-mix-drift-blue{0%,to{transform:translate(1%,-1%)rotate(-6deg)scaleX(1.02)}40%{transform:translate(-2%,2%)rotate(6deg)scale(.99,1.03)}75%{transform:translate(1%,-2%)rotate(-8deg)scale(1.03,.99)}}@media (height<=760px){.color-mix-art{width:min(100%,230px)}}@media (prefers-reduced-motion:reduce){.color-mix-field{animation:none}}.main-menu{background:#0a0a0f;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;display:flex}.menu-title{color:#fff;letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:2.5rem;font-weight:300}.menu-subtitle{color:#888;letter-spacing:.5em;text-transform:uppercase;margin:0 0 2rem;font-size:1rem}.menu-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.15em;border:none;font-family:inherit;transition:opacity .2s}.menu-btn:active{opacity:.7}.play-btn{color:#fff;background:#2a6aff;border-radius:8px;padding:.9rem 3rem;font-size:1.2rem;font-weight:600}.menu-stats{color:#666;margin:.5rem 0 2rem;font-size:.85rem}.settings-btn{color:#666;background:0 0;border:1px solid #333;border-radius:6px;padding:.5rem 1.5rem;font-size:.8rem}.main-menu{justify-content:flex-start;padding:36px 20px 48px;overflow-y:auto}.menu-subtitle{margin-bottom:.5rem}.menu-stats{margin:0}.menu-btn:disabled{opacity:.45;cursor:default}.daily-btn{background:#713bc4}.account-bar{align-items:center;gap:12px;display:flex}.menu-notice{text-align:center;color:#aaa;max-width:520px;font-size:.8rem;line-height:1.6}.leaderboard{border:1px solid #333;border-radius:10px;width:min(100%,520px);padding:16px}.leaderboard h2{margin-bottom:12px;font-size:1rem}.leaderboard p{color:#aaa}.leaderboard ol{padding-left:24px}.leaderboard li{padding:6px}.leaderboard time{font-variant-numeric:tabular-nums}.leaderboard small{color:#aaa}.play-btn:disabled{color:#898995;opacity:1;background:#303039}.tutorial-btn{background:#315b8a}.leaderboard-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.leaderboard-player{align-items:center;gap:10px;min-width:0;display:flex}.leaderboard-name{overflow-wrap:anywhere}.leaderboard-avatar{color:#c9c9e4;background:#303044;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:.85rem;display:grid;position:relative;overflow:hidden}.leaderboard-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.leaderboard time{text-align:right;flex-shrink:0}@media (width<=420px){.leaderboard small{display:block}}.endless-packs{width:min(100%,560px)}.menu-analysis-link{justify-content:flex-end;margin-bottom:12px;display:flex}.menu-analysis-link a,.menu-analysis-anchor{text-align:center;text-decoration:none;display:inline-block}.endless-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.endless-heading h2{font-size:1rem;font-weight:500}.endless-heading>span{color:#858595;font-size:.75rem}.difficulty-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.difficulty-card{--accent:#70d8c3;color:#edf4f4;text-align:left;font:inherit;cursor:pointer;background:linear-gradient(150deg,#162b2a,#13151e 75%);border:1px solid #34534e;border-radius:14px;flex-direction:column;gap:12px;padding:20px;transition:border-color .15s,background-color .15s;display:flex}.difficulty-card--easy{--accent:#f1cd73;background:linear-gradient(150deg,#302919,#13151e 75%);border-color:#5a4d2f}.difficulty-card--hard{--accent:#b8a1ff;background:linear-gradient(150deg,#28203b,#13151e 75%);border-color:#4a3d68}.difficulty-card--extreme{--accent:#d06a7b;background:linear-gradient(150deg,#351b25,#13151e 75%);border-color:#682938}.difficulty-card:not(:disabled):hover,.difficulty-card:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}.difficulty-card:disabled{cursor:default;filter:grayscale();opacity:.45}.difficulty-size{color:var(--accent);font-size:.85rem}.difficulty-size span{color:#a4a7b5}.difficulty-card strong{font-size:1.65rem;font-weight:500}.difficulty-description{color:#adb0be;flex:1;font-size:.8rem;line-height:1.5}.difficulty-progress{color:#969aa9;font-size:.75rem}.difficulty-meter{background:#ffffff12;border-radius:3px;height:3px;overflow:hidden}.difficulty-meter>span{background:var(--accent);height:100%;display:block}.difficulty-action{color:var(--accent);justify-content:space-between;font-size:.85rem;display:flex}@media (width<=440px){.difficulty-cards{grid-template-columns:1fr}.difficulty-card{padding:14px}.endless-heading{flex-wrap:wrap}}.menu-header{flex-direction:column;align-items:center;gap:12px;width:min(100%,560px);margin-bottom:12px;display:flex}.menu-title:focus,.submenu-title:focus{outline:none}.submenu-title{letter-spacing:.02em;font-size:clamp(1.7rem,6vw,2.1rem);font-weight:400}.menu-back{color:#b6bbca;font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:10px 0}.mode-entries{gap:16px;width:min(100%,480px);margin-block:24px;display:grid}.mode-entry{color:#d6edf5;text-align:left;font:inherit;cursor:pointer;background:#14202a;border:1px solid #334958;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.mode-entry--daily{color:#e5d5fa;background:#211a2d;border-color:#463658}.mode-entry--tutorial{color:#d7e8fa;background:#182638;border-color:#315b8a}.mode-entry strong{font-size:1.3rem;font-weight:500;display:block}.mode-entry small{color:#a4a7b5;margin-top:8px;line-height:1.5;display:block}.mode-entry:disabled{filter:grayscale();opacity:.45;cursor:default}.mode-entry:focus-visible,.menu-back:focus-visible{outline-offset:4px;outline:2px solid #a9bdf3}.menu-footer{flex-direction:column;align-items:center;gap:16px;margin-top:auto;padding-top:28px;display:flex}.replay-btn{color:#b4b9c9;border-color:#0000}.daily-menu{flex-direction:column;align-items:center;gap:28px;width:min(100%,560px);display:flex}.daily-intro{flex-direction:column;align-items:center;gap:20px;display:flex}.daily-date{color:#c6b4e4;letter-spacing:.08em;font-size:1.05rem}.main-menu>*{flex-shrink:0}@media (width<=380px){.mode-entry{padding:20px}.menu-title{font-size:2rem}}.hud{pointer-events:none;z-index:10;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.hud-top{padding:env(safe-area-inset-top,8px) 16px 8px 16px;pointer-events:auto;justify-content:space-between;align-items:center;display:flex}.hud-label{color:#aaa;text-transform:uppercase;letter-spacing:.15em;font-size:.9rem}.hud-seed{color:#666;letter-spacing:.05em;font-size:.8rem}.hud-bottom{padding:12px 16px env(safe-area-inset-bottom,12px) 16px;pointer-events:auto;justify-content:center;gap:16px;display:flex}.hud-btn{color:#888;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:1px solid #333;border-radius:6px;padding:6px 18px;font-family:inherit;font-size:.8rem;transition:opacity .2s}.hud-btn:active{opacity:.6}.hud-btn:disabled{opacity:.4;cursor:default}.skip-btn{color:#777}.jump-dialog-overlay{z-index:20;pointer-events:auto;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.jump-dialog{background:#16161e;border:1px solid #333;border-radius:10px;flex-direction:column;gap:12px;width:240px;padding:20px;display:flex}.jump-dialog-title{color:#ccc;text-transform:uppercase;letter-spacing:.1em;text-align:center;font-size:.9rem}.jump-dialog-input{color:#eee;text-align:center;background:#0a0a0f;border:1px solid #333;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:1rem}.jump-dialog-error{color:#f66;text-align:center;font-size:.75rem}.jump-dialog-actions{justify-content:center;gap:12px;display:flex}.win-overlay{z-index:20;background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-out winFadeIn;display:flex;position:absolute;inset:0}.win-card{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.win-title{color:#fff;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:1.6rem;font-weight:400}.win-btn{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.15em;background:#2a6aff;border:none;border-radius:8px;padding:.8rem 3rem;font-family:inherit;font-size:1.1rem;font-weight:600;transition:opacity .2s}.win-btn:active{opacity:.7}@keyframes winFadeIn{0%{opacity:0}to{opacity:1}}.game-scene{background:#0a0a0f;width:100%;height:100%;position:relative;overflow:hidden}.game-board{width:100%;height:100%;min-height:0}.game-scene--tutorial{padding-top:calc(env(safe-area-inset-top,0px) + 44px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 54px);flex-direction:column;display:flex}.game-scene--tutorial .game-board{flex:1;height:auto}.tutorial-rule{z-index:1;text-align:center;pointer-events:none;flex:none;width:min(100%,560px);margin:0 auto -28px;padding:10px 24px 0;position:relative;transform:translateY(28px)}.tutorial-rule-text{color:#dce4f3;text-wrap:balance;padding:0 0 18px;font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:400;line-height:1.55;animation:.65s cubic-bezier(.2,.7,.2,1) both tutorial-rule-enter;position:relative}.tutorial-rule-text:after{content:"";background:linear-gradient(90deg,#0000,#a9bdf3,#0000);width:80px;height:2px;animation:.85s ease-out .1s both tutorial-rule-line;position:absolute;bottom:0;left:calc(50% - 40px);box-shadow:0 0 14px #91aaff40}@keyframes tutorial-rule-enter{0%{opacity:0;filter:blur(4px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes tutorial-rule-line{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}@media (height<=500px){.tutorial-rule{margin-bottom:-20px;padding-top:0;transform:translateY(20px)}.tutorial-rule-text{padding-bottom:10px;font-size:.85rem;line-height:1.35}}@media (prefers-reduced-motion:reduce){.tutorial-rule-text,.tutorial-rule-text:after{animation:none}}.analytics-page{color:#eef1f7;-webkit-user-select:text;user-select:text;background:radial-gradient(circle at 85% 0,#19243a 0,#0000 34%),#0a0a0f;width:100%;height:100%;padding:32px clamp(16px,4vw,56px) 64px;overflow-y:auto}.analytics-page>*{width:min(100%,1120px);margin-inline:auto}.analytics-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-bottom:28px;display:grid}.analytics-header>div{text-align:center}.analytics-header span{color:#8ea4c8;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.analytics-header h1{margin-top:4px;font-size:clamp(1.7rem,5vw,2.5rem);font-weight:450}.analytics-back{color:#b9c5db;justify-self:start;text-decoration:none}.analytics-refresh,.analytics-gate button,.analytics-controls button{color:#dce8ff;font:inherit;cursor:pointer;background:#17243a;border:1px solid #405271;border-radius:8px;justify-self:end;padding:10px 14px}.analytics-refresh:disabled{color:#7f899b;cursor:default}.analytics-alert{color:#f0c98e;background:#2b2117;border:1px solid #6d5436;border-radius:8px;margin-bottom:18px;padding:12px 14px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-card,.chart-card,.analytics-table-card,.analytics-controls{background:#101720e8;border:1px solid #29374c;border-radius:14px;box-shadow:0 14px 34px #0004}.metric-card{flex-direction:column;gap:8px;min-height:126px;padding:18px;display:flex}.metric-card>span,.metric-card small{color:#8f9cb0;font-size:.78rem}.metric-card strong{font-variant-numeric:tabular-nums;margin-top:auto;font-size:clamp(1.45rem,4vw,2rem);font-weight:500}.chart-card,.analytics-table-card{margin-bottom:18px;padding:20px}.chart-card h2,.analytics-table-card h2{color:#cdd7e7;margin-bottom:18px;font-size:1rem;font-weight:500}.bar-chart{gap:10px;display:grid}.bar-row{grid-template-columns:minmax(70px,110px) 1fr minmax(58px,auto);align-items:center;gap:12px;font-size:.82rem;display:grid}.bar-label{text-overflow:ellipsis;color:#abb8ca;overflow:hidden}.bar-track{background:#ffffff0d;border-radius:9px;height:9px;overflow:hidden}.bar-track>span{border-radius:inherit;background:linear-gradient(90deg,#5089e8,#7fc9e9);min-width:2px;height:100%;display:block}.bar-row strong{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.line-chart-scroll{overflow-x:auto}.line-chart{width:100%;min-width:560px;height:auto;display:block}.chart-axis{stroke:#405068;stroke-width:1px}.chart-line{fill:none;stroke:#6fa9ff;stroke-width:3px;stroke-linejoin:round}.chart-dot{fill:#b4d3ff;stroke:#182842;stroke-width:3px}.line-chart text{fill:#8594aa;font-size:11px}.line-chart .chart-value{fill:#b2bfd2}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chart-filter{justify-content:flex-end;margin:-4px auto 10px;display:flex}.chart-filter label{color:#99a8bd;align-items:center;gap:8px;font-size:.82rem;display:flex}.chart-filter select{color:#eef3fb;min-height:36px;font:inherit;background:#0c121c;border:1px solid #364963;border-radius:7px;padding:6px 10px}.section-heading>span{color:#8392a9;font-size:.78rem}.histogram-scroll{padding-bottom:4px;overflow-x:auto}.histogram{border-bottom:1px solid #405068;align-items:flex-end;gap:clamp(3px,1vw,9px);min-width:640px;height:280px;padding:20px 4px 36px;display:flex}.histogram-bin{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex;position:relative}.histogram-bin strong{color:#bac8dd;margin-bottom:5px;font-size:.72rem;font-weight:500}.histogram-bar{background:linear-gradient(#77b8ff,#386bc4);border-radius:5px 5px 0 0;width:100%;max-width:64px;min-height:3px}.histogram-bin small{color:#8493aa;white-space:nowrap;text-align:left;font-size:.66rem;line-height:1.25;display:grid;position:absolute;top:calc(100% + 7px)}.box-plot-chart{gap:18px;display:grid}.box-plot-row{color:#aebbd0;grid-template-columns:78px minmax(160px,1fr) 76px 74px;align-items:center;gap:12px;font-size:.82rem;display:grid}.box-plot-row>strong{text-align:right;color:#e3ebf8;font-variant-numeric:tabular-nums;font-weight:500}.box-plot-row>small{color:#76869e}.box-plot-track{height:34px;position:relative}.box-plot-track i{display:block;position:absolute}.box-whisker{background:#6680a8;height:2px;top:16px}.box-cap{background:#6680a8;width:2px;height:14px;top:10px}.box-body{background:#2a5c9dcc;border:1px solid #76b4fb;border-radius:3px;min-width:3px;height:22px;top:6px}.box-median{background:#d6ecff;width:2px;height:26px;top:4px}.analysis-index{flex-direction:column;justify-content:center;display:flex}.analysis-index-header{text-align:center;margin-bottom:30px}.analysis-index-header span{color:#8ea4c8;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.analysis-index-header h1{margin-top:5px;font-size:clamp(2rem,6vw,3rem);font-weight:450}.analysis-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.analysis-pack-card{min-height:190px;color:inherit;background:#101720e8;border:1px solid #29374c;border-radius:14px;flex-direction:column;padding:24px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;box-shadow:0 14px 34px #0004}.analysis-pack-card:hover,.analysis-pack-card:focus-visible{border-color:#6794d4;outline:none;transform:translateY(-2px)}.analysis-pack-card>span{color:#7faee9;letter-spacing:.1em;font-size:.78rem}.analysis-pack-card h2{margin-top:14px;font-size:1.45rem;font-weight:500}.analysis-pack-card p{color:#8f9cb0;margin-top:7px}.analysis-pack-card strong{color:#9ac5ff;margin-top:auto;font-size:.88rem;font-weight:500}.analytics-tabs{gap:8px;margin-bottom:18px;padding-bottom:3px;display:flex;overflow-x:auto}.analytics-tabs button{color:#9caac0;font:inherit;cursor:pointer;white-space:nowrap;background:#111925;border:1px solid #33435c;border-radius:999px;padding:9px 15px}.analytics-tabs button.active{color:#e2efff;background:#1b3457;border-color:#6fa9ff}.analytics-table-wrap{overflow-x:auto}.analytics-table-card table{border-collapse:collapse;width:100%;font-size:.88rem}.analytics-table-card th,.analytics-table-card td{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid #273247;padding:11px 12px}.analytics-table-card th:first-child,.analytics-table-card td:first-child{text-align:left}.analytics-table-card a,.section-heading a{color:#87b8ff}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.analytics-empty{color:#8f9cb0;line-height:1.6}.analytics-controls{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;padding:16px;display:flex}.analytics-controls form{align-items:end;gap:10px;display:flex}.analytics-controls label{color:#99a8bd;gap:6px;font-size:.78rem;display:grid}.analytics-controls select,.analytics-controls input{color:#eef3fb;min-height:40px;font:inherit;background:#0c121c;border:1px solid #364963;border-radius:7px;padding:8px 10px}.analytics-controls a{color:#9ebde8;padding:10px}.analytics-gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.analytics-gate p{color:#9da9ba}.analytics-gate a{color:#99bce9}@media (width<=760px){.analytics-header{grid-template-columns:1fr auto}.analytics-header>div{grid-area:1/1/auto/-1}.analytics-back,.analytics-refresh{grid-row:2}.metric-grid{grid-template-columns:repeat(2,1fr)}.analytics-controls{flex-direction:column;align-items:stretch}.box-plot-row{grid-template-columns:68px minmax(120px,1fr) 68px}.box-plot-row>small{display:none}}@media (width<=560px){.analysis-pack-grid{grid-template-columns:1fr}}@media (width<=460px){.analytics-page{padding-inline:12px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:110px;padding:14px}.analytics-controls form{flex-direction:column;align-items:stretch}.bar-row{grid-template-columns:66px 1fr 54px;gap:8px}.box-plot-row{grid-template-columns:58px minmax(110px,1fr) 62px;gap:7px}.histogram-bin strong{font-size:.65rem}}
