@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg:#0b111e;--surface:#111b2b;--mint:#a5f4ca;--muted:#758397;--text:#eef2fa;--line:#ffffff0f;font-family:DM Sans Variable,PingFang SC,Microsoft Yahei,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:13px;min-height:100vh}button,a,canvas,select{-webkit-tap-highlight-color:transparent}button,select,input{font:inherit}button{color:inherit;cursor:pointer;transition:background .2s,transform .2s}button:focus-visible,a:focus-visible,canvas:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:hover{transform:translateY(-1px)}button:active{transform:translateY(1px)}[hidden]{display:none!important}.ambient{position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.1}.ambient-one{background:#23558b;width:550px;height:550px;top:170px;left:30%}.ambient-two{background:#177b64;width:300px;height:300px;bottom:-120px;left:-80px}.app{max-width:1190px;padding:0 36px;margin:auto}.header{height:80px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{color:var(--text);text-decoration:none;display:flex;align-items:center;gap:10px;letter-spacing:1.7px;font-family:Outfit Variable,sans-serif;font-size:17px;font-weight:700}.brand>img{border-radius:6px}.brand>span>span{font-weight:400;color:#bac4d2}.header-right{display:flex;align-items:center;gap:9px;color:#8593a5;font-size:11px}.header-message{display:flex;align-items:center;gap:9px;margin-right:20px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px #a5f4ca40;flex-shrink:0}.live-dot.warning{background:#f494b1;box-shadow:0 0 10px #f494b140}.icon-button{border:1px solid #ffffff0d;background:#ffffff03;border-radius:9px;width:33px;height:33px;display:grid;place-items:center;padding:7px}.icon-button:hover{background:#ffffff0c}.icon-button svg,.label svg,.text-button svg{width:17px;height:17px;flex-shrink:0}.language-switcher{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff03;padding:0 9px;height:33px;color:#a9b6c8;max-width:160px}.language-switcher svg{width:14px;height:14px;flex-shrink:0}.language-switcher select{appearance:none;border:0;cursor:pointer;background:transparent;color:inherit;width:100%;min-width:60px;font-size:11px;padding:7px 15px 7px 0}.language-switcher option{background:#172337;color:#e5edf7}.language-switcher>span{position:absolute;right:8px;pointer-events:none}.intro{text-align:center;padding:27px 0 25px;animation:enter .65s ease both}.eyebrow{font-size:8px;letter-spacing:2px;color:var(--mint);display:flex;justify-content:center;align-items:center;gap:9px}.eyebrow span{width:15px;height:1px;background:var(--mint)}h1{font-family:Outfit Variable,sans-serif;font-size:59px;font-weight:600;letter-spacing:-2.5px;line-height:1.05;margin:10px 0}h1 em{font-style:normal;color:var(--mint);position:relative}.title-star{font-size:23px;position:absolute;right:-28px;top:4px;transform:rotate(15deg)}.game-subtitle{font-family:Outfit Variable,sans-serif;font-size:10px;letter-spacing:2.8px;text-transform:uppercase;color:#9aaabd;margin-top:14px}.intro p{color:#72839a;font-size:11px;margin:10px 0 0}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 460px minmax(0,1fr);gap:44px;align-items:start;animation:enter .8s .1s ease both}.score-sidebar{padding-top:27px}.label{font-size:11px;color:#93a1b4;letter-spacing:.3px;display:flex;align-items:center;gap:8px}.small-icon{color:var(--mint);font-size:17px;margin-left:auto}.score-value{font-family:Outfit Variable,sans-serif;font-size:64px;line-height:1.1;font-weight:500;letter-spacing:-2px;margin:14px 0 10px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.score-note{color:#6d7d93;font-size:10px;min-height:30px;line-height:1.7}.best-block{margin-top:18px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.best-block .label svg{color:#c2ab7a;width:14px;height:14px}.best-block strong{display:block;font-size:27px;font-family:Outfit Variable,sans-serif;font-weight:500;margin-top:8px;color:#c2cbda}.goal-block{margin-top:26px}.goal-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.goal-head>span:last-child{font-size:10px;color:#5e7087;white-space:nowrap}.progress-track{height:4px;background:#202b3d;border-radius:5px;margin:14px 0 22px;overflow:hidden}.progress-track div{height:100%;background:var(--mint);transition:width .7s;box-shadow:0 0 10px var(--mint)}.milestone{display:flex;align-items:center;gap:12px}.mini-bubble{width:35px;height:35px;border:1px solid var(--bubble-color);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--bubble-color) 40%,transparent),#193660);color:var(--bubble-color);font-family:Outfit Variable;font-size:15px;flex-shrink:0}.milestone>span:last-child{font-size:10px;color:#6d7e95}.milestone strong{display:block;font-family:Outfit Variable;font-size:19px;color:#c6d2e1;margin-top:3px}.quiet-note{display:flex;gap:12px;align-items:center;margin-top:37px;color:#65768d}.quiet-note>span{font-size:27px;color:#79938e}.quiet-note p{font-size:11px;line-height:1.9;letter-spacing:.2px}.game-workspace{min-width:0}.play-section{width:100%;min-width:0}.board-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;height:30px;gap:8px}.board-status{color:#9caabd;font-size:10px;display:flex;align-items:center;gap:7px}.board-next{display:flex;align-items:center;gap:8px;font-size:9px;color:#71849b}.board-next>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid var(--bubble-color,#8acbfa);color:var(--bubble-color,#8acbfa);background:color-mix(in srgb,var(--bubble-color,#8acbfa) 15%,transparent);font:500 11px Outfit Variable}.board-actions{display:flex;gap:6px}.board-actions .icon-button{width:28px;height:28px;border-radius:7px;padding:6px}.board-actions .icon-button svg{width:14px;height:14px}.board{position:relative;width:100%;aspect-ratio:460/534;border:1px solid #34435c;border-radius:15px 15px 28px 28px;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#1b304954,transparent 70%),linear-gradient(#111b2b,#111c2e);box-shadow:0 15px 55px #00000020,inset 0 0 30px #2738521a;transition:border-color .3s}.board.danger{border-color:#ab5f77}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.danger-label{position:absolute;top:calc(19.66% - 5px);right:13px;font-size:8px;color:#657087;pointer-events:none;background:#111b2b;padding-left:5px}.board-hint{position:absolute;top:31%;left:0;width:100%;text-align:center;pointer-events:none;font-size:11px;letter-spacing:1px;color:#70839b;transition:opacity .4s;padding:0 20px}.board-hint.faded{opacity:0}.touch-hint{display:none}.board-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px;color:#687d96;font-size:9px;gap:10px}.keyboard-hint{display:flex;align-items:center;gap:5px}kbd{font-family:inherit;border:1px solid #263246;background:#131e2f;padding:3px 5px;border-radius:4px;font-size:9px;line-height:1}.space-key{margin-left:8px}.text-button{border:0;background:none;padding:4px 0;font-size:10px;color:#93a1b4;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.text-button:hover{color:var(--mint)}.text-button svg{width:14px;height:14px}.guide-sidebar{padding-top:27px}.next-block .label{justify-content:center}.next-preview{height:120px;position:relative;display:grid;place-items:center}.preview-orbit{position:absolute;width:98px;height:98px;border:1px solid #243247;border-radius:50%;transform:rotate(-20deg)}.preview-orbit:before{content:"";position:absolute;top:2px;left:23px;width:4px;height:4px;background:#526982;border-radius:50%}.preview-bubble{position:relative;width:60px;height:60px;border-radius:50%;border:1px solid var(--bubble-color);background:radial-gradient(circle at 30% 22%,color-mix(in srgb,var(--bubble-color) 65%,transparent),color-mix(in srgb,var(--bubble-color) 22%,transparent) 50%,#17283c);box-shadow:inset -5px -7px 12px #051b3359,0 0 30px #78bfff12;display:grid;place-items:center;font:500 27px Outfit Variable;color:#e1f3ff;animation:bob 4s ease-in-out infinite}.preview-bubble:after{content:"";position:absolute;width:15px;height:6px;top:10px;left:12px;border-radius:50%;background:#ffffff4d;transform:rotate(-35deg)}.next-spark{position:absolute;color:#647b95;font-size:17px}.spark-a{top:30px;right:24px}.spark-b{bottom:25px;left:24px}.next-caption{display:block;text-align:center;color:#5b6d84;font-size:10px;line-height:1.6}.how-block{border-top:1px solid var(--line);margin-top:24px;padding-top:23px}.merge-example{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:17px 0;color:#5b6d84;font-size:12px}.example-bubble{border-radius:50%;width:32px;height:32px;border:1px solid #86dad0aa;background:radial-gradient(circle at 30% 20%,#6bdbd76b,#174341);color:#c5f4e8;display:grid;place-items:center;font:500 14px Outfit Variable}.example-bubble.result{width:40px;height:40px;border-color:#cab0f5aa;background:radial-gradient(circle at 30% 20%,#b8a4e86b,#373051);color:#e1d6ff;font-size:17px}.how-block p{color:#6d7d93;font-size:10px;line-height:2}.evolution{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.evolution-bubbles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px 5px;margin-top:16px}.evolution-bubbles span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font:500 9px Outfit Variable;border:1px solid var(--bubble-color);color:var(--bubble-color);background:color-mix(in srgb,var(--bubble-color) 13%,transparent);opacity:.55}.evolution-bubbles span.unlocked{opacity:1;box-shadow:0 0 12px color-mix(in srgb,var(--bubble-color) 15%,transparent)}.evolution-end{display:flex;justify-content:space-between;color:#60718a;font-size:8px;margin-top:12px;gap:6px}.tiny-badge{margin-top:26px;font-size:9px;color:#60738a;display:flex;align-items:center;gap:7px;line-height:1.7}.tiny-badge>span{color:#8aab9b;font-size:14px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;margin:31px 0 0;padding:22px 0;color:#61738b;font-size:8px;letter-spacing:1px;line-height:1.6}footer i{color:#9bd3b5;font-style:normal;margin-left:9px}.overlay{position:absolute;inset:0;background:#0c1422ef;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;text-align:center;z-index:5;overflow:auto;padding:20px 10px}.overlay-content{width:100%;max-width:360px;padding:26px 18px;position:relative}.dialog-close{position:absolute;right:3px;top:0;width:27px;height:27px;padding:6px}.dialog-close svg{width:14px;height:14px}.overlay-eyebrow{font:9px Outfit Variable;letter-spacing:2px;color:var(--mint)}.overlay h2{font-size:27px;font-weight:600;letter-spacing:.1px;margin:19px 0 12px;line-height:1.35}.overlay p{line-height:1.9;color:#95a5ba;font-size:11px;white-space:pre-line;margin:10px 0}.primary-button{border:0;background:var(--mint);color:#132b24;border-radius:9px;padding:13px 22px;min-width:185px;margin-top:18px;font-weight:600;display:inline-flex;justify-content:space-between;gap:25px;font-size:12px;white-space:normal}.dialog-cancel{display:flex;margin:13px auto 0}.settings-panel{margin-top:20px;text-align:left}.setting-row{padding:12px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0a;gap:15px;font-size:12px;position:relative}.setting-row input[type=checkbox]{position:absolute;opacity:0;right:0;width:36px;height:24px;margin:0;cursor:pointer;z-index:1}.toggle{position:relative;width:35px;height:21px;border-radius:15px;background:#2a384c;flex-shrink:0}.toggle:after{content:"";width:15px;height:15px;background:#9dacc0;border-radius:50%;position:absolute;left:3px;top:3px;transition:transform .2s,background .2s}.setting-row input:checked+.toggle{background:#2d6653}.setting-row input:checked+.toggle:after{transform:translate(14px);background:var(--mint)}.setting-row input:focus-visible+.toggle{outline:2px solid var(--mint);outline-offset:3px}.volume-row{display:block}.volume-row>span{display:flex;justify-content:space-between}.volume-row small{font-size:10px;color:#7f91a9}.volume-row input{width:100%;height:4px;margin:18px 0 7px;accent-color:var(--mint);cursor:pointer}.settings-panel .settings-note{font-size:9px;margin:15px 0 0;color:#657891;text-align:center}.dialog-enter-active,.dialog-leave-active{transition:opacity .2s}.dialog-enter-active .overlay-content{animation:enter .25s ease}.dialog-enter-from,.dialog-leave-to{opacity:0}.fullscreen-header,.fullscreen-sound,.mobile-score{display:none}.game-workspace:fullscreen,.game-workspace.fallback-fullscreen{background:radial-gradient(ellipse at 50% 60%,#15283b 0,#0b111e 75%);width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:14px 22px;overflow:auto}.fallback-fullscreen{position:fixed;inset:0;z-index:50;height:100dvh!important}.is-fullscreen .fullscreen-header{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(720px,100%);margin:0 auto 18px;min-height:33px;flex-shrink:0;color:#91a4bc;font-size:11px}.fullscreen-brand{display:flex;align-items:center;gap:8px;font:600 12px Outfit Variable;letter-spacing:1.4px;color:#dce7f5}.fullscreen-brand img{border-radius:4px}.fullscreen-header strong{margin-left:8px;color:var(--mint);font:500 22px Outfit Variable}.is-fullscreen .play-section{width:min(620px,calc((100dvh - 138px)*460/534));flex-shrink:0}.is-fullscreen .fullscreen-sound{display:inline-flex}.is-fullscreen .board-bottom{margin-top:12px}.is-fullscreen .board{box-shadow:0 0 90px #76b7e10a}.is-fullscreen .board-top{margin-bottom:8px}@keyframes enter{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes bob{0%,to{transform:translateY(2px)}50%{transform:translateY(-3px)}}@media(max-width:1050px){.app{padding:0 24px}.game-layout{grid-template-columns:minmax(0,1fr) 420px minmax(0,1fr);gap:24px}.evolution-bubbles{grid-template-columns:repeat(4,1fr)}.header-message{display:none}.quiet-note{margin-top:25px}.label{font-size:10px}.goal-head{align-items:flex-start}}@media(max-width:850px){.game-layout{grid-template-columns:minmax(0,1fr) 420px;max-width:650px;margin:auto}.guide-sidebar{display:none}.header{height:70px}h1{font-size:50px}.intro{padding:24px 0}.app{max-width:760px}.header-right{gap:7px}.header-right .language-switcher{max-width:132px}.header-right .icon-button{width:30px;height:30px}}@media(max-width:580px){.app{padding:0 17px}.header{height:62px;gap:10px}.brand{font-size:12px;letter-spacing:1px;gap:6px}.brand img{width:28px;height:28px}.header-right{gap:5px}.header-right>.icon-button:first-of-type{display:none}.header-right .icon-button{width:27px;height:27px;padding:6px}.header-right .icon-button svg{width:14px;height:14px}.header-right .language-switcher{height:29px;padding:0 7px;max-width:108px}.header-right .language-switcher svg{display:none}.header-right .language-switcher select{font-size:10px;min-width:55px}.intro{padding:20px 0 17px}.eyebrow{font-size:7px;letter-spacing:1.4px;line-height:1.6}h1{font-size:45px;margin:8px 0}.title-star{font-size:18px;right:-22px}.game-subtitle{font-size:8px;letter-spacing:1.8px;margin-top:10px}.intro p{font-size:10px;line-height:1.6;margin-top:8px}.game-layout{display:flex;flex-direction:column;gap:17px;max-width:420px}.score-sidebar{width:100%;padding:0;display:flex;justify-content:space-between;align-items:center}.score-block .label,.best-block .label{font-size:9px}.score-value{font-size:31px;letter-spacing:-1px;margin:4px 0 0}.score-note,.small-icon,.goal-block,.quiet-note{display:none}.best-block{margin:0;border:0;padding:0;text-align:right}.best-block strong{font-size:24px;margin-top:4px}.game-workspace{width:100%}.board-top{margin-bottom:8px}.board-status{font-size:9px}.board{border-radius:13px 13px 23px 23px}.board-bottom{margin-top:11px;font-size:8px}.keyboard-hint{display:none}.mobile-score{display:inline-flex;gap:7px;align-items:center}.mobile-score strong{color:#b5c4d8;font:500 13px Outfit Variable}.board-hint{font-size:10px}.desktop-hint{display:none}.touch-hint{display:inline}footer{margin-top:24px;padding:17px 0;font-size:7px;letter-spacing:.3px}.overlay{padding:8px}.overlay-content{padding:22px 15px}.overlay h2{font-size:23px;margin:16px 0 10px}.overlay p{font-size:10px;line-height:1.8}.primary-button{font-size:11px;min-width:165px;padding:12px 19px}.setting-row{padding:10px 0;font-size:11px}.settings-panel{margin-top:15px}.settings-panel .language-switcher{max-width:145px}.is-fullscreen .fullscreen-header{gap:9px;margin-bottom:12px}.fullscreen-header .language-switcher{max-width:113px}.fullscreen-header>span:nth-child(2){font-size:9px}.fullscreen-header strong{font-size:17px;margin-left:4px}.fullscreen-brand{font-size:10px;gap:5px;letter-spacing:.5px}.fullscreen-brand img{width:23px;height:23px}.is-fullscreen .fullscreen-header>.icon-button{display:none}.is-fullscreen .play-section{width:min(100%,calc((100dvh - 120px)*460/534))}.game-workspace:fullscreen,.game-workspace.fallback-fullscreen{padding:12px 16px}}@media(max-width:360px){.brand>span{font-size:11px}.header-right{gap:4px}.header-right .language-switcher{max-width:90px}.app{padding:0 12px}.intro p{font-size:9px}.overlay h2{font-size:20px}.settings-panel{margin-top:8px}.setting-row{padding:8px 0}.overlay-content{padding-top:20px}}@media(max-height:550px)and (orientation:landscape){.is-fullscreen .fullscreen-header{position:absolute;left:20px;top:20px;width:150px;flex-wrap:wrap;justify-content:flex-start;gap:14px}.is-fullscreen .play-section{width:min(480px,calc((100dvh - 90px)*460/534))}.is-fullscreen .fullscreen-header>span{width:100%}.is-fullscreen .board-top{height:25px}.is-fullscreen .board-bottom{margin-top:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
