@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/water-sort/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2) format("woff2"),url(/play/water-sort/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/water-sort/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2) format("woff2"),url(/play/water-sort/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/water-sort/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/play/water-sort/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/water-sort/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/play/water-sort/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/water-sort/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/play/water-sort/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/water-sort/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(/play/water-sort/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/water-sort/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(/play/water-sort/assets/nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/water-sort/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/play/water-sort/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/water-sort/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/play/water-sort/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/water-sort/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/play/water-sort/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff");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{--bg: #0f1b2d;--bg-2: #123c4a;--surface: rgba(255, 255, 255, .06);--surface-strong: rgba(255, 255, 255, .12);--line: rgba(255, 255, 255, .18);--text: #eaf2ff;--text-dim: #9fb3c8;--accent: #f5b942;--accent-ink: #2a1d00;--glass: rgba(255, 255, 255, .55);--radius: 18px;--tube-w: 56px;--tube-h: 200px;--liquid-red: #ff4d5a;--liquid-orange: #ff8c42;--liquid-yellow: #ffd23f;--liquid-lime: #a3e635;--liquid-green: #22c55e;--liquid-teal: #2dd4bf;--liquid-sky: #38bdf8;--liquid-blue: #3b82f6;--liquid-violet: #8b5cf6;--liquid-pink: #f472b6;--liquid-brown: #a16207;--liquid-grey: #cbd5e1;font-family:Nunito,system-ui,sans-serif;font-weight:600;color:var(--text);color-scheme:dark;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(120% 80% at 50% 0%,var(--bg-2) 0%,var(--bg) 60%,var(--bg-bottom) 100%) fixed;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:manipulation}.screen{height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.home{justify-content:center;align-items:center;gap:28px;text-align:center}.home .logo{width:128px;height:128px}.home h1{margin:0;font-size:40px;font-weight:800;letter-spacing:.02em}.home .tagline{margin:4px 0 0;color:var(--text-dim)}.home .version{position:absolute;bottom:calc(12px + env(safe-area-inset-bottom));color:var(--text-dim);font-size:12px}.button{white-space:nowrap;border:0;border-radius:999px;padding:14px 32px;font:inherit;font-weight:800;font-size:18px;color:var(--text);background:var(--surface-strong);box-shadow:inset 0 1px 0 var(--line);cursor:pointer}.button.primary{color:var(--accent-ink);background:linear-gradient(180deg,var(--accent-light),var(--accent));box-shadow:0 8px 24px var(--accent-shadow)}.button.small{padding:10px 18px;font-size:15px}.button:active{transform:translateY(1px);filter:brightness(.95)}.top-bar,.bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.bottom-bar{justify-content:center;gap:10px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.pill{padding:8px 14px;border-radius:999px;background:var(--surface);box-shadow:inset 0 1px 0 var(--line);font-size:15px}.pill strong{font-weight:800;color:var(--accent)}.board{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:16px}.board-row{display:flex;justify-content:center}.slot{position:relative;border:0;padding:0 var(--slot-pad-x);background:none;cursor:pointer}.slot.pouring{z-index:2}.tube-body{transition:transform .16s ease-out;transform-origin:50% 0}.slot.selected .tube-body{transform:translateY(-18px)}.wobbler{transform-origin:50% 100%}.tube{display:block;width:var(--tube-w);height:var(--tube-h);overflow:visible}.tube.done{filter:drop-shadow(0 0 10px var(--accent-glow))}.pour-level{transform-box:fill-box;transform-origin:50% 100%;transition-property:transform;transition-timing-function:linear}.cap{animation:cap-drop .28s cubic-bezier(.3,1.4,.6,1) both}@keyframes cap-drop{0%{transform:translateY(-28px);opacity:0}to{transform:none;opacity:1}}.stream{position:absolute;z-index:1;border-radius:3px;transform-origin:50% 0;animation:stream-in .12s ease-out both;pointer-events:none}@keyframes stream-in{0%{transform:scaleY(0)}to{transform:none}}:root{--bg-bottom: #0a1220;--accent-light: #ffd06a;--accent-shadow: rgba(245, 185, 66, .35);--accent-glow: rgba(245, 185, 66, .55);--scrim: rgba(4, 10, 20, .65);--symbol-ink: #07111f;--symbol-outline: #ffffff;--control-height: 48px}.button{min-height:var(--control-height)}.button:disabled{opacity:.4;cursor:default}.button:focus-visible,.slot:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.home-settings{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px}.gear{font-size:24px!important}.play{min-width:190px}.play span{display:block;font-size:15px}.top-bar{gap:6px}.top-bar .button{padding:8px;min-width:var(--control-height)}.pill{padding:8px 10px;white-space:nowrap}.bottom-bar{gap:6px}.bottom-bar .button{flex:1 1 auto;min-width:0;padding:10px 6px}.notice{margin:0 16px;padding:8px 12px;background:var(--surface-strong);border-radius:var(--radius);text-align:center}.notice>div{display:flex;justify-content:center;gap:12px;margin-top:6px}.hint-message{min-height:24px;padding:0 16px;text-align:center;font-size:14px;color:var(--accent)}.hinted .tube{filter:drop-shadow(0 0 8px var(--accent))}.attention{outline:2px solid var(--accent)}.unit-symbol{fill:var(--symbol-ink);stroke:var(--symbol-outline);stroke-width:1.3px;paint-order:stroke;text-anchor:middle;dominant-baseline:central;font-size:25px;font-weight:800}.sheet{position:fixed;inset:auto 0 0;width:min(100%,440px);max-height:90dvh;margin:0 auto;padding:24px 24px calc(24px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:28px 28px 0 0;background:var(--bg);color:var(--text);box-shadow:0 -12px 60px var(--scrim)}.sheet[open]{display:flex;flex-direction:column;gap:14px;animation:sheet-in .26s ease-out both}.sheet::backdrop{background:var(--scrim)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.sheet h2{margin:0;font-size:24px}.sheet-heading .button{min-width:var(--control-height);padding:8px;font-size:24px}.sheet p{margin:0;color:var(--text-dim)}.setting{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;border-bottom:1px solid var(--line);cursor:pointer}.setting input{width:48px;height:48px;accent-color:var(--accent);margin:0;cursor:pointer}.settings-note{font-size:13px}.scores{display:flex;justify-content:space-around;padding:16px 0}.scores>div{display:flex;flex-direction:column;text-align:center}.scores strong{font-size:36px;color:var(--accent)}.scores span{color:var(--text-dim)}.board.won .wobbler{animation:win-bounce .55s ease-in-out}.confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-20px;width:8px;height:14px;background:var(--confetti-colour);animation:confetti-fall 1.6s ease-in both}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes win-bounce{0%,to{transform:none}40%{transform:translateY(-20px)}70%{transform:translateY(4px)}}@keyframes confetti-fall{to{transform:translate(var(--drift),100dvh) rotate(420deg)}}@media(prefers-reduced-motion:reduce){.sheet[open],.board.won .wobbler,.confetti i{animation:none}.confetti{display:none}}.setting input{appearance:none;position:relative;border-radius:14px;background:none}.setting input:after{content:"";position:absolute;top:14px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--text-dim);transition:transform .16s}.setting input:before{content:"";position:absolute;inset:10px 0;border-radius:999px;background:var(--surface-strong)}.setting input:checked:before{background:var(--accent)}.setting input:checked:after{transform:translate(20px);background:var(--accent-ink)}.setting input:focus-visible{outline:2px solid var(--accent)}.coin{display:inline-block;width:.9em;height:.9em;margin-right:4px;vertical-align:-.1em;border-radius:50%;background:var(--accent);box-shadow:inset 0 0 0 2px var(--accent-ink);opacity:.9}.bottom-bar .coin{margin:0 2px 0 6px}.top-bar{padding-inline:10px;gap:4px}.top-bar .pill{padding:8px;font-size:14px}:root{--meniscus: rgba(255, 255, 255, .3);--star-off: rgba(255, 255, 255, .16);--praise-shadow: rgba(0, 0, 0, .45)}.app{height:100%}.meniscus{fill:var(--meniscus)}.slot{animation:tube-in .46s cubic-bezier(.3,1.35,.6,1) both;animation-delay:calc(var(--i) * 45ms)}.slot.selected .tube{filter:drop-shadow(0 6px 10px var(--accent-shadow))}.hinted .wobbler{animation:hint-bob .7s ease-in-out infinite}.tube.done{animation:done-glow 2.4s ease-in-out infinite}.sparkles circle{fill:var(--accent-light);transform-box:fill-box;transform-origin:center;opacity:0;animation:sparkle .62s ease-out both}.stream{overflow:hidden}.stream:after{content:"";position:absolute;inset:-14px 0 0;background:repeating-linear-gradient(180deg,var(--meniscus) 0 5px,transparent 5px 14px);animation:stream-flow .26s linear infinite}.splash{position:absolute;z-index:1;width:0;height:0;pointer-events:none}.splash i{position:absolute;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--splash-colour);animation:splash .38s ease-out both}.praise{position:absolute;z-index:3;transform:translate(-50%,-100%);font-weight:800;font-size:18px;color:var(--accent);white-space:nowrap;text-shadow:0 2px 6px var(--praise-shadow);pointer-events:none;animation:praise 1.1s ease-out both}.pill.coins{animation:coin-pop .42s cubic-bezier(.3,1.6,.6,1)}.pill.chest-level{box-shadow:inset 0 0 0 2px var(--accent)}.home .logo{animation:float 3.6s ease-in-out infinite}.chest-progress{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-dim);font-size:14px}.chest-track{display:flex;align-items:center;gap:6px}.chest-track i{width:22px;height:8px;border-radius:999px;background:var(--surface-strong)}.chest-track i.filled{background:var(--accent)}.chest{width:22px;height:18px;margin-left:4px;border-radius:5px 5px 3px 3px;background:linear-gradient(180deg,var(--accent-light) 0 40%,var(--accent-ink) 40% 50%,var(--accent) 50%);box-shadow:0 0 10px var(--accent-glow)}.daily{font-size:15px;padding:10px 22px}.daily.ready{color:var(--accent-ink);background:var(--accent);animation:pulse 1.6s ease-in-out infinite}.daily-days{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.daily-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:14px;background:var(--surface);color:var(--text-dim);font-size:13px}.daily-day strong{color:var(--text);font-size:16px}.daily-day.claimed{opacity:.5}.daily-day.today{background:var(--surface-strong);box-shadow:inset 0 0 0 2px var(--accent);color:var(--text)}.stars{display:flex;justify-content:center;gap:10px;font-size:44px;line-height:1}.stars i{font-style:normal;color:var(--star-off)}.stars i.on{color:var(--accent);text-shadow:0 0 16px var(--accent-glow);animation:star-in .42s cubic-bezier(.3,1.6,.6,1) both}.sheet .star-note{text-align:center;font-size:13px}.sheet .reward{text-align:center;font-size:20px;font-weight:800;color:var(--accent);animation:star-in .42s .7s cubic-bezier(.3,1.6,.6,1) both}@keyframes tube-in{0%{opacity:0;transform:translateY(-40px) scale(.9)}to{opacity:1;transform:none}}@keyframes hint-bob{0%,to{transform:none}50%{transform:translateY(-6px)}}@keyframes done-glow{0%,to{filter:drop-shadow(0 0 8px var(--accent-glow))}50%{filter:drop-shadow(0 0 14px var(--accent-glow))}}@keyframes sparkle{0%{opacity:1;transform:none}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}@keyframes stream-flow{to{transform:translateY(14px)}}@keyframes splash{0%{transform:none;opacity:1}60%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:0}}@keyframes praise{0%{opacity:0;transform:translate(-50%,-60%) scale(.6)}20%{opacity:1;transform:translate(-50%,-110%) scale(1.1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-190%)}}@keyframes coin-pop{40%{transform:scale(1.18)}}@keyframes float{0%,to{transform:none}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--accent-shadow)}50%{box-shadow:0 0 0 10px transparent}}@keyframes star-in{0%{opacity:0;transform:scale(.3) rotate(-30deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.slot,.hinted .wobbler,.tube.done,.sparkles circle,.stream:after,.splash,.praise,.pill.coins,.home .logo,.daily.ready,.stars i.on,.sheet .reward{animation:none}.splash,.sparkles{display:none}}.languages{display:flex;flex-direction:column;gap:12px}.languages .language{display:flex;align-items:center;justify-content:flex-start;gap:16px;font-size:20px}.languages .language.chosen{box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent)}.languages .flag{width:48px;height:32px;border-radius:6px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}.languages.compact{flex-direction:row;gap:8px}.languages.compact .language{gap:8px;padding:8px 12px;font-size:15px}.languages.compact .flag{width:30px;height:20px;border-radius:4px}.setting:has(.languages){flex-wrap:wrap;gap:8px 16px;cursor:default;padding:8px 0}.setting .languages{flex:1 1 auto;justify-content:flex-end}@media(min-width:700px)and (min-aspect-ratio:3/4){.screen{position:relative;max-width:480px;margin:0 auto}}
