@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_75dbf6a0-module__V5rL5a__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_75dbf6a0-module__V5rL5a__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
:root{--bg:#d8e4e1;--panel:#e9f0ee;--tile:#f7faf9;--frame:#b9cbc6;--ink:#24343a;--muted:#566a70;--water:#1781d3;--brass:#b88a22;--good:#1f7a55;--bad:#b4452f;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#13201f;--panel:#1a2a29;--tile:#20302f;--frame:#2d4341;--ink:#9fb3b1;--muted:#8ca09e;--water:#3daaf5;--brass:#ddb04a;--good:#5cc89a;--bad:#ef8a73}}:root[data-theme=dark]{--bg:#13201f;--panel:#1a2a29;--tile:#20302f;--frame:#2d4341;--ink:#9fb3b1;--muted:#8ca09e;--water:#3daaf5;--brass:#ddb04a;--good:#5cc89a;--bad:#ef8a73}html{scroll-padding-top:env(safe-area-inset-top,0px)}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-bricolage), system-ui, -apple-system, "Segoe UI", sans-serif;min-height:100%;margin:0}.wrap{max-width:520px;margin:0 auto;padding:14px 16px 40px}.account{justify-content:flex-end;align-items:center;gap:10px;min-height:36px;margin-bottom:8px;display:flex}.account .who{color:var(--muted);font-size:.9rem}header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}h1{letter-spacing:-.04em;color:var(--water);margin:0;font-size:clamp(2.6rem,9vw,3.4rem);font-weight:800;line-height:.9}.sub{color:var(--muted);margin:6px 0 0;font-size:.95rem}.stats{font-variant-numeric:tabular-nums;gap:18px;display:flex}.stat{text-align:right}.stat b{font-size:1.5rem;font-weight:600;line-height:1;display:block}.stat span{color:var(--muted);font-size:.8rem}.board{aspect-ratio:1;background:var(--frame);border-radius:16px;grid-template-columns:repeat(7,1fr);gap:3px;width:100%;margin:20px auto 12px;padding:7px;display:grid;position:relative}.board.loading .tile{opacity:.55}.cover{text-align:center;background:color-mix(in srgb, var(--panel) 88%, transparent);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px;display:flex;position:absolute;inset:0}.cover h2{letter-spacing:-.02em;margin:0;font-size:1.5rem}.cover p{color:var(--muted);max-width:30ch;margin:0 0 14px;line-height:1.45}.cover button.act{padding:13px 34px;font-size:1.1rem}button.act:disabled{opacity:.6;cursor:default}.tile{appearance:none;cursor:pointer;background:var(--tile);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;border-radius:7px;margin:0;padding:0;position:relative;overflow:hidden}.tile:focus-visible{outline:3px solid var(--water);outline-offset:1px;z-index:1}.tile:disabled{cursor:default}.spin{transition:transform .16s ease-out;position:absolute;inset:0}.spin svg{width:100%;height:100%;display:block}.pipe{stroke:var(--ink);stroke-width:26px;stroke-linecap:round;fill:none}.water{stroke:var(--tile);stroke-width:11px;stroke-linecap:round;fill:none;transition:stroke .18s}.capo{fill:var(--ink)}.capi{fill:var(--tile);transition:fill .18s}.src{fill:var(--brass)}.tile.lit .water{stroke:var(--water)}.tile.lit .capi{fill:var(--water)}.board.solved .tile{animation:.52s ease-out both pulse}@keyframes pulse{0%{transform:scale(1)}40%{transform:scale(.86)}to{transform:scale(1)}}.hint{color:var(--muted);text-align:center;margin:0 0 18px;font-size:.95rem;line-height:1.45}.hint b{color:var(--ink);font-weight:600}.result{background:var(--panel);text-align:center;border-radius:16px;margin-bottom:18px;padding:18px 18px 20px}.result h2{letter-spacing:-.02em;color:var(--good);margin:0 0 4px;font-size:1.6rem}.result p{color:var(--muted);margin:0 0 14px}.result .rank{color:var(--ink);font-weight:600}.result p.points{letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:2rem;font-weight:700}.btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}button.act{font:inherit;cursor:pointer;background:var(--water);color:#fff;border:0;border-radius:999px;padding:11px 18px;font-size:1rem;font-weight:600}button.act.small{padding:7px 14px;font-size:.9rem}button.act.ghost{color:var(--ink);box-shadow:inset 0 0 0 2px var(--frame);background:0 0}button.act:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.footer{text-align:center;margin-top:22px}.toast{min-height:1.3em;color:var(--good);white-space:pre-line;margin:10px 0 0;font-size:.9rem}.error{color:var(--bad);text-align:center;margin:0 0 12px;font-size:.9rem}.leaders{background:var(--panel);border-radius:16px;padding:16px 16px 14px}.leaders-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.leaders h2{letter-spacing:-.02em;margin:0;font-size:1.25rem}.tabs{background:var(--bg);border-radius:999px;padding:3px;display:inline-flex}.tabs button{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:600}.tabs button[aria-selected=true]{background:var(--tile);color:var(--ink)}.tabs button:focus-visible{outline:2px solid var(--water);outline-offset:1px}.tabs.sorts{margin-bottom:10px;display:flex}.tabs.sorts button{flex:1}.rows{font-variant-numeric:tabular-nums;margin:0;padding:0;list-style:none}.rows li{border-radius:9px;grid-template-columns:2.2em 1fr auto auto;align-items:baseline;gap:12px;padding:8px 10px;display:grid}.rows li:nth-child(odd){background:color-mix(in srgb, var(--tile) 55%, transparent)}.rows li.you{box-shadow:inset 0 0 0 2px var(--water)}.rows .pos{color:var(--muted);font-weight:600}.rows .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rows .num{text-align:right}.rows .dim{color:var(--muted);text-align:right;font-size:.85rem}.rows li.gap{color:var(--muted);text-align:center;background:0 0;padding:0 10px;display:block}@media (max-width:420px){.rows li{grid-template-columns:2em 1fr auto;row-gap:0}.rows .dim{text-align:left;grid-column:2/4}}.standing{font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 2px var(--water);background:color-mix(in srgb, var(--tile) 55%, transparent);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 12px;margin:0 0 12px;padding:10px 12px;display:grid}.standing dt{color:var(--muted);font-size:.85rem}.standing dd{margin:0;font-weight:600}.standing dd.dim{color:var(--muted);text-align:right;font-size:.85rem;font-weight:400}.standing dd.wide{grid-column:2/4}.leaders-more{text-align:center;margin:8px 0 0}.empty,.leaders-foot{color:var(--muted);text-align:center;margin:6px 2px 0;font-size:.9rem}.leaders-foot{line-height:2.2}a{color:var(--water);font-weight:600}.ad{flex-direction:column;align-items:center;gap:4px;margin:4px 0 18px;display:flex}.ad-banner{min-height:118px}.ad-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem;line-height:1.2}.ad-preview{border:2px dashed var(--frame);max-width:100%;color:var(--muted);border-radius:10px;place-items:center;font-size:.85rem;display:grid}.ad:has(ins[data-ad-status=unfilled]){display:none}.rail{display:none}@media (min-width:1200px){.layout{grid-template-columns:1fr minmax(0,520px) 1fr;align-items:start;column-gap:24px;display:grid}.layout>.wrap{grid-column:2;width:100%}.rail{justify-self:start;margin-top:58px;display:block;position:sticky;top:24px}.ad-banner{display:none}}.legal{color:var(--muted);margin:14px 0 0;font-size:.85rem}.linkish{appearance:none;cursor:pointer;font:inherit;color:var(--water);background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.page h1{margin-top:8px;font-size:clamp(2rem,8vw,2.6rem)}.page .panel{background:var(--panel);border-radius:16px;margin-top:16px;padding:4px 18px 8px;line-height:1.5}.page .panel h2{letter-spacing:-.02em;margin:14px 0 6px;font-size:1.2rem}.page ul{padding-left:1.2em}.page li{margin-bottom:6px}.formula{color:var(--ink);background:var(--tile);text-align:center;border-radius:10px;padding:10px 14px;font-size:1.15rem;font-weight:700}.examples{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:10px;font-size:.9rem}.examples th,.examples td{text-align:right;padding:6px 4px}.examples th:first-child,.examples td:first-child{text-align:left}.examples th{color:var(--muted);font-weight:600}.examples tbody tr:nth-child(odd){background:color-mix(in srgb, var(--tile) 55%, transparent)}.intro{z-index:50;overscroll-behavior:contain;padding:calc(24px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));background:radial-gradient(70% 50% at 50% 28%, color-mix(in srgb, var(--water) 18%, transparent), transparent 70%), var(--bg);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}[data-intro=seen] .intro{display:none}.intro-inner{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:380px;display:flex}.intro-inner>*{animation:.6s cubic-bezier(.2,.8,.2,1) both rise}.intro-inner>:nth-child(2){animation-delay:.12s}.intro-inner>:nth-child(3){animation-delay:.2s}.intro-inner>:nth-child(4){animation-delay:.28s}.intro-inner>:nth-child(n+5){animation-delay:.36s}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.intro-board{border-radius:14px;grid-template-columns:repeat(5,1fr);width:min(236px,62vw);margin:0 0 26px;padding:6px;transition:box-shadow .7s ease-out}.intro-board .tile{cursor:default;border-radius:6px}.intro-board.solved{box-shadow:0 12px 60px color-mix(in srgb, var(--water) 50%, transparent)}.intro h1{color:#0000;background:linear-gradient(to top, var(--water) 50%, color-mix(in srgb, var(--water) 28%, var(--bg)) 50%) 0 var(--fill,0%) / 100% 200% no-repeat;-webkit-background-clip:text;background-clip:text;padding:0 .04em;font-size:clamp(3.6rem,18vw,5rem);line-height:1.1;transition:background-position .45s ease-out}.intro .tagline{color:var(--muted);max-width:30ch;margin:12px 0 0;font-size:1.05rem;line-height:1.45}.intro button.play{box-shadow:0 6px 24px color-mix(in srgb, var(--water) 40%, transparent);margin-top:26px;padding:15px 64px;font-size:1.2rem}.intro-extra{flex-direction:column;align-items:center;gap:10px;min-height:36px;margin-top:14px;display:flex}.intro .chip{font-size:.95rem;font-weight:600}.intro .meta{min-height:1.3em;color:var(--muted);letter-spacing:.02em;margin:18px 0 0;font-size:.85rem}.intro.leaving{pointer-events:none;animation:.45s cubic-bezier(.55,0,.75,.2) forwards drain}@keyframes drain{0%{clip-path:inset(0)}to{clip-path:inset(100% 0 0)}}@media (prefers-reduced-motion:reduce){.spin,.water,.capi{transition:none}.board.solved .tile{animation:none}.intro-inner>*,.intro h1,.intro-board{transition:none;animation:none}.intro.leaving{animation:.2s forwards fade}}@keyframes fade{to{opacity:0}}
