@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2)format("woff2"),url(/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2)format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg:#0b1f2a;--color-bg-elevated:#123041;--color-surface:#1a3d52;--color-text:#f2f7fa;--color-text-muted:#9bb4c2;--color-accent:#5eead4;--color-accent-ink:#06241f;--color-stage:#0410188c;--color-star:#f5c542;--color-danger:#ff6b6b;--color-glass:#ffffff1f;--color-glass-border:#ffffff38;--liquid-red:#e85d5d;--liquid-blue:#4d8fff;--liquid-green:#3ecf8e;--liquid-yellow:#f5c542;--liquid-purple:#a78bfa;--liquid-orange:#ff9f43;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--font-display:"Outfit", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-hero:clamp(1.75rem, 6vw, 2.5rem);--leading-tight:1.15;--leading-normal:1.45;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-tube:999px;--shadow-soft:0 8px 24px #00000059;--touch-min:48px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-med:.22s;--duration-slow:.42s;--duration-pour-tilt:.12s;--duration-pour-stream:.3s;--duration-pour-settle:.16s;--app-max-width:28rem;--header-height:3.5rem;--toolbar-height:4.25rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;max-width:100vw;height:100%;overflow-x:hidden}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-normal);overscroll-behavior:none;margin:0;padding:0}body{width:100%;max-width:100vw;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}img,svg{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{width:100%;max-width:var(--app-max-width);min-height:100vh;padding-top:var(--safe-top);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);background:radial-gradient(120% 80% at 50% -10%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 55%), var(--color-bg);grid-template-rows:auto 1fr auto;margin-inline:auto;display:grid}.app-header{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--header-height);padding:var(--space-3) var(--space-4);display:flex}.app-header__lead{gap:var(--space-1);min-width:0;display:grid}.app-header__brand{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.04em;font-weight:700;line-height:var(--leading-tight);color:inherit;box-shadow:inset 0 -.12em 0 color-mix(in srgb, var(--color-accent) 55%, transparent);margin:0;text-decoration:none}.app-header__meta{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;min-width:0;margin:0;display:flex}.app-header__meta-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-header__moves{border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);background:var(--color-glass);min-height:1.5rem;color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;padding:.1rem .55rem;font-weight:600;display:inline-flex}.app-header__nav{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.app-header__link{color:var(--color-text-muted);font-size:var(--text-sm);min-height:var(--touch-min);padding-inline:var(--space-2);align-items:center;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.app-header__link:hover,.app-header__link:focus-visible{color:var(--color-text)}.app-header__link--active{color:var(--color-accent)}.app-header__link--active:after{content:"";left:var(--space-2);right:var(--space-2);background:var(--color-accent);border-radius:999px;height:2px;position:absolute;bottom:.45rem}.app-header__link--btn{cursor:pointer;font:inherit;background:0 0;border:0}.app-header__account{margin-inline-start:var(--space-1)}.app-header--play .app-header__brand{font-size:var(--text-lg)}.app-header__menu{flex-shrink:0;position:relative}.app-header__menu-summary{min-height:var(--touch-min);min-width:var(--touch-min);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-glass);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:0;list-style:none;display:inline-flex}.app-header__menu-summary::-webkit-details-marker{display:none}.app-header__menu-panel{top:calc(100% + var(--space-2));z-index:12;min-width:10.5rem;padding:var(--space-2);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-soft);display:grid;position:absolute;right:0}.app-header__menu-panel .app-header__link{border-radius:var(--radius-sm);width:100%;padding-inline:var(--space-3);justify-content:flex-start}.app-header__menu-panel .app-header__link--active:after{display:none}.app-header__menu-panel .app-header__link--active{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}.app-banner{margin:0 var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.app-banner--warn{background:color-mix(in srgb, var(--color-danger) 18%, transparent);color:var(--color-text)}.app-main{min-height:0;padding:var(--space-2) var(--space-4) var(--space-4);overscroll-behavior:none;touch-action:none;flex-direction:column;display:flex}.app-toolbar{justify-content:center;align-items:center;gap:var(--space-3);min-height:var(--toolbar-height);padding:var(--space-3) var(--space-4) var(--space-4);display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-min);min-width:var(--touch-min);padding:var(--space-2) var(--space-4);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-glass);color:var(--color-text);transition:transform var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:600;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--primary{background:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 80%, #fff);color:var(--color-accent-ink)}.btn--ghost{background:0 0}.btn__icon{flex-shrink:0;display:block}.board-wrap{border-radius:var(--radius-lg);background:radial-gradient(90% 55% at 50% 100%, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent 62%), radial-gradient(120% 80% at 50% 0%, #ffffff0f, transparent 50%), var(--color-stage);flex:1;width:100%;min-height:0;display:flex;position:relative}.board-wrap:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#00000073,#0000 72%);border-radius:50%;height:1.1rem;position:absolute;bottom:.35rem;left:8%;right:8%}.board{--tube-count:8;--tube-gap:clamp(.35rem, calc(1.1rem - var(--tube-count) * .05rem), .75rem);--tube-width:clamp(2.5rem, calc((100% - (var(--tube-count) - 1) * var(--tube-gap)) / var(--tube-count)), 4.25rem);z-index:1;justify-content:center;align-items:flex-end;gap:var(--tube-gap);width:100%;min-height:0;padding-block:var(--space-4);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;display:flex;position:relative}.board--coach .tube:nth-child(-n+2){animation:tube-hint-pulse 1.1s var(--ease-out) infinite}.tube{width:var(--tube-width);min-width:0;height:clamp(14rem,54dvh,22rem);padding:var(--space-2);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-tube) var(--radius-tube);background:linear-gradient(180deg, #ffffff2e, transparent 30%), linear-gradient(90deg, #ffffff1a, transparent 18%, transparent 82%, #0000002e), color-mix(in srgb, var(--color-bg-elevated) 78%, transparent);box-shadow:var(--shadow-soft), inset 0 -10px 14px #00000038, inset 0 1px 0 #ffffff47;transition:transform var(--duration-med) var(--ease-spring), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-med) var(--ease-out);border:2px solid #ffffff52;flex-direction:column-reverse;flex-shrink:0;justify-content:flex-start;display:flex;position:relative}.tube--selected{border-color:var(--color-accent);box-shadow:var(--shadow-soft), 0 0 0 2px color-mix(in srgb, var(--color-accent) 35%, transparent), inset 0 -10px 14px #00000038;transform:translateY(-.75rem)}.tube--shake{animation:tube-shake var(--duration-med) var(--ease-out)}.tube--reject{border-color:color-mix(in srgb, var(--color-danger) 75%, transparent);box-shadow:var(--shadow-soft), 0 0 0 2px color-mix(in srgb, var(--color-danger) 35%, transparent)}.tube--complete{border-color:color-mix(in srgb, var(--color-accent) 70%, transparent)}.tube--complete-pop{animation:tube-complete-pop var(--duration-slow) var(--ease-spring)}.tube--pouring{transform-origin:bottom;transform:rotate(-28deg)translateY(-.55rem)translate(-.15rem)}.tube--receiving{border-color:color-mix(in srgb, var(--color-accent) 45%, transparent)}.tube--hint{animation:tube-hint-pulse .9s var(--ease-out)}.tube--hint-from{border-color:color-mix(in srgb, var(--color-accent) 80%, transparent)}.tube--hint-to{border-color:color-mix(in srgb, var(--liquid-yellow) 75%, transparent)}.pour-stream{z-index:5;pointer-events:none;border-radius:var(--radius-sm);opacity:.95;transform-origin:top;filter:saturate(1.15)drop-shadow(0 0 6px #ffffff59);clip-path:polygon(28% 0,72% 0,58% 100%,42% 100%);background-blend-mode:soft-light;background-image:linear-gradient(#fff6,#0000 40%,#0000002e);position:absolute}.pour-stream--stream{animation:pour-stream-fall var(--duration-pour-stream) var(--ease-out) forwards}.pour-stream--settle{opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.pour-stream--red{background:var(--liquid-red)}.pour-stream--blue{background:var(--liquid-blue)}.pour-stream--green{background:var(--liquid-green)}.pour-stream--yellow{background:var(--liquid-yellow)}.pour-stream--purple{background:var(--liquid-purple)}.pour-stream--orange{background:var(--liquid-orange)}.tube__slot{flex:1 1 calc(100% / var(--tube-capacity,6));border-radius:var(--radius-sm);width:100%;transition:background var(--duration-med) var(--ease-out);position:relative}.tube__slot+.tube__slot{margin-bottom:2px}.tube__slot--red{background:linear-gradient(180deg, #ffffff61, transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--liquid-red) 88%, #fff), var(--liquid-red) 55%, color-mix(in srgb, var(--liquid-red) 72%, #000))}.tube__slot--blue{background:linear-gradient(180deg, #ffffff61, transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--liquid-blue) 88%, #fff), var(--liquid-blue) 55%, color-mix(in srgb, var(--liquid-blue) 72%, #000))}.tube__slot--green{background:linear-gradient(180deg, #ffffff61, transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--liquid-green) 88%, #fff), var(--liquid-green) 55%, color-mix(in srgb, var(--liquid-green) 72%, #000))}.tube__slot--yellow{background:linear-gradient(180deg, #ffffff61, transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--liquid-yellow) 88%, #fff), var(--liquid-yellow) 55%, color-mix(in srgb, var(--liquid-yellow) 72%, #000))}.tube__slot--purple{background:linear-gradient(180deg, #ffffff61, transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--liquid-purple) 88%, #fff), var(--liquid-purple) 55%, color-mix(in srgb, var(--liquid-purple) 72%, #000))}.tube__slot--orange{background:linear-gradient(180deg, #ffffff61, transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--liquid-orange) 88%, #fff), var(--liquid-orange) 55%, color-mix(in srgb, var(--liquid-orange) 72%, #000))}.tube__slot--preview{opacity:.9;animation:liquid-settle var(--duration-pour-settle) var(--ease-spring)}.tube__slot--surface:after{content:"";pointer-events:none;background:#ffffff52;border-radius:50%;height:7px;position:absolute;top:-3px;left:6%;right:6%;box-shadow:0 1px #0000001f}.board-skeleton{--tube-count:8;--tube-gap:clamp(.35rem, calc(1.1rem - var(--tube-count) * .05rem), .75rem);--tube-width:clamp(2.5rem, calc((100% - (var(--tube-count) - 1) * var(--tube-gap)) / var(--tube-count)), 4.25rem);justify-content:center;align-items:flex-end;gap:var(--tube-gap);padding-block:var(--space-4);flex:1;display:flex}.board-skeleton__tube{width:var(--tube-width);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-tube) var(--radius-tube);background:color-mix(in srgb, var(--color-surface) 55%, transparent);height:clamp(14rem,54dvh,22rem);animation:1.2s ease-in-out infinite skeleton-pulse}.onboarding-tip{justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 auto var(--space-3);max-width:22rem;padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-bg-elevated) 92%, transparent);box-shadow:var(--shadow-soft);display:flex;position:relative}.onboarding-tip:after{content:"";border-right:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);background:color-mix(in srgb, var(--color-bg-elevated) 92%, transparent);width:.7rem;height:.7rem;position:absolute;bottom:-.4rem;left:50%;transform:translate(-50%)rotate(45deg)}.onboarding-tip__text{color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0;font-weight:600}.onboarding-tip__dismiss{min-height:2.25rem;padding-inline:var(--space-3);flex-shrink:0}.level-error{place-content:center;gap:var(--space-4);text-align:center;padding:var(--space-5);flex:1;display:grid}.level-error__text{color:var(--color-text-muted);margin:0}.win-banner{z-index:20;padding:var(--space-5);background:color-mix(in srgb, var(--color-bg) 72%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:win-fade-in var(--duration-slow) var(--ease-out);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.win-banner__particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.win-banner__particle{opacity:0;width:.45rem;height:.45rem;animation:win-particle .9s var(--ease-out) forwards;animation-delay:var(--delay,0s);background:var(--p-color,var(--color-accent));border-radius:999px;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.win-banner__card{z-index:1;gap:var(--space-4);width:min(100%,20rem);padding:var(--space-6) var(--space-5);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-soft);text-align:center;animation:win-pop var(--duration-slow) var(--ease-spring);display:grid;position:relative}.win-banner__title{font-family:var(--font-display);font-size:var(--text-hero);line-height:var(--leading-tight);margin:0}.win-banner__stars{justify-content:center;gap:var(--space-2);min-height:1.75rem;display:flex}.win-banner__star{width:1.6rem;height:1.6rem;color:color-mix(in srgb, var(--color-text-muted) 55%, transparent)}.win-banner__star--lit{color:var(--color-star);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-star) 45%, transparent))}.win-banner__text{color:var(--color-text-muted);margin:0}.win-banner__actions{gap:var(--space-3);display:grid}.win-banner__actions .btn--primary{width:100%}.win-banner__secondary{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.auth-shell .app-main,.auth-main{touch-action:auto;overscroll-behavior:auto}.auth-main{gap:var(--space-4);padding:var(--space-5) var(--space-4);align-content:start;display:grid}.auth-title{font-size:var(--text-hero);line-height:var(--leading-tight);margin:0}.auth-lede{color:var(--color-text-muted);margin:0}.auth-form{gap:var(--space-3);display:grid}.auth-label{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600;display:grid}.auth-input{width:100%;min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text);font:inherit}.auth-divider{color:var(--color-text-muted);font-size:var(--text-sm);place-items:center;display:grid}.auth-oauth{gap:var(--space-3);display:grid}.auth-google-btn{min-height:var(--touch-min);justify-content:center;display:flex}.auth-status{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.auth-error{font-size:var(--text-sm);color:var(--color-danger);margin:0}.ranks-main{gap:var(--space-4);padding:var(--space-4);touch-action:auto;overscroll-behavior:auto;align-content:start;display:grid}.ranks-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.ranks-tab{flex:auto}.ranks-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ranks-row{gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-glass-border);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.ranks-rank{color:var(--color-accent);font-weight:700}.ranks-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranks-score{font-variant-numeric:tabular-nums;font-weight:600}.ranks-tie{color:var(--color-text-muted);font-weight:400;font-size:var(--text-sm)}.levels-main{gap:var(--space-3);padding:var(--space-4);touch-action:auto;overscroll-behavior:auto;align-content:start;min-height:0;display:grid;overflow:auto}.levels-caption{min-height:2.5rem;color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.levels-caption__title{color:var(--color-text);font-weight:600}.levels-map{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.levels-node{aspect-ratio:1;width:100%;min-height:var(--touch-min);border:2px solid var(--color-glass-border);background:color-mix(in srgb, var(--color-surface) 70%, transparent);color:inherit;cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border-radius:999px;place-items:center;padding:0;font-weight:700;display:grid}.levels-node:hover:not(:disabled),.levels-node:focus-visible:not(:disabled){border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);transform:translateY(-1px)}.levels-node--current{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 18%, transparent);animation:tube-hint-pulse 1.2s var(--ease-out) infinite}.levels-node--done{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);color:var(--color-accent)}.levels-node--done-par{border-color:color-mix(in srgb, var(--color-star) 70%, transparent);color:var(--color-star);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-star) 25%, transparent)}.levels-node--locked{opacity:.4;cursor:not-allowed}.levels-node__order{font-size:var(--text-sm)}.levels-node__glyph{width:1.1rem;height:1.1rem;color:inherit;place-items:center;display:grid}.levels-node__glyph svg{width:100%;height:100%}.levels-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.levels-row{gap:var(--space-3);width:100%;min-height:var(--touch-min);padding:var(--space-3);border-radius:var(--radius-sm);border:0;border-bottom:1px solid var(--color-glass-border);color:inherit;text-align:start;cursor:pointer;font:inherit;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;display:grid}.levels-row:hover:not(:disabled),.levels-row:focus-visible:not(:disabled){background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.levels-row--current{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}.levels-row--completed .levels-row__icon--done{color:var(--color-accent)}.levels-row--locked{opacity:.45;cursor:not-allowed}.levels-row__order{font-variant-numeric:tabular-nums;color:var(--color-accent);min-width:3.5rem;font-weight:700}.levels-row__body{gap:var(--space-1);min-width:0;display:grid}.levels-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.levels-row__meta{font-size:var(--text-sm);color:var(--color-text-muted)}.levels-row__status{min-width:2rem;color:var(--color-text-muted);justify-content:flex-end;align-items:center;display:inline-flex}.levels-row__icon{display:block}.levels-row__icon--play{color:var(--color-accent)}.levels-row__icon--lock{color:var(--color-text-muted)}.app-toolbar .btn{min-width:4.25rem;padding-inline:var(--space-3);font-size:var(--text-xs);flex-direction:column;gap:.15rem}.app-toolbar .btn__icon{width:1.25rem;height:1.25rem}@keyframes tube-shake{0%,to{transform:translate(0)}20%{transform:translate(-.35rem)}40%{transform:translate(.35rem)}60%{transform:translate(-.25rem)}80%{transform:translate(.25rem)}}@keyframes tube-complete-pop{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes liquid-settle{0%{transform-origin:bottom;opacity:.7;transform:scaleY(.88)}70%{opacity:1;transform:scaleY(1.06)}to{opacity:1;transform:scaleY(1)}}@keyframes win-fade-in{0%{opacity:0}to{opacity:1}}@keyframes win-pop{0%{opacity:0;transform:scale(.92)translateY(.5rem)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes win-particle{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx,0px)), calc(-50% + var(--dy,-80px))) scale(1)}}@keyframes liquid-pour{0%{opacity:.65;transform:translateY(-8%)}to{opacity:1;transform:translateY(0)}}.anim-pour{animation:liquid-pour var(--duration-med) var(--ease-out)}@keyframes pour-stream-fall{0%{opacity:.25;transform:translate(0)skew(0)scaleY(.12)}to{transform:translateX(var(--stream-dx,0)) skewX(var(--stream-skew,0deg)) scaleY(1);opacity:.95}}@keyframes tube-hint-pulse{0%,to{box-shadow:var(--shadow-soft)}40%{box-shadow:var(--shadow-soft), 0 0 0 3px color-mix(in srgb, var(--color-accent) 45%, transparent)}}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.85}}
