*,: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)}.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{text-align:center;pointer-events:none;flex:none;width:min(100%,560px);margin-inline:auto;padding:10px 24px 0}.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{padding-top:0}.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}}
