@font-face{font-family:Pixelify Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./pixelify-sans-cyrillic-wght-normal-BfQLqnEI.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Pixelify Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./pixelify-sans-latin-ext-wght-normal-CsF3XSp0.woff2)format("woff2-variations");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:Pixelify Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./pixelify-sans-latin-wght-normal-Cbhn5ptY.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.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:Legible Digits;font-style:normal;font-weight:400;font-display:swap;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2");unicode-range:U+30-39,U+2C,U+2E}:root{--paper:#ede6d8;--paper-deep:#e3dac8;--paper-well:#f4efe4;--ink:#221d15;--ink-soft:#57503f;--ink-faint:#6b6350;--rule:#221d1538;--rule-strong:#221d158c;--pixel:"Legible Digits", "Pixelify Sans Variable", "Courier New", monospace;--mono:"IBM Plex Mono", "Courier New", monospace;--text:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--paint-yellow:#ffce00;--chip-yellow:#ffce00;--chip-orange:#f08a24;--chip-ochre:#d7a23a;--chip-red:#c7321f;--chip-magenta:#b3246a;--chip-blue:#2c2e9c;--chip-green:#1c7256;--paint-band:linear-gradient(to bottom, #ffce00 0 20%, #e8862a 20% 40%, #d93a26 40% 60%, #bb2a6c 60% 80%, #2c2e9c 80% 100%);--r:0px;--lift:3px;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-micro:.14s;--dur-fast:.22s;--dur-slow:.42s;--inset-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--inset-right:var(--safe-area-inset-right,env(safe-area-inset-right,0px));--inset-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--inset-left:var(--safe-area-inset-left,env(safe-area-inset-left,0px));--banner-h:0px;--banner-room:calc(var(--banner-h) + min(var(--banner-h), 12px))}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:var(--ink);font-family:var(--pixel);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none}.app{max-width:440px;min-height:100dvh;padding:calc(18px + var(--inset-top)) calc(20px + var(--inset-right)) calc(24px + var(--inset-bottom) + var(--banner-room)) calc(20px + var(--inset-left));flex-direction:column;margin:0 auto;display:flex}body:before{content:"";height:calc(var(--inset-top) * 1.2);z-index:30;pointer-events:none;background:var(--paper) var(--paper-texture) 0 0 / 512px 512px repeat;position:fixed;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 83%,#0000);mask-image:linear-gradient(#000 83%,#0000)}@media (prefers-contrast:more){body:before{background-image:none}}.label,.seam-label,.tube-code,.play-par,.drops-left,.puzzle-no,.puzzle-meta,.band,.target-hex{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:.76rem;font-weight:500}.menu-header{text-align:center;border-bottom:1px solid var(--rule-strong);margin-bottom:4px;padding:34px 0 10px}@media (height<=880px){.menu-header{padding-top:16px}}.menu-header h1{font-variation-settings:"opsz" 90;letter-spacing:.01em;font-size:2.8rem;font-weight:400;line-height:1}.tagline{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 12px;font-size:.74rem;font-weight:500}.sound-toggle{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--rule);border-radius:var(--r);min-height:30px;margin-bottom:14px;padding:6px 12px;font-size:.69rem;font-weight:500}.sound-toggle[aria-pressed=true]{text-decoration:line-through}.stars{align-items:center;gap:3px;display:inline-flex}.star{color:var(--rule);display:inline-flex}.star .pixel-icon{shape-rendering:crispedges;display:block}.star-on{color:var(--paint-yellow);filter:drop-shadow(1px 0 0 var(--ink)) drop-shadow(-1px 0 0 var(--ink)) drop-shadow(0 1px 0 var(--ink)) drop-shadow(0 -1px 0 var(--ink))}.result .star-on{animation:.32s steps(4,end) both star-land;animation-delay:calc(.6s + var(--star-i) * .14s)}@keyframes star-land{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.35)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.result .star-on{animation:none}}.rank-banner{border-bottom:1px solid var(--rule-strong);grid-template-columns:52px 1fr auto;align-items:center;column-gap:12px;margin-bottom:16px;padding:10px 0 14px;display:grid}.rank-name{grid-area:1/2;font-size:1.29rem;font-weight:400}.rank-stat{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);grid-area:2/2;font-size:.74rem}.rank-settings{grid-area:1/3/3;margin-bottom:0}.continue-card{text-align:left;background:var(--ink);width:100%;color:var(--paper);border-radius:var(--r);grid-template-columns:1fr auto;align-items:center;margin-bottom:10px;padding:16px;display:grid}.continue-label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.7;grid-area:1/1;font-size:.69rem}.continue-level{grid-area:2/1;font-size:1.57rem;font-weight:400}.continue-go{grid-area:1/2/3;font-size:1.46rem}.ladder-link{border:1px solid var(--rule-strong);border-radius:var(--r);width:100%;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:18px;padding:12px;font-size:.76rem}.tier-rule{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--rule-strong);margin-bottom:2px;padding:18px 0 6px;font-size:.69rem}.level-row{grid-template-columns:34px auto 1fr auto}.level-stars{grid-area:1/2/3}.level-meta{grid-area:1/3/3;padding-left:4px}.level-next{background:var(--paper-deep)}.result-verdict{align-items:center;gap:10px;display:inline-flex}.duel-link{margin-top:14px;margin-bottom:0}.duel-accept{flex-direction:column;gap:8px;margin-top:22px;display:flex}.duel-input{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;text-align:center;min-height:52px;color:var(--ink);background:var(--paper-well);border:1px solid var(--rule-strong);border-radius:var(--r);padding:15px 10px;font-size:1.12rem}.duel-input::placeholder{color:var(--ink-faint);letter-spacing:.14em}.duel-input[aria-invalid=true]{border-width:2px;border-color:#8c3a2c}.duel-error{color:#8c3a2c;font-size:.95rem;font-style:italic}.duel-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.duel-go{border-radius:var(--r);min-height:50px;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:.83rem}.duel-verdict{border:1px solid var(--rule-strong);border-radius:var(--r);text-align:center;flex-direction:column;gap:5px;padding:14px 16px;display:flex}.duel-outcome{font-size:1.4rem;font-weight:400}.duel-line{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.78rem}.duel-code{font-family:var(--mono);letter-spacing:.14em;-webkit-user-select:all;user-select:all;padding:6px 0;font-size:1.46rem;font-weight:500}.duel-win{background:var(--ink);border-color:var(--ink);color:var(--paper)}.duel-win .duel-line{color:#ede6d8bf}.daily-card{text-align:left;border:1px solid var(--ink);border-radius:var(--r);background:var(--paper);grid-template-rows:auto auto;grid-template-columns:52px 1fr auto;align-items:center;column-gap:14px;width:100%;margin-bottom:18px;padding:14px;display:grid}.daily-card:active{background:var(--paper-deep)}.daily-swatch{width:52px;height:52px;box-shadow:inset 0 2px 6px #00000038, 0 0 0 1px var(--rule);border-radius:50%;grid-area:1/1/3}.daily-title{grid-area:1/2;font-size:1.25rem;font-weight:400}.daily-meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);grid-column:2;margin-top:3px;font-size:.72rem;font-weight:500}.daily-state{text-align:right;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-area:1/3/3;font-size:.81rem}.puzzle-list{list-style:none}.puzzle-list li+li{border-top:1px solid var(--rule)}.puzzle-row{text-align:left;grid-template-rows:auto auto;grid-template-columns:34px 44px 1fr auto;align-items:center;column-gap:14px;width:100%;padding:13px 2px;display:grid}.puzzle-row:active{background:var(--paper-deep)}.puzzle-no{color:var(--ink-faint);grid-area:1/1/3}.puzzle-swatch{width:40px;height:40px;box-shadow:inset 0 2px 5px #00000038, 0 0 0 1px var(--rule);border-radius:50%;grid-area:1/2/3}.puzzle-name{letter-spacing:.005em;grid-area:1/3;font-size:1.19rem;font-weight:400}.puzzle-meta{letter-spacing:.1em;color:var(--ink-faint);grid-column:3;margin-top:2px}.puzzle-best{text-align:right;font-family:var(--mono);color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-area:1/4/3;font-size:.92rem}.play,.result{flex-direction:column;flex:1;gap:16px;display:flex}.play-header,.result-header{border-bottom:1px solid var(--rule-strong);align-items:center;gap:10px;padding-bottom:12px;display:flex}.play-title{flex:1;align-items:baseline;gap:12px;display:flex}.play-header h2,.result-header h2{font-variation-settings:"opsz" 60;font-size:1.62rem;font-weight:400}.ghost{width:48px;height:48px;color:var(--ink-soft);justify-content:center;align-items:center;margin-left:-14px;font-size:1.68rem;line-height:1;display:flex}.drops-left{font-variant-numeric:tabular-nums;letter-spacing:.1em}.target-strip{flex-direction:column;gap:7px;display:flex}.target-caption{justify-content:space-between;align-items:baseline;display:flex}.target-hex{color:var(--ink-faint);letter-spacing:.1em;text-transform:none}.target-swatch{border-radius:var(--r);height:84px;box-shadow:inset 0 2px 8px #0000002e, 0 0 0 1px var(--rule)}.compare-strip{border-radius:var(--r);height:128px;box-shadow:inset 0 2px 8px #00000024, 0 0 0 1px var(--rule);flex-direction:column;display:flex;overflow:hidden}.compare-half{background:var(--paper-well);flex:1;position:relative}.compare-half .seam-label{font-size:.63rem;bottom:5px}.readout{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:500}.well-readout{justify-content:space-between;align-items:baseline;margin-top:-6px;display:flex}.well-wrap{flex:1;justify-content:center;align-items:center;min-height:170px;display:flex}.well{aspect-ratio:1;background:var(--paper-well);width:min(56vw,220px);box-shadow:inset 0 5px 14px #00000047, 0 1px 0 #ffffff80, 0 0 0 1px var(--rule-strong);border-radius:50%;justify-content:center;align-items:center;transition:background .35s;display:flex}.well-empty{box-shadow:inset 0 5px 14px #0000001a, 0 0 0 1px var(--rule);outline:1.5px dashed var(--rule-strong);outline-offset:-12px}.well{position:relative;overflow:hidden}.well-canvas{border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.well-hint{text-align:center;max-width:72%;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:.74rem;position:relative}.play .well-wrap{flex:1 1 0;min-height:150px;position:relative;container-type:size}.play .well{width:min(56vw,220px,100cqh)}@media (height<=880px){.play{gap:12px}.play .well-compare,.play .hint-buy,.play .hint-shown{margin-bottom:0}}@media (height<=760px){.play .compare-strip{height:104px}}.rack{background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:1px;display:grid;overflow:hidden}.tube{background:var(--paper);flex-direction:column;align-items:center;gap:6px;min-height:108px;padding:12px 4px 10px;transition:background .1s;display:flex;position:relative}.tube:active{background:var(--paper-deep)}.tube:disabled{opacity:.4}.tube-paint{width:38px;height:38px;box-shadow:inset 0 -3px 6px #00000040, inset 0 2px 3px #ffffff40, 0 0 0 1px var(--rule);border-radius:50%}.pattern-0{background-image:repeating-linear-gradient(45deg,#00000057 0 2px,#0000 2px 6px)}.pattern-1{background-image:repeating-linear-gradient(-45deg,#ffffff80 0 2px,#0000 2px 6px)}.pattern-2{background-image:radial-gradient(#00000061 1.4px,#0000 1.5px);background-size:7px 7px}.pattern-3{background-image:repeating-linear-gradient(0deg,#0000004d 0 1.5px,#0000 1.5px 6px)}.tube-name{text-align:center;align-items:center;min-height:2.4em;font-size:.81rem;font-weight:400;line-height:1.2;display:flex}.tube-code{letter-spacing:.14em;color:var(--ink-faint);font-size:.67rem}.tube-strength{align-items:flex-end;gap:2px;height:9px;display:flex}.tube-strength .bar{width:4px;box-shadow:inset 0 0 0 1px var(--rule-strong);background:0 0}.tube-strength .bar:first-child{height:4px}.tube-strength .bar:nth-child(2){height:7px}.tube-strength .bar:nth-child(3){height:9px}.tube-strength .bar-on{background:var(--ink);box-shadow:none}.tube-count{min-width:21px;height:21px;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);border-radius:50%;justify-content:center;align-items:center;padding:0 4px;font-size:.78rem;font-weight:500;display:flex;position:absolute;top:7px;right:7px}.tube-count.has-drops{background:var(--ink);color:var(--paper)}.actions{gap:10px;display:flex}.actions button{border-radius:var(--r);min-height:50px;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;flex:1;font-size:.83rem;font-weight:500;transition:opacity .15s}.actions button:disabled{opacity:.35}.primary{background:var(--chip-yellow);color:var(--ink);font-weight:600}.primary:active{background:#e6b800}.primary:disabled{background:var(--paper-deep);color:var(--ink-faint)}.secondary{border:1px solid var(--rule-strong);color:var(--ink-soft)}.secondary:active{background:var(--paper-deep)}.result-header{justify-content:space-between}.band{border:1px solid var(--rule-strong);border-radius:var(--r);letter-spacing:.2em;padding:6px 12px}.band-perfect,.band-flawless{background:var(--ink);border-color:var(--ink);color:var(--paper)}.seam-block{border-radius:var(--r);height:150px;box-shadow:inset 0 2px 8px #00000026, 0 0 0 1px var(--rule);display:flex;position:relative;overflow:hidden}.seam-half{flex:1;position:relative}.seam-label{text-align:center;color:#00000080;mix-blend-mode:multiply;font-size:.67rem;position:absolute;bottom:9px;left:0;right:0}.seam-divider{background:#0000008c;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.new-best{letter-spacing:.2em;border-bottom:2px solid var(--ink);color:var(--ink);margin-left:14px;padding-bottom:2px;font-size:.69rem}.match-head{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:baseline;margin-bottom:5px;font-size:.75rem;display:flex}.match-head .new-best{margin-left:0;font-size:.66rem}.match-row{align-items:center;gap:12px;display:flex}.match-track{border:2px solid var(--ink);background:var(--paper-well);height:30px;box-shadow:3px 3px 0 var(--ink);flex:1;position:relative;overflow:hidden}.match-fill{will-change:transform;background: linear-gradient(to bottom, #ffffff6b 0 14%, #fff0 34% 70%, #00000029 100%),  repeating-linear-gradient(100deg, #fff0 0 26px, #ffffff29 26px 34px, #fff0 34px 60px), var(--paint);background-size:100% 100%,120px 100%,auto;animation:1.6s linear infinite match-flow;position:absolute;inset:0}.match-wave{background:linear-gradient(to bottom, #ffffff6b 0 14%, #fff0 34% 70%, #00000029 100%), var(--paint);width:12px;animation:.9s linear infinite match-slosh;position:absolute;top:0;bottom:0;right:-11px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 32' preserveAspectRatio='none'%3E%3Cpath d='M0 0H6C11 4 11 12 6 16S1 28 6 32H0Z'/%3E%3C/svg%3E") 0 0/100% 32px repeat-y;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 32' preserveAspectRatio='none'%3E%3Cpath d='M0 0H6C11 4 11 12 6 16S1 28 6 32H0Z'/%3E%3C/svg%3E") 0 0/100% 32px repeat-y}.match-full .match-wave{opacity:0}.match-gloss{opacity:0;pointer-events:none;background:linear-gradient(100deg,#fff0 0%,#fff9 50%,#fff0 100%);width:40%;position:absolute;top:0;bottom:0;left:-45%}.match-full .match-gloss{animation:.9s ease-out both match-gloss}.match-value{text-align:right;min-width:2.6ch;font-family:var(--pixel);color:var(--ink);font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:400;line-height:1}.match-full+.match-value{animation:.35s ease-out match-pop}@keyframes match-flow{to{background-position:0 0,120px 0,0 0}}@keyframes match-slosh{to{-webkit-mask-position:0 32px;mask-position:0 32px}}@keyframes match-gloss{0%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(370%)}}@keyframes match-pop{50%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.match-fill,.match-wave,.match-full .match-gloss,.match-full+.match-value{animation:none}}.scorecard{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong)}.score-row{justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;font-size:1.06rem;display:flex}.score-row+.score-row{border-top:1px solid var(--rule)}.score-detail{font-family:var(--mono);color:var(--ink-soft);font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:.83rem;display:flex}.score-total{font-weight:400}.score-total span:last-child{font-family:var(--pixel);font-variation-settings:"opsz" 90;font-size:1.68rem;font-weight:400}.alchemist{image-rendering:pixelated;flex:none}.coach{border-left:2px solid var(--rule-strong);color:var(--ink-soft);grid-template-columns:56px 1fr;align-items:start;gap:8px 14px;padding:2px 0 2px 14px;font-size:1.1rem;font-style:italic;line-height:1.5;display:grid;position:relative}.coach-face{grid-area:1/1/span 3;align-self:center}.coach p{grid-column:2}.par-recipe{font-style:normal;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding-top:2px;font-size:.78rem}.par-recipe strong{color:var(--ink);font-weight:500}.settings-note{color:var(--ink-soft);border-left:2px solid var(--rule-strong);padding-left:14px;font-size:1.03rem;font-style:italic;line-height:1.5}.settings-list{border-top:1px solid var(--rule-strong)}.settings-row{text-align:left;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:56px;padding:15px 2px;display:flex}.settings-text{flex-direction:column;gap:3px;display:flex}.settings-name{font-size:1.14rem;font-weight:400}.settings-blurb{color:var(--ink-soft);font-size:.92rem;line-height:1.35}.switch{border:1px solid var(--rule-strong);background:var(--paper-deep);border-radius:13px;flex:none;align-items:center;width:46px;height:26px;padding:2px;transition:background .18s;display:flex}.switch-knob{background:var(--ink-faint);border-radius:50%;width:20px;height:20px;transition:transform .18s cubic-bezier(.2,.7,.2,1),background .18s}.switch-on{background:var(--ink);border-color:var(--ink)}.switch-on .switch-knob{background:var(--paper);transform:translate(20px)}.pour-canvas{pointer-events:none;z-index:40;width:100vw;height:100vh;position:fixed;inset:0}.tube{transition:transform .16s cubic-bezier(.2,.7,.2,1),background .1s}.tube-pouring{z-index:2;transform:rotate(-8deg)translateY(-3px)}.tube-pouring .tube-paint{box-shadow:inset 0 -3px 6px #00000040, inset 0 2px 3px #ffffff40, 0 0 0 1px var(--rule), 0 0 0 4px #221d151f}.reveal-left{animation:.34s cubic-bezier(.2,.7,.2,1) both slide-in-left}.reveal-right{animation:.34s cubic-bezier(.2,.7,.2,1) both slide-in-right}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24%)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24%)}}.reveal-seam{animation:.5s .3s both seam-dissolve}@keyframes seam-dissolve{0%{opacity:1}to{opacity:var(--seam,1)}}.reveal-band{animation:.3s .7s both fade-up}.reveal-stage{animation:.45s cubic-bezier(.2,.7,.2,1) both fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:1ms!important;animation-delay:0s!important}}.coach p,.settings-note,.settings-blurb,.duel-error{font-family:var(--mono);font-size:.92rem;font-style:normal;line-height:1.6}.coach p{font-size:.96rem}.continue-card,.daily-card,.ladder-link,.duel-verdict,.scorecard,.actions button,.duel-input,.sound-toggle{border:2px solid var(--ink);box-shadow:var(--lift) var(--lift) 0 var(--ink)}.continue-card:active,.daily-card:active,.ladder-link:active,.actions button:not(:disabled):active,.sound-toggle:active{transform:translate(var(--lift), var(--lift));box-shadow:none}.actions button:disabled{box-shadow:var(--lift) var(--lift) 0 var(--rule);border-color:var(--rule-strong)}.scorecard{background:var(--paper);padding:2px 14px}.duel-verdict.duel-win{box-shadow:var(--lift) var(--lift) 0 var(--ink-soft)}.target-swatch,.puzzle-swatch,.daily-swatch,.tube-paint,.seam-block,.compare-strip,.well{box-shadow:none;border:2px solid var(--ink)}.puzzle-swatch,.daily-swatch,.tube-paint{border-width:2px}.well{box-shadow:inset 0 5px 14px #00000042}.well-empty{box-shadow:inset 0 5px 14px #00000017}.rack{border:2px solid var(--ink);background:var(--ink);gap:2px}.tube-strength .bar{box-shadow:none;border:1px solid var(--rule-strong)}.tube-strength .bar-on{border-color:var(--ink)}.tube{gap:4px;padding-bottom:8px}.tube-code{order:3}.tube-strength{order:4;margin-top:-1px}.menu-header h1{letter-spacing:.02em;font-variation-settings:normal}.score-total span:last-child,.continue-level,.duel-outcome,.rank-name{font-variation-settings:normal}.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}.flask-mark{transform-origin:50% 90%;will-change:transform;justify-content:center;margin:6px 0 2px;animation:.42s steps(2,end) infinite flask-shake;display:flex}@keyframes flask-shake{0%{transform:translate(0)rotate(-3.5deg)}25%{transform:translate(-3px,1px)rotate(2.5deg)}50%{transform:translate(2px,-2px)rotate(3.5deg)}75%{transform:translate(-1px,2px)rotate(-2deg)}to{transform:translate(0)rotate(-3.5deg)}}.flask-mark canvas{image-rendering:pixelated;display:block}@media (prefers-reduced-motion:reduce){.flask-mark{animation:none}}.avatar-picker{border-bottom:1px solid var(--rule-strong);grid-template-columns:84px 1fr;align-items:start;gap:16px;padding-bottom:18px;display:grid}.avatar-preview{border:2px solid var(--ink);box-shadow:var(--lift) var(--lift) 0 var(--ink);background:var(--paper-well);line-height:0}.avatar-controls{flex-direction:column;gap:10px;display:flex}.avatar-row{flex-direction:column;gap:5px;display:flex}.avatar-swatches{flex-wrap:wrap;gap:6px;display:flex}.avatar-swatch{border:2px solid var(--rule-strong);width:30px;height:30px}.avatar-swatch.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--paper)}.chip{text-align:left;width:100%;color:var(--chip-ink,var(--ink));background:var(--chip,var(--paper-well));border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--lift) var(--lift) 0 var(--ink);transition:transform var(--dur-micro) var(--ease-out);grid-template-columns:auto 1fr auto;align-items:center;column-gap:14px;padding:12px 14px;display:grid}.chip:active{transform:translate(var(--lift), var(--lift));box-shadow:none}.chip-yellow{--chip:var(--chip-yellow)}.chip-orange{--chip:var(--chip-orange)}.chip-ochre{--chip:var(--chip-ochre)}.chip-red{--chip:var(--chip-red);--chip-ink:var(--paper-well)}.chip-magenta{--chip:var(--chip-magenta);--chip-ink:var(--paper-well)}.chip-blue{--chip:var(--chip-blue);--chip-ink:var(--paper-well)}.chip-green{--chip:var(--chip-green);--chip-ink:var(--paper-well)}.pixel-icon{shape-rendering:crispedges;flex:none}.chip-text{display:contents}.chip>.pixel-icon{grid-area:1/1/3}.chip-name{grid-area:1/2;font-size:1.25rem;line-height:1.15}.chip-sub{font-family:var(--text);grid-area:2/2/auto/4;margin-top:3px;font-size:.92rem;font-weight:500;line-height:1.3}.chip-state{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-variant-numeric:tabular-nums;grid-area:1/3;align-self:center;font-size:.72rem;font-weight:600}.chip-play{margin-bottom:12px;padding:16px}.chip-play .chip-name{font-size:1.7rem}.noads-link{min-height:36px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--chip-yellow);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);margin-right:auto;padding:6px 12px;font-size:.72rem;font-weight:600}.noads-link:active{box-shadow:none;transform:translate(2px,2px)}.noads-chip{width:calc(100% - var(--lift));margin:4px 0 14px}div.noads-chip{box-shadow:none}.shelf-grid{padding:0 var(--lift) var(--lift) 0;grid-template-columns:1fr 1fr;gap:12px;display:grid}.tile{flex-direction:column;align-items:flex-start;gap:5px;padding:12px;display:flex}.tile .chip-name{margin-top:3px;font-size:1.08rem}.tile .chip-sub{font-size:.84rem}.shelf-grid>.tile:last-child:nth-child(odd){grid-column:span 2}.play-card .continue-label{font-size:.86rem}.mode-list{padding-right:var(--lift);flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.mode-card{text-align:left;border:1px solid var(--ink);border-radius:var(--r);background:var(--paper);grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:12px;width:100%;padding:14px;display:grid}.mode-card:active{background:var(--paper-deep)}.mode-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.mode-primary:active{background:#342c20}.mode-swatch{width:22px;height:22px;box-shadow:inset 0 2px 4px #00000038, 0 0 0 1px var(--rule);border-radius:50%;grid-area:1/1;align-self:center}.mode-name{grid-area:1/2;font-size:1.25rem;font-weight:400}.mode-state{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums;grid-area:1/3;font-size:.76rem;font-weight:500}.mode-primary .mode-state{color:var(--paper-deep)}.mode-how{color:var(--ink-soft);grid-area:2/2/auto/4;margin-top:6px;font-size:.87rem;line-height:1.5}.mode-primary .mode-how{color:var(--paper-deep)}.mode-meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);grid-area:3/2/auto/4;margin-top:7px;font-size:.7rem;font-weight:500}.mode-primary .mode-meta{color:var(--paper-deep);opacity:.75}.play-clock{align-items:center;gap:10px;margin-bottom:10px;display:flex;position:relative}.clock{border:1px solid var(--rule-strong);border-radius:var(--r);flex:1;grid-template-columns:auto 1fr auto;align-items:center;column-gap:10px;padding:7px 10px;display:grid}.clock-time{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--ink);min-width:3.4em;font-size:1.02rem;font-weight:500}.clock-track{background:var(--paper-deep);height:6px;box-shadow:inset 0 0 0 1px var(--rule);position:relative;overflow:hidden}.clock-fill{background:var(--ink);height:100%;display:block}.clock-note{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem;font-weight:500}.clock-urgent{border-color:var(--ink);animation:1s steps(2,end) infinite clock-pulse}.clock-urgent .clock-time{font-size:1.18rem}.clock-held{opacity:.55}@keyframes clock-pulse{0%,to{background:0 0}50%{background:var(--paper-deep)}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.target-deal{animation:deal-in var(--dur-fast) var(--ease-spring) both}@keyframes deal-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}.fv{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:7px;animation:1.1s linear both fv-hold;display:flex;position:absolute;inset:0}@keyframes fv-hold{0%,74%{opacity:1}to{opacity:0}}.fv-ring{aspect-ratio:1;border:2px solid var(--ink);width:min(56vw,220px);animation:fv-ring .72s var(--ease-out) both;border-radius:50%;position:absolute}.fv-ring-late{animation-delay:.12s}.fv-ring-almost{border-width:1.5px}@keyframes fv-ring{0%{opacity:.85;transform:scale(.84)}to{opacity:0;transform:scale(1.5)}}.fv-word{background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);box-shadow:var(--lift) var(--lift) 0 var(--ink);animation:fv-word var(--dur-fast) var(--ease-spring) both;padding:6px 15px;font-size:1.5rem;line-height:1.1;position:relative}.fv-word-perfect{background:var(--ink);color:var(--paper);box-shadow:var(--lift) var(--lift) 0 var(--rule-strong)}.fv-word-miss{border-color:var(--rule-strong);box-shadow:none;animation:fv-shake .34s var(--ease-out) both}@keyframes fv-word{0%{opacity:0;transform:scale(.72)}}@keyframes fv-shake{0%{opacity:0;transform:translate(0)}18%{opacity:1}30%{transform:translate(-6px)}50%{transform:translate(5px)}72%{transform:translate(-3px)}to{opacity:1;transform:translate(0)}}.fv-delta{background:var(--paper);border:1px solid var(--rule-strong);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-soft);animation:fv-word var(--dur-fast) var(--ease-out) 90ms both;padding:3px 8px;font-size:.8rem;font-weight:500;position:relative}.clock-chip{pointer-events:none;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:10px}.clock-chip span{font-family:var(--mono);letter-spacing:.06em;font-variant-numeric:tabular-nums;background:var(--ink);color:var(--paper);white-space:nowrap;animation:chip-land 1s var(--ease-spring) both;padding:5px 9px;font-size:.92rem;font-weight:500}@keyframes chip-land{0%{opacity:0;transform:translateY(12px)scale(.7)}22%{opacity:1;transform:translateY(0)scale(1.09)}34%{transform:translateY(0)scale(1)}76%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-7px)}}.clock-gain{animation:clock-gain var(--dur-slow) var(--ease-spring) both}@keyframes clock-gain{0%{transform:scale(1)}38%{transform:scale(1.17)}to{transform:scale(1)}}.clock-sweep{pointer-events:none;background:var(--paper);transform-origin:0;animation:clock-sweep .54s var(--ease-out) both;position:absolute;inset:0}@keyframes clock-sweep{0%{opacity:.65;transform:scaleX(0)}to{opacity:0;transform:scaleX(1)}}.clock-warn{box-shadow:inset 0 0 0 1px var(--rule-strong)}.clock-warn .clock-time{font-size:1.1rem}.clock-urgent{box-shadow:inset 0 0 0 2px var(--ink);border-color:var(--ink)}@media (prefers-reduced-motion:reduce){.fv,.fv-word,.fv-delta,.clock-chip span,.target-deal{opacity:1!important;animation:none!important;transform:none!important}.fv-ring,.clock-sweep{display:none}}.run-strip{border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--paper-well);justify-content:space-between;gap:10px;margin-bottom:12px;padding:9px 12px;display:flex}.run-strip-item{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem;font-weight:500}.run-strip-item strong{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.run-summary{border-bottom:1px solid var(--rule-strong);grid-template-columns:64px 1fr;align-items:center;column-gap:14px;margin-bottom:18px;padding:18px 0 20px;display:grid}.run-headline{grid-area:1/2;font-size:1.35rem;font-weight:400}.run-total{font-family:var(--mono);font-variant-numeric:tabular-nums;grid-area:2/2;font-size:2.1rem;font-weight:500;line-height:1.1}.run-total-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);grid-area:3/2;font-size:.7rem;font-weight:500}@media (width<=410px){.rack-four .tube-name{font-size:.72rem}}.rack-tight{grid-template-columns:repeat(var(--rack-cols,5), minmax(0, 1fr))}.rack-tight .tube{gap:4px;min-height:94px;padding:10px 2px 8px}.rack-tight .tube-paint{width:28px;height:28px}.rack-tight .tube-name{overflow-wrap:anywhere;width:100%;min-height:2.6em;font-size:.66rem}.rack-tight .tube-code{display:none}.rack-tight .tube-count{min-width:18px;height:18px;font-size:.7rem;top:4px;right:4px}.shelf-link{text-align:left;border:1px solid var(--rule-strong);border-radius:var(--r);justify-content:space-between;align-items:baseline;gap:12px;width:100%;margin-bottom:8px;padding:13px 14px;display:flex}.today-card{text-align:left;border:2px solid var(--ink);border-radius:var(--r);background:var(--paper-well);width:100%;box-shadow:var(--lift) var(--lift) 0 var(--ink);transition:transform var(--dur-micro) var(--ease-out);grid-template-rows:auto auto;grid-template-columns:44px 1fr auto;align-items:center;gap:2px 12px;margin-bottom:12px;padding:12px 14px;display:grid}.today-card:active{transform:translate(var(--lift), var(--lift));box-shadow:none}.today-swatch{border:1px solid var(--ink);background:var(--paper-deep);grid-area:1/1/3;width:44px;height:44px}.today-name{white-space:nowrap;grid-area:1/2;font-size:1.05rem}.today-state{white-space:nowrap;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);grid-area:1/3;font-size:.7rem}.today-streak{font-family:var(--mono);color:var(--ink-soft);grid-area:2/2/auto/4;font-size:.78rem;line-height:1.4}.today-at-risk .today-streak{color:var(--ink);font-weight:500}.shelf-link:active{background:var(--paper-deep)}.shelf-name{font-size:1.1rem}.shelf-meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:500}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;margin:12px 0 20px;display:grid}.cat-cell{text-align:left;flex-direction:column;gap:5px;padding:0;display:flex}.cat-swatch{aspect-ratio:3/2;border:1px solid var(--rule-strong);width:100%;box-shadow:var(--lift) var(--lift) 0 var(--rule)}.cat-swatch-empty{box-shadow:none;font-family:var(--mono);color:var(--ink-faint);border-style:dashed;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.cat-empty .cat-name{color:var(--ink-faint);font-style:italic}.cat-meta{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:.66rem;font-weight:500}.cat-hero{border:1px solid var(--ink);width:100%;height:148px;box-shadow:var(--lift) var(--lift) 0 var(--ink);margin-bottom:20px}.cat-facts{border-bottom:1px solid var(--rule-strong);flex-wrap:wrap;gap:18px;margin-bottom:14px;padding-bottom:14px;display:flex}.cat-fact{font-family:var(--mono);color:var(--ink);flex-direction:column;gap:3px;font-size:.84rem;display:flex}.cat-note{color:var(--ink-soft);margin-bottom:20px;font-size:1rem;line-height:1.65}.cat-chip{vertical-align:-2px;width:14px;height:14px;box-shadow:0 0 0 1px var(--rule-strong);margin-right:7px;display:inline-block}.settings-note.lessons-intro{font-family:var(--text);letter-spacing:0;color:var(--ink);font-size:1rem;font-style:normal;line-height:1.55}.lesson-row{grid-template-columns:34px 1fr auto}.lesson-title{grid-area:1/2;font-size:1.05rem}.lesson-blurb{font-family:var(--text);color:var(--ink-soft);grid-area:2/2;margin-top:3px;font-size:.92rem;line-height:1.45}.lesson-row .puzzle-best{grid-area:1/3/3}.lesson-body p{font-family:var(--text);color:var(--ink);margin-bottom:16px;font-size:1.08rem;line-height:1.62}.lesson-heading{margin-top:2px;font-size:1.45rem;font-weight:400;line-height:1.15}.lesson-chapter{margin-top:6px}.lesson-chapter-head{border-bottom:1px solid var(--rule-strong);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:6px;display:flex}.lesson-chapter-title{font-size:1.2rem;font-weight:400}.lesson-chapter-blurb{font-family:var(--text);color:var(--ink-soft);margin:8px 0 2px;font-size:.92rem;line-height:1.5}.lesson-row .lesson-mark{font-family:var(--mono);color:var(--ink-faint);grid-area:1/3/3;align-self:center}.lesson-done .lesson-mark{color:var(--ink)}.fig{margin:2px 0 20px}.fig-caption{font-family:var(--text);color:var(--ink-soft);margin-top:8px;font-size:.9rem;line-height:1.5}.fig-cell{flex-direction:column;align-items:center;min-width:0;display:flex}.fig-label{white-space:pre-line;font-family:var(--mono);letter-spacing:.02em;color:var(--ink-soft);text-align:center;overflow-wrap:anywhere;margin-top:5px;font-size:.72rem;line-height:1.3;display:block}.fig-swatch{border:1px solid var(--ink);width:56px;height:56px;display:block}.fig-swatch-result{width:72px;height:72px}.fig-mix{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:6px;display:flex}.fig-mix-term{align-items:flex-start;gap:6px;display:flex}.fig-op{height:56px;font-family:var(--mono);color:var(--ink-soft);align-items:center;font-size:1.1rem;display:flex}.fig-mix>.fig-op{height:72px}.fig-ramp{border:1px solid var(--ink);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.fig-ramp-cell{flex-direction:column;min-width:0;display:flex}.fig-ramp-swatch{height:56px;display:block}.fig-ramp .fig-label{border-top:1px solid var(--ink);background:var(--paper-well);margin:0;padding:4px 0}.fig-swatches{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:10px;display:grid}.fig-pairs,.fig-delta,.fig-contrast,.fig-light{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fig-pairs .fig-swatch{width:100%;height:72px}.fig-delta-pair{flex-direction:column;min-width:0;display:flex}.fig-seam{border:1px solid var(--ink);height:48px;display:flex}.fig-seam>span{flex:1}.fig-ground{aspect-ratio:1;border:1px solid var(--ink);justify-content:center;align-items:center;display:flex}.fig-centre{aspect-ratio:1;width:34%}.fig-wheel{width:100%;max-width:340px;margin:0 auto;display:block}.fig-wheel-ring{fill:none;stroke:var(--rule-strong);stroke-width:1px}.fig-wheel-ring-inner{stroke:var(--rule);stroke-dasharray:3 3}.fig-wheel-axis{stroke:var(--rule);stroke-width:1px}.fig-wheel-dot{stroke:var(--ink);stroke-width:1.5px}.fig-wheel-text,.fig-cones-text{font-family:var(--mono);fill:var(--ink-soft);font-size:9px}.fig-light-panel{border:1px solid var(--ink);width:100%;display:block}.fig-cones{width:100%;display:block}.fig-glaze-ground{border:1px solid var(--ink);background:repeating-linear-gradient(90deg, var(--ink) 0 6px, var(--paper-well) 6px 14px);grid-template-columns:1fr 1fr;gap:14px;padding:14px;display:grid}.fig-glaze-stroke{border:1px solid var(--ink);height:64px;display:block}.fig-glaze-clear{opacity:.55}.fig-glaze-labels{grid-template-columns:1fr 1fr;gap:14px;display:grid}.fig-after{flex-direction:column;align-items:center;gap:10px;display:flex}.fig-after-field{aspect-ratio:1;border:1px solid var(--ink);justify-content:center;align-items:center;width:min(100%,240px);display:flex}.fig-after-cross{font-family:var(--mono);color:var(--ink);font-size:1.6rem}.fig-after-status{min-height:2.6em;font-family:var(--mono);color:var(--ink-soft);text-align:center;font-size:.78rem;line-height:1.4}.lesson-quiz{border:1px solid var(--ink);border-radius:var(--r);background:var(--paper-well);padding:14px}.lesson-quiz-q{font-family:var(--text);margin:6px 0 12px;font-size:1.08rem;font-weight:500;line-height:1.45}.lesson-quiz-options{flex-direction:column;gap:8px;display:flex}.lesson-option{border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--paper);min-height:48px;font-family:var(--text);text-align:left;padding:10px 12px;font-size:1rem;line-height:1.4}.lesson-option:not(:disabled):active{background:var(--paper-deep)}.lesson-option-right{border:2px solid var(--ink);font-weight:500}.lesson-option-right:before{content:"✓ "}.lesson-option-wrong{opacity:.55;text-decoration:line-through}.lesson-option-wrong:before{content:"✕ "}.lesson-quiz-feedback{min-height:1.5em;font-family:var(--text);color:var(--ink);margin-top:10px;font-size:.98rem;line-height:1.55}.lesson-sources ul{margin-top:4px;list-style:none}.lesson-source{min-height:44px;font-family:var(--text);text-align:left;text-underline-offset:3px;padding:6px 0;font-size:.98rem;text-decoration:underline}.lesson-next{border:1px solid var(--ink);border-radius:var(--r);background:var(--ink);min-height:56px;color:var(--paper);text-align:left;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;margin-top:6px;padding:14px;display:grid}.lesson-next .label{color:var(--paper);opacity:.7;grid-column:1}.lesson-next-title{grid-column:1;font-size:1.05rem}.lesson-next>span[aria-hidden]{grid-area:1/2/3;font-size:1.4rem}.lesson-try{border:1px solid var(--ink);border-radius:var(--r);background:var(--paper-well);padding:14px}.lesson-try p{font-family:var(--text);margin-top:6px;font-size:1.02rem;line-height:1.55}.discovery{border:1px solid var(--ink);border-radius:var(--r);background:var(--paper-well);animation:fade-up var(--dur-slow) var(--ease-out) both;margin-top:14px;padding:13px 14px}.discovery-row{grid-template-columns:30px 1fr auto;align-items:center;column-gap:10px;margin-top:8px;display:grid}.discovery-swatch{width:30px;height:30px;box-shadow:0 0 0 1px var(--rule-strong);grid-area:1/1}.discovery-name{grid-area:1/2;font-size:1.05rem}.discovery-era{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);grid-area:1/3;font-size:.68rem}.discovery-note{color:var(--ink-soft);grid-area:2/2/auto/4;margin-top:5px;font-size:.9rem;line-height:1.55}.discovery-compact{margin-top:10px;padding:9px 12px}.discovery-compact .discovery-row{margin-top:5px}.recall-showing{position:relative;overflow:hidden}.recall-drain{background:var(--ink);transform-origin:0;pointer-events:none;height:4px;position:absolute;bottom:0;left:0;right:0}.target-veiled{background:var(--paper-deep);box-shadow:none;border-style:dashed;justify-content:center;align-items:center;display:flex}.recall-veil-label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-size:.74rem;font-weight:500}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.cat-swatch{aspect-ratio:1}.cat-cell{min-height:132px}.cat-name{font-size:.78rem;line-height:1.2}.cat-meta{letter-spacing:.06em;font-size:.6rem}.discovery-era{text-transform:none;letter-spacing:.04em;font-size:.72rem}.par-gate{border:1px dashed var(--rule-strong);border-radius:var(--r);flex-direction:column;gap:7px;margin-top:4px;padding:10px 12px;display:flex}.par-gate-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem;font-weight:500}.par-gate-actions{flex-wrap:wrap;gap:8px;display:flex}.par-gate-btn{min-height:44px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper);background:var(--ink);border-radius:var(--r);white-space:nowrap;flex:1;padding:9px 12px;font-size:.76rem;font-weight:500}.par-gate-btn:disabled{color:var(--ink-faint);box-shadow:inset 0 0 0 1px var(--rule-strong);background:0 0}.par-gate-free{color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);background:0 0}.par-gate-ad{color:var(--ink);background:var(--paint-yellow);box-shadow:inset 0 0 0 2px var(--ink), var(--lift) var(--lift) 0 var(--ink);transition:transform var(--dur-micro) var(--ease-out);flex:1.25;padding-left:30px;font-weight:600;position:relative}.par-gate-ad:before{content:"";background:var(--paint-band);border-right:2px solid var(--ink);width:16px;position:absolute;inset:2px auto 2px 2px}.par-gate-ad:not(:disabled):active{transform:translate(var(--lift), var(--lift));box-shadow:inset 0 0 0 2px var(--ink)}.par-gate-ad:disabled{background:var(--paper-deep);color:var(--ink-soft);box-shadow:inset 0 0 0 2px var(--rule-strong)}.par-gate-ad:disabled:before{opacity:.45}.par-gate-note{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-faint);font-size:.68rem}.well-compare{border:1px solid var(--ink);border-radius:var(--r);height:40px;transition:opacity var(--dur-fast) var(--ease-out);margin:0 0 8px;display:flex;overflow:hidden}.well-compare-empty{opacity:0}.well-compare-half{flex:1;justify-content:center;align-items:flex-end;padding-bottom:3px;display:flex}.well-compare-half .seam-label{font-size:.63rem;position:static}.studio-readout{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;padding-bottom:8px;display:flex}.studio-near{text-align:left;border:1px solid var(--rule-strong);border-radius:var(--r);grid-template-columns:30px 1fr auto;align-items:center;column-gap:10px;width:100%;margin-bottom:8px;padding:9px 11px;display:grid}.studio-near-hit{border-color:var(--ink);border-width:2px;padding:8px 10px}.studio-near-swatch{width:30px;height:30px;box-shadow:0 0 0 1px var(--rule-strong);grid-area:1/1/3}.studio-near-name{grid-area:1/2;font-size:1rem}.studio-near-delta{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-soft);grid-area:1/3;font-size:.76rem}.studio-near-cta{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);grid-area:2/2/auto/4;font-size:.66rem}.studio-pressed,.studio-note{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-faint);margin-top:10px;font-size:.72rem;line-height:1.5}.lesson-try-btn{min-height:48px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-top:12px;padding:12px;font-size:.78rem}.result .coach{gap:8px;padding:10px 0 0}.result .run-strip{margin-bottom:8px;padding:7px 10px}.result .discovery-compact{margin-top:8px;padding:8px 11px}.result .par-gate{flex-flow:wrap;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px}.result .par-gate-actions{flex:0 auto}.result .par-gate-note{flex-basis:100%}.result .coach-face{width:44px;height:44px}.result .coach p{font-size:.88rem;line-height:1.35}.result .par-gate{flex-wrap:nowrap;padding:6px 9px}.result .par-gate-label{letter-spacing:.1em;font-size:.64rem;line-height:1.2}.result .par-gate-btn{min-height:44px;padding:6px 10px;font-size:.68rem}.result .scorecard{padding:2px 11px}.result .score-row{padding:4px 0}.result .seam-block{height:96px}.result .coach{grid-template-columns:46px 1fr;padding-top:8px}@media (height<=815px){.result .seam-block{height:82px}.result .match-track{height:26px}.result .match-value{font-size:1.9rem}.result .coach p{font-size:.84rem;line-height:1.3}.result .score-row{padding:3px 0}.result .discovery-compact{margin-top:6px;padding:6px 10px}.result .par-gate{padding:5px 8px}}@media (height<=805px){.result .coach p:nth-of-type(2){display:none}.result .seam-block{height:74px}.result .discovery-note{display:none}}.result .actions{bottom:calc(var(--inset-bottom) + var(--banner-room));z-index:2;background:var(--paper);box-shadow:0 -10px 12px -6px var(--paper);margin-top:auto;padding-top:10px;padding-bottom:2px;position:sticky}.result{flex:1;min-height:0}.result .coach{padding-bottom:6px}.result .actions{margin-top:12px}.coach-bubble{z-index:3;border:1px solid var(--ink);border-radius:var(--r);background:var(--paper);max-width:300px;box-shadow:var(--lift) var(--lift) 0 var(--ink);font-family:var(--mono);animation:coach-in var(--dur-fast) var(--ease-out) both;margin:0 auto;padding:10px 12px 4px;position:absolute;left:0;right:0}.coach-pour,.coach-complete{bottom:2px}.coach-match{top:2px}.coach-step{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem}.coach-bubble p{color:var(--ink);margin:4px 0 0;font-size:.82rem;line-height:1.45}.coach-skip{text-underline-offset:3px;min-height:44px;color:var(--ink-soft);padding:0 2px;font-size:.74rem;text-decoration:underline}@keyframes coach-in{0%{opacity:0}to{opacity:1}}.coach .coach-first{color:var(--ink);font-weight:500}.milestones{flex-direction:column;gap:6px;display:flex}.milestone{border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--paper-well);animation:milestone-in var(--dur-slow) var(--ease-spring) .8s both;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:9px 12px;display:grid}.milestone-big{border-color:var(--ink);box-shadow:var(--lift) var(--lift) 0 var(--ink)}.milestone-title{grid-column:1;font-size:1.02rem;font-weight:400}.milestone-text{font-family:var(--mono);color:var(--ink-soft);grid-column:1;font-size:.78rem;line-height:1.45}.milestone-pay,.milestone-swatches{font-family:var(--mono);font-variant-numeric:tabular-nums;grid-area:1/2/3;align-items:center;gap:4px;font-size:.9rem;display:flex}.milestone-swatch{border:1px solid var(--ink);width:20px;height:20px;display:block}.reminder-ask{border:1px dashed var(--rule-strong);border-radius:var(--r);animation:milestone-in var(--dur-slow) var(--ease-spring) .9s both;padding:10px 12px}.reminder-ask p,.reminder-note{font-family:var(--mono);color:var(--ink-soft);font-size:.82rem;line-height:1.45}.reminder-actions{align-items:center;gap:14px;margin-top:8px;display:flex}.reminder-actions .secondary{min-height:44px;padding:0 16px}.reminder-later{min-height:44px;font-family:var(--mono);text-underline-offset:3px;color:var(--ink-soft);font-size:.78rem;text-decoration:underline}@keyframes milestone-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.hint-buy{border:1px dashed var(--rule-strong);border-radius:var(--r);width:100%;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-bottom:8px;padding:9px 12px;font-size:.74rem;font-weight:500;display:flex}.hint-buy:disabled{opacity:.45}.hint-cost{font-variant-numeric:tabular-nums;color:var(--ink)}.hint-shown{border:1px solid var(--ink);border-radius:var(--r);background:var(--paper-well);flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;padding:9px 12px;font-size:1rem;display:flex}.hint-cap{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-left:auto;font-size:.66rem}.save-manager{margin-top:22px}.save-actions{gap:8px;margin:10px 0;display:flex}.save-btn{border:1px solid var(--ink);border-radius:var(--r);min-height:46px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);flex:1;padding:11px;font-size:.74rem;font-weight:500}.save-btn-go{background:var(--ink);color:var(--paper);width:100%}.save-btn-quiet{border-color:var(--rule);color:var(--ink-faint)}.save-btn-wipe{color:var(--paper);background:#8c3a2c;border-color:#8c3a2c}.save-restore{flex-direction:column;gap:8px;display:flex}.save-input{width:100%;font-family:var(--mono);color:var(--ink);background:var(--paper-well);border:1px solid var(--rule-strong);border-radius:var(--r);resize:vertical;-webkit-user-select:text;user-select:text;padding:10px;font-size:.72rem;line-height:1.4}.save-status,.save-warn{color:var(--ink-soft);margin-top:8px;font-size:.86rem;line-height:1.5}.save-status-bad{color:#8c3a2c}.save-warn{color:var(--ink-faint);font-style:italic}.version-line{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);text-align:center;margin:26px 0 4px;font-size:.68rem}.board{border-top:1px solid var(--rule);margin:10px 0 0;padding:0;list-style:none}.board-row{border-bottom:1px solid var(--rule);grid-template-columns:2.4ch minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:9px 2px;display:grid}.board-rank,.board-de,.board-score{font-family:var(--mono);font-size:.8rem}.board-rank{color:var(--ink-faint);text-align:right}.board-who{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.board-de{color:var(--ink-faint)}.board-score{color:var(--ink);text-align:right;min-width:4ch;font-weight:600}.board-row-me{background:var(--paper-deep);box-shadow:inset 3px 0 0 var(--ink-soft)}.board-row-me .board-who{font-weight:600}.menu-top{justify-content:flex-end;align-items:center;margin-bottom:-6px;padding-top:2px;display:flex}.purse{background:var(--paper-deep);border:1px solid var(--rule);border-radius:2px;align-items:center;gap:7px;padding:5px 11px;display:inline-flex}.purse-count{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:600;line-height:1}.prism-mark{shape-rendering:crispedges;flex:none}.hint-cost .prism-mark,.par-gate-btn .prism-mark,.par-gate-note .prism-mark,.settings-note .prism-mark{vertical-align:-.16em}.name-field{border-bottom:1px solid var(--rule-strong);flex-direction:column;gap:6px;padding:14px 0 16px;display:flex}.name-input{font-family:var(--text);min-height:48px;color:var(--ink);background:var(--paper-well);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--lift) var(--lift) 0 var(--ink);padding:10px 12px;font-size:1.06rem}.name-input::placeholder{color:var(--ink-faint)}.name-status{min-height:1.3em;font-family:var(--mono);letter-spacing:.04em;color:var(--ink-faint);font-size:.74rem}.rank-name-btn{max-width:100%;color:var(--ink);font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:1.29rem;overflow:hidden}.crash-screen{max-width:440px;min-height:100dvh;padding:calc(24px + var(--inset-top,0px)) calc(24px + var(--inset-right,0px)) calc(24px + var(--inset-bottom,0px)) calc(24px + var(--inset-left,0px));color:var(--ink,#221d15);flex-direction:column;justify-content:center;gap:14px;margin:0 auto;display:flex}.crash-title{font-family:var(--pixel,monospace);margin:0;font-size:28px;font-weight:600}.crash-line{font-family:var(--text,sans-serif);color:var(--ink-soft,#57503f);margin:0 0 10px;font-size:16px;line-height:1.45}.crash-actions{flex-direction:column;gap:10px;display:flex}.crash-btn{border-radius:6px;min-height:48px;padding:12px 16px;font-size:16px}.name-status.name-status-bad{color:#8c3a2c}.name-input[aria-invalid=true]{border-color:#8c3a2c}.board .board-row{grid-template-columns:2.4ch minmax(0,1fr) auto auto 26px;gap:8px}.board-flag-cell{justify-content:flex-end;align-self:center;display:flex}.board-flag{width:26px;height:26px;color:var(--ink-faint);opacity:.55;justify-content:center;align-items:center;margin:-6px 0;display:flex;position:relative}.board-flag:before{content:"";position:absolute;inset:-9px}.board-flag:focus-visible{opacity:1;outline:2px solid var(--ink);outline-offset:1px}.board-report{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:6px 10px;font-size:.74rem;display:flex}.board-report-ask{margin-right:auto}.board-report-btn{min-height:36px;font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--rule-strong);border-radius:var(--r);padding:0 12px;font-size:.74rem}.board-report-yes{color:var(--paper-well);background:var(--ink);border-color:var(--ink)}.board-report-failed{color:#8c3a2c}.reminder-hours{border-bottom:1px solid var(--rule);flex-direction:column;gap:10px;padding:12px 2px 15px;display:flex}.reminder-hour-chips{flex-wrap:wrap;gap:8px;display:flex}.reminder-hour{min-width:56px;min-height:44px;font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);background:var(--paper-well);border:1px solid var(--rule-strong);border-radius:var(--r);padding:0 10px;font-size:.82rem}.reminder-hour.is-on{color:var(--paper-well);background:var(--ink);border-color:var(--ink)}.restore-line{min-height:44px;font-family:var(--mono);color:var(--ink-soft);align-items:center;margin:-6px 0 12px;font-size:.78rem;display:flex}.restore-link,.settings-foot-link{min-height:44px;font-family:var(--mono);text-underline-offset:3px;color:var(--ink-soft);font-size:.78rem;text-decoration:underline}.settings-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 16px;margin:26px 0 4px;display:flex}.settings-foot .version-line{margin:0}.settings-foot-link{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem}.save-btn-danger{color:#8c3a2c;border-color:#8c3a2c}.cloud-choice{border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--paper-well);margin:10px 0;padding:12px}.cloud-choice .save-actions{margin-bottom:0}.race-screen{flex-direction:column;flex:1;min-height:0;display:flex}.race-col{display:contents}.race-play{gap:10px}.race-header{padding-bottom:6px}.race-header h2{font-size:1.3rem}.race-clock-wrap{flex:none}.race-clock{font-family:var(--pixel);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.5rem}.race-clock.is-low{color:var(--chip-red)}.race-play .race-target{flex:none;height:clamp(44px,7.5vh,64px);position:relative}.race-countdown{background:var(--paper-deep);justify-content:center;align-items:center;display:flex}.race-countdown-n{font-family:var(--pixel);color:var(--ink);animation:race-count-in var(--dur-slow) var(--ease-spring) both;font-size:2.2rem;line-height:1}@keyframes race-count-in{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.race-dots{grid-template-columns:repeat(var(--dot-cols,5), minmax(0, 1fr));flex:none;display:grid}.race-dot{justify-content:center;align-items:center;min-height:44px;display:flex;position:relative}.race-dot[aria-disabled=true]{cursor:default}.race-dot:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.race-dot-mark{border:2px solid var(--ink-faint);border-radius:var(--r);width:14px;height:14px}.race-dot.is-current .race-dot-mark{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:3px;width:16px;height:16px}.race-dot.is-locked .race-dot-mark{background:var(--ink);border-color:var(--ink)}.race-dot-tip{z-index:2;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--paper);background:var(--ink);pointer-events:none;padding:2px 6px;font-size:.74rem;position:absolute;bottom:calc(100% - 6px);left:50%;transform:translate(-50%)}.race-play .well-wrap{min-height:96px}.race-actions button{letter-spacing:.06em;min-width:0;padding:0 4px}.race-actions .race-lock{flex:1.5}.race-confirm{align-items:center;gap:12px;min-height:53px;display:flex}.race-confirm-q{font-family:var(--mono);color:var(--ink);white-space:nowrap;font-size:.9rem}.race-confirm .actions{flex:1}.race-done{text-align:center;border:2px dashed var(--rule-strong);border-radius:var(--r);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:8px;min-height:96px;display:flex}.race-done-title{font-size:1.15rem}.race-done-total{font-family:var(--mono);color:var(--ink-soft);font-size:.9rem}.race-done-total strong{font-family:var(--pixel);color:var(--ink);font-size:1.3rem;font-weight:400}.race-strip{flex:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;list-style:none;display:grid}.race-card{min-width:0}.race-card-body{transform-origin:bottom;flex-direction:column;gap:3px;display:flex}.race-card-swatch{border:2px solid var(--ink);border-radius:var(--r);flex-direction:column;height:44px;display:flex;overflow:hidden}.race-card-target,.race-card-mix{flex:1;min-width:0}.race-card-target.is-empty{background-color:var(--paper-deep)}.race-card-mix.is-empty{background-color:var(--paper-well);background-image:repeating-linear-gradient(45deg, var(--rule) 0 1px, transparent 1px 5px)}.race-card-info{flex-direction:column;min-width:0;display:flex}.race-card-name{font-family:var(--mono);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.race-card-stats{font-family:var(--mono);color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:space-between;gap:2px;font-size:.66rem;display:flex}.race-card.is-offline,.race-card.is-left{opacity:.45}.race-pulse{animation:race-pulse .3s var(--ease-out)}@keyframes race-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.race-pulse,.race-countdown-n{animation:none}}.race-door-actions{margin-top:4px}.race-settings{flex-direction:column;gap:10px;display:flex}.race-setting{flex-direction:column;gap:4px;display:flex}.race-seg{border:2px solid var(--ink);border-radius:var(--r);display:flex}.race-seg-btn{min-width:0;min-height:44px;font-family:var(--mono);color:var(--ink-soft);background:var(--paper-well);flex:1 1 0;padding:0 4px;font-size:.78rem}.race-seg-btn+.race-seg-btn{border-left:1px solid var(--rule-strong)}.race-seg-btn.is-on{color:var(--paper);background:var(--ink)}.race-seg-btn:disabled{opacity:.35;cursor:default}.race-seg-btn:focus-visible{outline:2px solid var(--chip-blue);outline-offset:-5px}.race-settings-read{grid-template-columns:1fr 1fr;column-gap:16px;display:grid}.race-settings-read .race-setting{border-bottom:1px solid var(--rule);flex-direction:row;justify-content:space-between;align-items:baseline;padding:8px 0}.race-settings-read dd{font-family:var(--mono);color:var(--ink);font-size:.88rem}.race-room-code{font-family:var(--mono);letter-spacing:.12em;color:var(--ink);font-size:1.6rem;font-weight:500}.race-lobby-grid{flex-direction:column;gap:18px;display:flex}.race-lobby-players{order:-1}.race-lobby-share{align-items:center;gap:12px;margin-bottom:14px;display:flex}.race-share{min-height:44px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:2px solid var(--ink);box-shadow:var(--lift) var(--lift) 0 var(--ink);padding:0 16px;font-size:.8rem}.race-share:active{transform:translate(var(--lift), var(--lift));box-shadow:none}.race-share-note{font-family:var(--mono);color:var(--ink-soft);font-size:.8rem}.race-lobby-count{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.race-count{font-family:var(--pixel);font-variant-numeric:tabular-nums;font-size:1.2rem}.race-players{border-top:1px solid var(--rule-strong);list-style:none}.race-player{border-bottom:1px solid var(--rule);align-items:center;gap:10px;min-height:44px;padding:0 6px;font-size:1.05rem;display:flex}.race-player.is-me{background:var(--paper-well)}.race-avatar{border:2px solid var(--ink);border-radius:var(--r);flex:none;width:18px;height:18px}.race-player-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.race-tag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule-strong);margin-left:6px;padding:1px 6px;font-size:.66rem;font-weight:500}.race-tag-host{color:var(--ink);background:var(--chip-ochre);border-color:var(--ink)}.race-note{font-family:var(--mono);color:var(--ink-soft);margin-top:8px;font-size:.85rem;line-height:1.5}.race-lobby-actions{margin-top:14px}.race-settings-line{letter-spacing:.08em}.race-ranks{border-top:2px solid var(--ink);list-style:none}.race-rank{border-bottom:1px solid var(--rule);grid-template-columns:28px 18px minmax(0,1fr) auto auto;grid-template-areas:"n av name total count""n.cells cells cells";align-items:center;gap:6px 10px;padding:10px 6px;display:grid}.race-rank.is-me{background:var(--paper-well);box-shadow:inset 4px 0 0 var(--ink)}.race-rank-n{font-family:var(--pixel);color:var(--ink);grid-area:n;justify-content:center;font-size:1.2rem;display:flex}.race-rank-n .pixel-icon{color:var(--chip-ochre)}.race-rank .race-avatar{grid-area:av}.race-rank-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;font-size:1.05rem;overflow:hidden}.race-rank-total{font-family:var(--pixel);font-variant-numeric:tabular-nums;grid-area:total;font-size:1.3rem}.race-rank-count{font-family:var(--mono);color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-area:count;font-size:.72rem}.race-rank-cells{grid-area:cells;grid-template-columns:repeat(auto-fill,minmax(26px,1fr));gap:2px;display:grid}.race-cell{font-family:var(--mono);text-align:center;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper-deep);padding:2px 0;font-size:.66rem}.race-cell.is-empty{color:var(--ink-faint);box-shadow:inset 0 0 0 1px var(--rule);background:0 0}.race-results-actions{margin-top:4px}@media (width>=640px) and (orientation:landscape){.app:has(>.race-screen){max-width:1180px}:is(.app:has(>.race-at-countdown),.app:has(>.race-at-racing),.app:has(>.race-at-done)){height:100dvh}.race-at-countdown .race-play,.race-at-racing .race-play,.race-at-done .race-play{flex:1 1 0;grid-template:"head head""well target""well dots""well strip"minmax(0,1fr)"well rack""well actions"/minmax(0,1fr) minmax(0,1fr);gap:12px 48px;min-height:0;display:grid}.race-play>.race-col>.race-header{grid-area:head}.race-play>.race-col>.race-target{grid-area:target;height:clamp(64px,24vh - 60px,150px)}.race-play>.race-col>.race-dots{grid-area:dots;grid-template-columns:repeat(var(--dots,10), minmax(0, 1fr))}.race-play>.race-col>.well-wrap,.race-play>.race-col>.race-done{grid-area:well;align-self:stretch}.race-play .well{width:min(100cqw,100cqh,540px)}.race-play>.race-col>.race-done{flex-direction:column;justify-content:center;align-items:center;display:flex}.race-play>.race-col>.rack{grid-area:rack}.race-play>.race-col>.race-actions,.race-play>.race-col>.race-confirm{padding-right:var(--lift);grid-area:actions}.race-play>.race-col>.race-strip{grid-area:strip;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));align-content:start;gap:8px;min-height:0;overflow-y:auto}.race-play .tube{justify-content:center;min-height:clamp(104px,17vh,150px)}.race-card{background:var(--paper-well);border:1px solid var(--rule-strong);border-radius:var(--r);padding:6px 8px}.race-card-body{transform-origin:0;flex-direction:row;align-items:center;gap:10px}.race-card-swatch{flex:none;width:56px;height:56px}.race-card-info{flex:1;gap:2px;min-width:0}.race-card-name{font-size:.92rem}.race-card-stats{justify-content:flex-start;gap:14px;font-size:.8rem}.race-card-match:before{content:"Match "}.race-home,.race-setup,.race-wait{width:100%;max-width:480px;margin:0 auto}.race-lobby,.race-results{width:100%;max-width:860px;margin:0 auto}.race-lobby-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:40px;display:grid}.race-lobby-rules{grid-area:1/1}.race-lobby-players{grid-area:1/2}.race-rank{grid-template-columns:36px 20px minmax(0,1fr) minmax(0,2fr) 64px 48px;grid-template-areas:"n av name cells total count";padding:12px 10px}.race-rank-total{text-align:right}}@media (width>=640px) and (aspect-ratio>=4/3){.app{max-width:1228px;padding-top:calc(16px + var(--inset-top));padding-right:calc(24px + var(--inset-right));padding-bottom:calc(20px + var(--inset-bottom) + var(--banner-room));padding-left:calc(24px + var(--inset-left))}button:focus-visible,input:focus-visible,[role=radio]:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.app>.menu{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"top top""hero today""hero shelf""rank shelf""play shelf";column-gap:56px;margin-block:auto;display:grid}.app>.menu>.menu-top{grid-area:top;margin-bottom:6px}.app>.menu>.menu-header{flex-direction:column;grid-area:hero;justify-content:center;padding:6px 0 14px;display:flex}.app>.menu .menu-header h1{font-size:3.4rem}.app>.menu>.rank-banner{grid-area:rank}.app>.menu .rank-name-btn,.app>.menu .rank-settings{min-height:44px}.app>.menu>.chip-play{grid-area:play;margin-bottom:0;padding:22px 20px}.app>.menu>.chip-play .chip-name{font-size:2.1rem}.app>.menu>.today-card{grid-area:today;margin-bottom:14px}.app>.menu>.shelf-grid{grid-area:shelf;gap:14px}.app>.menu .tile{justify-content:flex-end;min-height:120px;padding:16px}.app>.menu .tile .chip-name{font-size:1.25rem}.app>.menu .tile .chip-sub{font-size:.92rem}.app>.result>.mode-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:0;display:grid}.app>.result>.mode-list>.chip{grid-template-rows:auto 1fr auto;grid-template-columns:1fr auto;align-items:start;row-gap:6px;min-height:clamp(150px,30vh,260px);padding:18px}.app>.result>.mode-list>.chip>.pixel-icon{grid-area:1/1;width:48px;height:48px;margin-bottom:8px}.app>.result>.mode-list .chip-state{grid-area:1/2;align-self:start}.app>.result>.mode-list .chip-name{grid-area:2/1/auto/-1;align-self:end;font-size:1.45rem}.app>.result>.mode-list .chip-sub{grid-area:3/1/auto/-1;margin-top:0;font-size:1rem}.app>.result>.mode-list:has(>.chip:nth-child(7)){grid-template-columns:repeat(4,minmax(0,1fr))}.app>.result>.mode-list:has(>.chip:nth-child(7))>.chip:first-child{grid-column:span 2}.app>.result:has(>.mode-list){grid-template:"head link""list list"1fr/minmax(0,1fr) auto;gap:0 24px;display:grid}.app>.result:has(>.mode-list):before{content:"";border-bottom:1px solid var(--rule-strong);pointer-events:none;grid-area:1/1/auto/-1}.app>.result:has(>.mode-list)>.result-header{border-bottom:0;grid-area:head}.app>.result>.mode-list{grid-area:list;align-self:center;margin-block:20px 8px}.app>.result>.ladder-link{width:auto;min-height:44px;margin:0 var(--lift) 12px 0;grid-area:link;align-self:center;padding-inline:28px}.app>.result>.puzzle-list{columns:3;column-rule:1px solid var(--rule);column-gap:40px}.app>.result>.puzzle-list>li{break-inside:avoid}.app>.play{grid-template:"head clock""well target""well mixread""well wcmp""well hint""well."1fr"well rack""well actions""well note"/minmax(0,1fr) minmax(0,1fr);gap:0 48px;min-height:0;display:grid}.app>.play:not(:has(>.play-clock)){grid-template-areas:"head head""well target""well mixread""well wcmp""well hint""well.""well rack""well actions""well note"}.app>.play:before{content:"";border-bottom:1px solid var(--rule-strong);pointer-events:none;grid-area:1/1/auto/-1;margin-bottom:16px}.app>.play>.play-header{border-bottom:0;grid-area:head;margin-bottom:16px}.app>.play>.play-clock{grid-area:clock;align-self:center;margin:0 0 16px}.app>.play>.target-strip,.app>.play>.studio-readout{grid-area:target;margin-bottom:16px}.app>.play .target-swatch{height:clamp(64px,30vh - 86px,190px)}.app>.play .compare-strip{height:clamp(96px,30vh - 64px,230px)}.app>.play>.well-wrap{grid-area:well;min-height:200px}.app>.play .well{width:min(100cqw,100cqh,540px)}.app>.play>.well-readout{grid-area:mixread;margin:-6px 0 14px}.app>.play>.well-compare,.app>.play>.studio-pressed{grid-area:wcmp;margin:0 0 14px}.app>.play>.hint-buy,.app>.play>.hint-shown,.app>.play>.studio-near{grid-area:hint;margin:0 0 14px}.app>.play>.rack{grid-area:rack}.app>.play>.actions{padding-right:var(--lift);grid-area:actions;margin-top:16px}.app>.play>.discovery,.app>.play>.studio-note{grid-area:note;align-self:start;margin-top:14px}.app>.play .tube{justify-content:center;min-height:clamp(128px,22vh,180px);padding-top:12px}.app>.play .tube-paint{width:48px;height:48px}.app>.play .tube-name{font-size:.88rem}.app>.play .rack-tight .tube{min-height:clamp(108px,19vh,160px);padding-top:10px}.app>.play .rack-tight .tube-paint{width:38px;height:38px}.app>.play .rack-tight .tube-name{justify-content:center;font-size:.74rem}.app>.play .actions button{min-height:54px}:is(.app>.result:has(>.seam-block),.app>.result:has(>.run-summary)){columns:2;flex:none;column-gap:56px;margin-block:auto;display:block}:is(.app>.result:has(>.seam-block)>*,.app>.result:has(>.run-summary)>*){break-inside:avoid;margin-bottom:18px}:is(.app>.result:has(>.seam-block)>:last-child,.app>.result:has(>.run-summary)>:last-child){margin-bottom:0}:is(.app>.result:has(>.seam-block)>.result-header,.app>.result:has(>.run-summary)>.result-header){column-span:all;margin-bottom:24px}.app>.result:has(>.seam-block)>div.reveal-stage:not(.match,.coach,.actions){break-before:column}.app>.result:has(>.run-summary)>.scorecard{break-before:column}.app>.result>.seam-block{height:clamp(170px,44vh,400px)}.app>.result:has(>.seam-block) .match-track{height:36px}.app>.result:has(>.seam-block) .match-value{font-size:2.4rem}.app>.result:has(>.seam-block) .coach p:nth-of-type(2){display:block}.app>.result:has(>.seam-block) .coach p{font-size:.96rem;line-height:1.5}:is(.app>.result:has(>.seam-block) .score-row,.app>.result:has(>.run-summary) .score-row){padding:9px 0}:is(.app>.result:has(>.seam-block)>.actions,.app>.result:has(>.run-summary)>.actions){padding:0 var(--lift) var(--lift) 0;box-shadow:none;background:0 0;margin-top:24px;position:static}:is(.app>.result:has(>.seam-block)>.actions button,.app>.result:has(>.run-summary)>.actions button){min-height:54px}.app>.result>.run-summary{grid-template-columns:88px 1fr;row-gap:4px;padding:8px 0 28px}.app>.result>.run-summary .run-headline{font-size:1.7rem}.app>.result>.run-summary .run-total{font-size:3.6rem}.app>.result>section>.cat-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:18px 16px}.app>.result:has(>section>.cat-grid)>.settings-note{max-width:72ch}.app>.result:has(>.cat-hero){columns:2;flex:none;column-gap:56px;display:block}.app>.result:has(>.cat-hero)>*{break-inside:avoid}.app>.result:has(>.cat-hero)>.result-header{column-span:all;margin-bottom:24px}.app>.result>.cat-hero{height:clamp(220px,52vh,460px);margin-bottom:0}.app>.result:has(>.cat-hero)>.cat-facts{break-before:column}.app>.result>.lessons-intro{max-width:72ch}.app>.result>.lesson-chapter .puzzle-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));column-gap:40px;display:grid}.app>.result>.lesson-chapter .puzzle-list>li{border-top:1px solid var(--rule)}.app>.result:has(>.lesson-body){width:100%;max-width:1040px;margin-inline:auto}.app>.result:has(>.lesson-body)>:not(.lesson-body){max-width:640px}.app>.result>.lesson-body{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);align-items:start;column-gap:48px;display:grid}.app>.result>.lesson-body>p{grid-column:1}.app>.result>.lesson-body>.fig{grid-area:span 3/2;margin-top:6px}.app>.result:has(>.settings-list){columns:2;column-gap:56px;display:block}.app>.result:has(>.settings-list)>*{break-inside:avoid;margin-bottom:18px}.app>.result:has(>.settings-list)>.result-header{column-span:all;margin-bottom:20px}.app>.result>.settings-list+*{break-before:column;margin-top:0}.app>.result>.settings-list+*>.tier-rule:first-child{padding-top:0}.app>.result .avatar-swatch{width:44px;height:44px}.app>.result .avatar-swatches{gap:8px}.app>.result:has(>.name-field):not(:has(>.settings-list)){width:100%;max-width:860px;margin-inline:auto}.app>.result:has(>.name-field):has(>.board):not(:has(>.settings-list)){columns:2;column-fill:auto;column-gap:56px;max-width:none;display:block}.app>.result:has(>.board)>*{break-inside:avoid;margin-bottom:16px}.app>.result:has(>.board)>.result-header{column-span:all;margin-bottom:20px}.app>.result>.board{break-before:column;margin-top:0}.app>.result .board-row{padding:11px 6px}.app>.result:has(>.duel-accept){columns:2;flex:none;column-gap:56px;width:100%;max-width:980px;margin:auto;display:block}.app>.result:has(>.duel-accept)>*{break-inside:avoid;margin-bottom:18px}.app>.result:has(>.duel-accept)>.result-header{column-span:all;margin-bottom:22px}.app>.result>.duel-accept{break-before:column}}@media (width>=640px) and (aspect-ratio>=4/3) and (hover:hover){.chip:not(:disabled):hover:not(:active),.today-card:hover:not(:active),.actions button:not(:disabled):hover:not(:active),.ladder-link:hover:not(:active),.sound-toggle:hover:not(:active){box-shadow:calc(var(--lift) + 1px) calc(var(--lift) + 1px) 0 var(--ink);transform:translate(-1px,-1px)}.secondary:not(:disabled):hover:not(:active),.tube:not(:disabled):hover:not(:active),.puzzle-row:hover:not(:active),.settings-row:hover:not(:active),.hint-buy:not(:disabled):hover:not(:active),.studio-near:not(:disabled):hover:not(:active),.lesson-option:not(:disabled):hover:not(:active),.lesson-next:hover:not(:active){background-color:var(--paper-well)}.ghost:hover{color:var(--ink)}.cat-cell:not(.cat-empty):hover .cat-swatch{transform:translate(-1px,-1px)}}@media (width>=1400px) and (height>=900px) and (aspect-ratio>=4/3){html{font-size:112.5%}.app{max-width:1528px;padding-top:calc(28px + var(--inset-top));padding-bottom:calc(32px + var(--inset-bottom) + var(--banner-room))}.app>.play{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.app>.play .well{width:min(100cqw,100cqh,800px)}.app>.play .target-swatch{height:clamp(64px,30vh - 86px,280px)}.app>.play .tube{min-height:clamp(128px,22vh,230px)}.app>.play .tube-paint{width:60px;height:60px}.app>.menu .tile{min-height:190px}.app>.menu>.chip-play{padding:32px 24px}.app>.menu>.today-card{padding:18px}.app>.result>.mode-list>.chip{min-height:280px;padding:24px}}@media (width>=640px) and (aspect-ratio>=4/3) and (height<=620px){.app>.play .compare-strip{height:76px}.app>.play>.well-compare{height:32px}.app>.play>.well-compare,.app>.play>.well-readout,.app>.play>.hint-buy,.app>.play>.hint-shown,.app>.play>.studio-near{margin-bottom:10px}.app>.play:has(>.well-compare) .tube{min-height:106px;padding-top:8px}.app>.play .rack-tight .tube{min-height:100px}.app>.play .actions button{min-height:48px}.app>.play>.actions{margin-top:12px}.app>.result:has(>.mode-list) .chip{padding:14px 16px}.app>.result:has(>.mode-list) .chip>.pixel-icon{width:36px;height:36px;margin-bottom:2px}}@media (width>=640px) and (aspect-ratio>=4/3) and (height<=500px){.app{padding-top:calc(8px + var(--inset-top));padding-bottom:calc(8px + var(--inset-bottom) + var(--banner-room))}.app>.menu{column-gap:32px}.app>.menu .menu-header h1{font-size:2rem}.app>.menu>.menu-header{padding:0 0 6px}.app>.menu>.menu-header .flask-mark canvas{width:60px!important;height:60px!important}.app>.menu>.chip-play{padding:10px 16px}.app>.menu>.chip-play .chip-name{font-size:1.5rem}.app>.menu>.today-card{margin-bottom:8px}.app>.menu>.shelf-grid{gap:8px}.app>.menu .tile{min-height:0;padding:10px 12px}.app>.menu .tile .pixel-icon{width:28px;height:28px}.app>.menu .tile .chip-name{font-size:1.05rem}.app>.menu .tile .chip-sub{font-size:.8rem}.app>.result>.mode-list{gap:10px}.app>.result>.mode-list>.chip{row-gap:2px;min-height:0;padding:10px 12px}.app>.result>.mode-list>.chip>.pixel-icon{width:30px;height:30px;margin-bottom:2px}.app>.result>.mode-list .chip-name{font-size:1.1rem}.app>.result>.mode-list .chip-sub{font-size:.8rem}:is(.app>.result:has(>.mode-list)>.result-header,.app>.play>.play-header){margin-bottom:8px}.app>.play .target-swatch{height:clamp(40px,15vh,80px)}.app>.play .rack:has(>:nth-child(7)) .tube{min-height:clamp(62px,16vh,84px)}.app>.play .rack:has(>:nth-child(7)) .tube-paint{width:24px;height:24px}.app>.play>.target-strip,.app>.play>.studio-readout,.app>.play>.hint-buy,.app>.play>.hint-shown,.app>.play>.studio-near,.app>.play>.well-readout,.app>.play>.well-compare{margin-bottom:8px}.app>.play .tube,.app>.play .rack-tight .tube{min-height:clamp(80px,22vh,104px);padding-top:6px}.app>.play:has(>.well-compare) .tube{min-height:clamp(80px,22vh,104px);padding-top:6px}.app>.play .tube-paint{width:32px;height:32px}.app>.play .rack-tight .tube-paint{width:28px;height:28px}.app>.play>.actions{margin-top:8px}.app>.play .actions button{min-height:44px}.race-play>.race-col>.race-target{height:clamp(44px,16vh,80px)}.race-play .tube{min-height:clamp(80px,20vh,100px)}.race-at-countdown .race-play,.race-at-racing .race-play,.race-at-done .race-play{grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-areas:"head head""well target""well dots""well rack""strip actions";row-gap:8px}.race-play>.race-col>.race-strip{grid-template-columns:none;grid-auto-columns:minmax(140px,1fr);grid-auto-flow:column;align-self:end;overflow:auto hidden}.race-play .race-card{padding:4px 6px}.race-play .race-card-swatch{width:36px;height:36px}:is(.app>.result:has(>.seam-block)>*,.app>.result:has(>.run-summary)>*),:is(.app>.result:has(>.seam-block)>.result-header,.app>.result:has(>.run-summary)>.result-header){margin-bottom:10px}.app>.result>.seam-block{height:clamp(110px,38vh,200px)}.app>.result:has(>.seam-block) .match-track{height:28px}.app>.result:has(>.seam-block) .match-value{font-size:1.9rem}:is(.app>.result:has(>.seam-block) .score-row,.app>.result:has(>.run-summary) .score-row){padding:5px 0}.app>.result:has(>.seam-block) .coach p{font-size:.86rem;line-height:1.4}:is(.app>.result:has(>.seam-block)>.actions,.app>.result:has(>.run-summary)>.actions){margin-top:10px}:is(.app>.result:has(>.seam-block)>.actions button,.app>.result:has(>.run-summary)>.actions button){min-height:44px}.app>.result>.run-summary{padding:4px 0 12px}}@media (width>=640px) and (aspect-ratio>=4/3) and (height<=380px){:is(.app>.play .play-header h2,.app>.result:has(>.seam-block)>.result-header h2,.app>.result:has(>.run-summary)>.result-header h2){font-size:1.25rem}.app>.play>.play-header{margin-bottom:4px}.app>.play{height:calc(100vh - 16px - var(--inset-top) - var(--inset-bottom) - var(--banner-room));flex:none;grid-template-rows:auto auto auto auto auto 0 auto auto auto}.app>.play>.play-header{padding-bottom:4px}.app>.play .target-swatch{height:40px}.app>.play>.hint-buy,.app>.play>.hint-shown{min-height:0;padding-block:6px}.app>.play .tube,.app>.play .rack-tight .tube{min-height:98px}.app>.play:has(>.well-compare) .tube{min-height:98px}.app>.play .tube-paint{flex-shrink:0}.app>.play .tube-code{display:none}.app>.result:has(>.seam-block) .coach p:nth-of-type(2){display:none}:is(.app>.result:has(>.seam-block) .score-row,.app>.result:has(>.run-summary) .score-row){padding:3px 0}}:root{--paper-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512'%3E%3Cfilter id='c' x='0' y='0' width='100%' height='100%'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.008' numOctaves='4' seed='17' stitchTiles='stitch' result='b'/%3E%3CfeDiffuseLighting in='b' lighting-color='%23EDE6D8' surfaceScale='6' diffuseConstant='1'%3E%3CfeDistantLight azimuth='235' elevation='40'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Cfilter id='f' x='0' y='0' width='100%' height='100%'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%' height='100%' fill='%23EDE6D8'/%3E%3Crect width='100%' height='100%' filter='url(%23c)' opacity='0.6'/%3E%3Crect width='100%' height='100%' filter='url(%23f)' opacity='0.05' style='mix-blend-mode:multiply'/%3E%3C/svg%3E")}body{background-color:var(--paper);background-image:var(--paper-texture);background-repeat:repeat;background-size:512px 512px}@media (prefers-contrast:more){body{background-image:none}}
