@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f7;--surface:#fff;--surface-2:#f1f1f3;--surface-3:#e8e8eb;--ink:#0b0b0f;--ink-2:#565662;--ink-3:#8a8a96;--line:#e3e3e8;--line-strong:#cdcdd5;--primary:#0b0b0f;--primary-hover:#2a2a33;--primary-ink:#fff;--accent:#2557d6;--accent-soft:#2557d61a;--accent-ink:#fff;--good:#157a43;--good-soft:#eaf6ef;--bad:#b42318;--bad-soft:#fdecea;--warn:#9a5b00;--warn-ink:#7a4500;--gold:#d29200;--card:#fff;--card-edge:#d9d9df;--c0:#d9480f;--c1:#1f5bd6;--c2:#0f8a5f;--toast-bg:#0b0b0f;--toast-ink:#fff;--toast-good:#4ade80;--toast-bad:#ff8a80;--r-sm:4px;--r:6px;--r-lg:10px;--shadow-1:0 1px 2px #1010180f;--shadow-2:0 4px 14px #10101814, 0 1px 2px #1010180f;--shadow-3:0 18px 48px #10101833;--ease:cubic-bezier(.2, .7, .2, 1);font-feature-settings:"cv11", "ss01";color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0e;--surface:#131317;--surface-2:#1b1b21;--surface-3:#25252d;--ink:#f3f3f5;--ink-2:#a5a5b0;--ink-3:#6e6e7a;--line:#26262e;--line-strong:#383842;--primary:#f3f3f5;--primary-hover:#d9d9df;--primary-ink:#0b0b0e;--accent:#7aa2ff;--accent-soft:#7aa2ff24;--accent-ink:#0b0b0e;--good:#3dd68c;--good-soft:#3dd68c1a;--bad:#ff7b6e;--bad-soft:#ff7b6e1a;--warn:#f0b44c;--warn-ink:#f0b44c;--gold:#f5b82e;--card:#17171c;--card-edge:#2f2f38;--c0:#ff7a45;--c1:#6e9cff;--c2:#36d39a;--toast-bg:#f3f3f5;--toast-ink:#0b0b0e;--toast-good:#15803d;--toast-bad:#b42318;--shadow-1:0 1px 2px #00000080;--shadow-2:0 6px 18px #00000073;--shadow-3:0 18px 48px #0009}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0e;--surface:#131317;--surface-2:#1b1b21;--surface-3:#25252d;--ink:#f3f3f5;--ink-2:#a5a5b0;--ink-3:#6e6e7a;--line:#26262e;--line-strong:#383842;--primary:#f3f3f5;--primary-hover:#d9d9df;--primary-ink:#0b0b0e;--accent:#7aa2ff;--accent-soft:#7aa2ff24;--accent-ink:#0b0b0e;--good:#3dd68c;--good-soft:#3dd68c1a;--bad:#ff7b6e;--bad-soft:#ff7b6e1a;--warn:#f0b44c;--warn-ink:#f0b44c;--gold:#f5b82e;--card:#17171c;--card-edge:#2f2f38;--c0:#ff7a45;--c1:#6e9cff;--c2:#36d39a;--toast-bg:#f3f3f5;--toast-ink:#0b0b0e;--toast-good:#15803d;--toast-bad:#b42318;--shadow-1:0 1px 2px #00000080;--shadow-2:0 6px 18px #00000073;--shadow-3:0 18px 48px #0009}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);overscroll-behavior-y:none}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-2)}.small{font-size:.85rem}.center{text-align:center}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:6px;font-size:.72rem;font-weight:600;display:inline-flex}.icon{flex:none}.app{max-width:1120px;min-height:100dvh;margin:0 auto}.screen{min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));animation:fade-in .25s var(--ease);flex-direction:column;gap:16px;display:flex}@keyframes fade-in{0%{opacity:0}}.btn{border-radius:var(--r);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:.93rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--primary);color:var(--primary-ink)}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.btn--secondary{background:var(--surface);border-color:var(--line-strong)}.btn--secondary:hover:not(:disabled){background:var(--surface-2)}.btn--ghost{border-color:var(--line);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.btn--danger{background:var(--bad);color:#fff}:root[data-theme=dark] .btn--danger{color:#0b0b0e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn--danger{color:#0b0b0e}}.btn--block{width:100%}.icon-btn{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;flex:none;place-items:center;transition:background .15s,border-color .15s;display:inline-grid}.icon-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}.icon-btn-spacer{width:38px}.link-btn{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:600}.link-btn:hover{text-decoration:underline}.pill{border-radius:var(--r-sm);letter-spacing:.02em;align-self:center;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.pill--good{background:var(--good-soft);color:var(--good)}.pill--accent{background:var(--accent-soft);color:var(--accent)}.topbar{grid-template-columns:38px 1fr 38px;align-items:center;gap:12px;display:grid}.topbar__title{text-align:center;min-width:0}.topbar__title h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;overflow:hidden}.topbar__title p{color:var(--ink-2);font-size:.8rem}.hud{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);align-self:center;display:flex;overflow:hidden}.stat{flex-direction:column;align-items:flex-start;min-width:84px;padding:7px 14px;display:flex}.stat+.stat{border-left:1px solid var(--line)}.stat__label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.68rem;font-weight:600}.stat__value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.2rem;font-weight:600;line-height:1.3}.stat__sub{color:var(--ink-2);font-size:.78rem;font-weight:500}.stat--warn .stat__value{color:var(--warn)}.hearts{gap:3px;padding:5px 0 4px;display:inline-flex}.heart{color:var(--line-strong);transition:color .25s;display:inline-flex}.heart.is-on{color:var(--bad)}.board{width:100%;position:relative}.board__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,2vw,10px);display:grid}.board--mini .board__grid{gap:3px}.cell{aspect-ratio:5/6;background:var(--card);border:1px solid var(--card-edge);min-width:0;box-shadow:var(--shadow-1);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s var(--ease), box-shadow .15s, border-color .15s, opacity .15s;border-radius:8px;place-items:center;padding:0;display:grid;position:relative}.board--mini .cell{box-shadow:none;border-radius:3px}button.cell:hover:not(:disabled){border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.cell__inner{position:absolute;inset:0}.cell__art{width:100%;height:100%;padding:8% 9%;display:block;position:absolute;inset:0}.board--mini .cell__art{padding:7%}.cell.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-2);transform:translateY(-2px)}.cell.is-swap-from{border:1.5px dashed var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cell.is-highlight{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 28%, transparent);animation:1.4s ease-in-out infinite hint-pulse}.cell.is-dragging{opacity:.3}.cell.is-drop-target{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);transform:scale(1.03)}.cell--empty{border:1px dashed var(--line-strong);box-shadow:none;cursor:default;animation:fade-in .3s var(--ease);background:0 0}.cell:disabled{cursor:default}.cell__badge{border-radius:var(--r-sm);background:var(--primary);color:var(--primary-ink);font-variant-numeric:tabular-nums;animation:fade-in .2s var(--ease);padding:1px 6px;font-size:.72rem;font-weight:600;position:absolute;top:6px;right:6px}.board--mini .cell__badge{padding:0 3px;font-size:.6rem;top:2px;right:2px}.board__lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board__line{stroke:var(--good);stroke-width:5px;stroke-linecap:round;opacity:.6;animation:fade-in .35s var(--ease)}.board--mini .board__line{stroke-width:3px}.drag-ghost{z-index:60;pointer-events:none;background:var(--card);border:1px solid var(--accent);box-shadow:var(--shadow-3);border-radius:8px;position:fixed;top:0;left:0;scale:1.04}.anim-pop{animation:pop .22s var(--ease)}.anim-shake{animation:.36s shake}.anim-deal{animation:deal .32s var(--ease)}.anim-glow{border-radius:8px;animation:.9s glow}@keyframes pop{0%{transform:scale(.94)}}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes deal{0%{opacity:0;transform:translateY(-8px)}}@keyframes glow{30%{background:var(--good-soft)}}@keyframes hint-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--gold) 16%, transparent)}}.game__main{flex-direction:column;flex:1;align-items:center;gap:14px;display:flex}.game__board{width:min(100%,520px,max(250px,84dvh - 378px))}.game__dock{flex-direction:column;gap:10px;width:100%;max-width:520px;display:flex}@media (width>=900px){.game__main{grid-template:"board hud""board dock"1fr/minmax(0,580px) 360px;justify-content:center;align-items:start;gap:12px 32px;padding-top:8px;display:grid}.hud{grid-area:hud;align-self:stretch}.hud .stat{flex:1}.game__board{grid-area:board;justify-self:end;width:min(100%,83dvh - 107.9px)}.game__dock{grid-area:dock;max-width:none}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);animation:panel-in .2s var(--ease);padding:14px}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}}.status{flex-direction:column;gap:4px;display:flex}.status__title{letter-spacing:-.005em;align-items:center;gap:8px;font-weight:600;display:flex}.status .muted{font-size:.9rem}.status .btn{align-self:flex-start;margin-top:8px}.actions{gap:8px;display:flex}.actions .btn{flex:1}.edit{flex-direction:column;gap:12px;display:flex}.edit__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.edit__current{align-items:center;gap:10px;min-width:0;display:flex}.edit__name{text-transform:capitalize;letter-spacing:-.005em;font-weight:600}.edit__rows{flex-direction:column;gap:8px;display:flex}.edit__row{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;display:grid}.edit__label{flex-direction:column;font-size:.82rem;font-weight:600;display:flex}.edit__now{color:var(--ink-2);text-transform:capitalize;font-size:.75rem;font-weight:400}.edit__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.edit__swap{width:100%}@media (width<=400px){.edit__row{grid-template-columns:1fr;gap:4px}.edit__label{flex-direction:row;align-items:baseline;gap:6px}}.option{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;align-items:center;gap:8px;min-width:0;min-height:46px;padding:4px 8px 4px 4px;transition:border-color .15s,background .15s;display:flex}.option:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.option:disabled{cursor:not-allowed;background:var(--surface-2)}.option:disabled .option__card,.option:disabled .option__text{opacity:.45}.option.is-hint{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 25%, transparent)}.option__card,.mini-card{border-radius:var(--r-sm);background:var(--card);border:1px solid var(--card-edge);flex:none;place-items:center;width:32px;height:38px;display:grid;position:relative}.option__card svg,.mini-card svg{width:100%;height:100%;padding:2px;position:absolute;inset:0}.option__text{text-transform:capitalize;text-overflow:ellipsis;flex-direction:column;min-width:0;font-size:.86rem;font-weight:500;line-height:1.2;display:flex;overflow:hidden}.option__note{color:var(--ink-2);text-transform:none;font-size:.7rem;font-weight:500}.trios{border-color:color-mix(in srgb, var(--good) 45%, var(--line));background:var(--good-soft);flex-direction:column;gap:10px;display:flex}.trios .eyebrow{color:var(--good)}.trios__list{flex-wrap:wrap;gap:8px;display:flex}.trio-btn{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;align-items:center;gap:4px;padding:5px 12px 5px 5px;transition:border-color .15s;display:inline-flex}.trio-btn:hover{border-color:var(--good)}.trio-btn.is-hint{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 25%, transparent)}.trio-btn .mini-card{width:26px;height:31px}.trio-btn__label{color:var(--ink);margin-left:6px;font-size:.88rem;font-weight:600}.tip{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 10px;font-size:.9rem;display:grid}.tip>.icon{color:var(--accent);margin-top:2px}.tip strong{font-weight:600}.tip__ok{background:var(--surface);grid-column:2;justify-self:start;min-height:34px;margin-top:6px}.toast{left:50%;top:max(12px, env(safe-area-inset-top));z-index:70;border-radius:var(--r);background:var(--toast-bg);width:max-content;max-width:min(520px,100vw - 132px);min-height:38px;color:var(--toast-ink);box-shadow:var(--shadow-3);animation:toast 2.2s var(--ease) forwards;pointer-events:none;align-items:center;gap:8px;padding:7px 14px;font-size:.88rem;font-weight:500;line-height:1.3;display:inline-flex;position:fixed;translate:-50%}.toast--good .icon{color:var(--toast-good)}.toast--bad .icon{color:var(--toast-bad)}@keyframes toast{0%{opacity:0;transform:translateY(-6px)}8%,88%{opacity:1;transform:none}to{opacity:0}}.home{gap:24px;max-width:760px;margin:0 auto}.home__head{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.home__tools{gap:6px;display:flex}.home__main{flex-direction:column;gap:24px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand__mark{border-radius:var(--r);background:#0b0b0f;flex:none;align-items:center;gap:3px;padding:9px 8px;display:inline-flex}:root[data-theme=dark] .brand__mark{background:var(--surface-3)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand__mark{background:var(--surface-3)}}.brand__mark i{width:10px;height:10px;display:block}.brand__mark i:first-child{background:#ff7a45;border-radius:50%}.brand__mark i:nth-child(2){clip-path:polygon(50% 0,100% 100%,0 100%);background:#6e9cff}.brand__mark i:nth-child(3){border:2px solid #36d39a;border-radius:1px}.brand__name{letter-spacing:-.015em;white-space:nowrap;font-size:1.05rem;font-weight:700}.brand__tag{color:var(--ink-2);font-size:.78rem}@media (width<=420px){.brand__tag{display:none}}.daily{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;display:grid}.daily h2{letter-spacing:-.025em;margin:6px 0 2px;font-size:1.45rem;font-weight:700;line-height:1.2}.daily__info{flex-direction:column;gap:2px;min-width:0;display:flex}.daily__info>.muted{font-size:.88rem}.daily__done{color:var(--good);align-items:center;gap:6px;margin-top:6px;font-size:.88rem;font-weight:600;display:inline-flex}.daily__cta{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding-top:16px;display:flex}.daily__cta .btn--primary{min-width:132px}@media (width<=400px){.daily__cta .btn{flex:auto;padding:0 12px}.daily__cta .btn--primary{flex-basis:100%}}.daily__board{width:clamp(88px,26vw,168px)}.streak{color:var(--warn);align-items:center;gap:4px;margin-top:4px;font-size:.85rem;font-weight:600;display:inline-flex}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;font-size:.72rem;font-weight:600}.modes{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.modes li+li{border-top:1px solid var(--line)}.mode-card{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:background .15s;display:flex}.mode-card:hover{background:var(--surface-2)}.mode-card__glyph{border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);width:38px;height:38px;color:var(--ink);flex:none;place-items:center;display:grid}.mode-card__text{flex-direction:column;flex:1;min-width:0;display:flex}.mode-card__name{letter-spacing:-.005em;font-weight:600}.mode-card__tag{color:var(--ink-2);font-size:.86rem}.mode-card__go{color:var(--ink-3)}.home__foot{text-align:center;padding-bottom:4px;font-size:.8rem}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field__label{color:var(--ink-2);font-size:.8rem;font-weight:600}.segmented{border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:3px;display:grid}.segmented__opt{border-radius:var(--r-sm);min-height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:.86rem;font-weight:500;transition:background .15s,color .15s}.segmented__opt:hover:not(:disabled):not(.is-on){color:var(--ink)}.segmented__opt.is-on{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong), var(--shadow-1)}.segmented__opt:disabled{opacity:.4;cursor:not-allowed}.setup__goal{margin-bottom:18px;font-size:.92rem}.input{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:40px;color:var(--ink);font:inherit;padding:0 12px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-error{color:var(--bad);font-size:.85rem;font-weight:500}.modal{color:var(--ink);background:0 0;border:none;max-width:100vw;max-height:100dvh;padding:0}.modal::backdrop{background:#08080c80}.modal__box{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-3);flex-direction:column;max-height:min(88dvh,820px);display:flex}.modal--sheet{width:100%;margin:auto auto 0}.modal--sheet .modal__box{border-radius:var(--r-lg) var(--r-lg) 0 0;animation:sheet-in .25s var(--ease);padding-bottom:env(safe-area-inset-bottom);border-bottom:none}.modal--dialog{width:min(400px,100vw - 32px);margin:auto}.modal--dialog .modal__box{border-radius:var(--r-lg);animation:dialog-in .18s var(--ease)}@media (width>=640px){.modal--sheet{width:min(560px,100vw - 48px);margin:auto}.modal--sheet .modal__box{border-radius:var(--r-lg);border-bottom:1px solid var(--line)}}.modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 12px 12px 20px;display:flex}.modal__head h2{letter-spacing:-.01em;font-size:1rem;font-weight:600}.modal__body{padding:18px 20px 20px;overflow-y:auto}.modal__foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.modal__foot .btn{flex:1}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}}.howto{flex-direction:column;gap:12px;display:flex}.howto h3{letter-spacing:-.01em;margin-top:12px;font-size:.95rem;font-weight:600}.howto h3:first-child{margin-top:0}.example{border-radius:var(--r-lg);border:1px solid var(--line);flex-direction:column;gap:12px;padding:14px;display:flex}.example__tag{letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:inline-flex}.example--ok .example__tag{color:var(--good)}.example--bad .example__tag{color:var(--bad)}.example-row{justify-content:center;gap:10px;display:flex}.example-card{aspect-ratio:5/6;border-radius:var(--r);background:var(--card);border:1px solid var(--card-edge);place-items:center;width:70px;padding:0;display:grid;position:relative}.example-card svg{width:100%;height:100%;padding:6px;position:absolute;inset:0}.example-card--btn{cursor:pointer;transition:border-color .15s,transform .15s}.example-card--btn:hover:not(:disabled){border-color:var(--line-strong);transform:translateY(-1px)}.example-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.example-card.is-win{border-color:var(--good)}.breakdown{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.86rem;list-style:none;display:flex}.breakdown li{grid-template-columns:16px 52px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.breakdown li .icon{align-self:center}.breakdown strong{font-weight:600}.breakdown__kind{text-transform:none}.breakdown .is-ok svg{color:var(--good)}.breakdown .is-bad svg{color:var(--bad)}.breakdown .muted{text-transform:capitalize}.practice{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:12px;padding:14px;display:flex}.practice .panel{animation:none}.practice__win{color:var(--good);justify-content:center;align-items:center;gap:6px;font-weight:600;display:flex}.bullets{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:.92rem;display:flex}.mode-list{flex-direction:column;gap:10px;margin:0;display:flex}.mode-list dt{font-weight:600}.mode-list dd{color:var(--ink-2);margin:0;font-size:.9rem}.handoff{justify-content:center;align-items:center}.handoff__box{text-align:center;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow-2);flex-direction:column;align-items:center;gap:12px;padding:28px 24px 24px;display:flex}.handoff__box h1{letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.handoff__box>.muted{font-size:.92rem}.handoff__icon{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-2);width:52px;height:52px;color:var(--ink);place-items:center;display:grid}.challenge__vs{border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);width:100%;padding:10px 14px}.results__main{flex-direction:column;gap:16px;width:min(560px,100%);margin:0 auto;display:flex}.results__grid,.results__primary,.results__side{flex-direction:column;gap:16px;display:flex}@media (width>=900px){.results__main{width:min(960px,100%)}.results__grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}}.results__banner{text-align:center;letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.results__pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;display:flex}.result--win{border-color:var(--good);box-shadow:0 0 0 1px var(--good)}.result__who{align-items:center;gap:6px;font-weight:600;display:flex}.result__score{flex-direction:column;align-items:center;line-height:1;display:flex}.result__big{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:3.5rem;font-weight:700}.result__small{color:var(--ink-2);margin-top:6px;font-size:.9rem;font-weight:500}.results__pair .result__big{font-size:2.5rem}.result__par{flex-direction:column;align-items:center;gap:2px;font-size:.9rem;display:flex}.result__board{width:min(220px,100%);margin-top:8px}.stars{gap:2px;display:inline-flex}.star{color:var(--surface-3);display:inline-flex}.star .icon{width:22px;height:22px}.star.is-on{color:var(--gold);animation:fade-in .3s var(--ease) backwards}.star.is-on:nth-child(2){animation-delay:80ms}.star.is-on:nth-child(3){animation-delay:.16s}.results__actions{flex-direction:column;gap:8px;display:flex}.tiles{border:1px solid var(--line);border-radius:var(--r-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}@media (width>=480px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{background:var(--surface);box-shadow:1px 0 0 var(--line), 0 1px 0 var(--line);flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.tile__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;align-items:center;gap:4px;font-size:1.5rem;font-weight:700;display:inline-flex}.tile__value .icon{color:var(--warn)}.tile__label{color:var(--ink-2);font-size:.72rem;font-weight:500}.stats__heading{letter-spacing:-.01em;margin:24px 0 4px;font-size:.95rem;font-weight:600}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:12px 0 0;padding:0;list-style:none;display:grid}.day{aspect-ratio:1;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;width:100%;transition:border-color .15s;display:flex;position:relative}.day:hover{border-color:var(--line-strong)}.day__num{color:var(--ink-2);font-size:.68rem;font-weight:500}.day__score{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600;line-height:1.1}.day__score--open{color:var(--ink-3)}.day--done{background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 40%, var(--line))}.day--done .day__score{color:var(--good)}.day--late{background:var(--surface-2)}.day.is-today{border:1.5px solid var(--ink)}.bests{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.bests li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;font-size:.92rem;display:flex}.bests li:last-child{border-bottom:none}.bests strong{font-weight:600}.bests li>span:first-child .muted{text-transform:capitalize}.bests__score{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.leaderboard{flex-direction:column;gap:12px;display:flex}.modal .leaderboard{border:none;padding:0}.modal .leaderboard__head h3{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.leaderboard__head{justify-content:space-between;align-items:center;display:flex}.leaderboard__head h3{align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:inline-flex}.leaderboard__submit{border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:6px;padding:12px;display:flex}.leaderboard__row{gap:8px;display:flex}.leaderboard__posted{color:var(--good);align-items:center;gap:6px;font-weight:600;display:flex}.leaderboard__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.leaderboard__list li{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 6px;font-size:.92rem;display:grid}.leaderboard__list li:last-child{border-bottom:none}.leaderboard__list li.is-me{background:var(--accent-soft);border-radius:var(--r-sm)}.leaderboard__rank{color:var(--ink-2);text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.leaderboard__name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-weight:500;display:inline-flex;overflow:hidden}.leaderboard__moves{font-variant-numeric:tabular-nums;font-weight:600}.avatar{color:#fff;letter-spacing:0;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid}.account-btn{border:1px solid var(--line);background:var(--surface);height:38px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;max-width:160px;padding:0 10px 0 4px;transition:background .15s,border-color .15s;display:inline-flex}.account-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}.account-btn__name{white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:600;overflow:hidden}.account-signin{min-height:38px;padding:0 12px}@media (width<=480px){.account-btn{justify-content:center;width:38px;padding:0 3px}.account-btn__name{display:none}}.dot{background:var(--ink-3);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dot--live{background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}.online-card{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.online-card h2{letter-spacing:-.015em;margin:4px 0 2px;font-size:1.1rem;font-weight:700}.online-card .muted{font-size:.88rem}.online-card .btn{flex:none}@media (width<=520px){.online-card{flex-direction:column;align-items:stretch}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row .input{flex:160px;width:auto}.note{border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);margin:4px 0 16px;padding:10px 12px;font-size:.86rem}.form{flex-direction:column;display:flex}.form .btn--primary{margin-top:4px}.form-ok{color:var(--good);font-size:.85rem;font-weight:500}.divider{color:var(--ink-2);align-items:center;gap:12px;margin:18px 0;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.modal__body>.btn--block+.small{margin-top:10px}.panel__title{letter-spacing:-.01em;margin-bottom:10px;font-size:.95rem;font-weight:600}.empty{flex-direction:column;align-items:flex-start;gap:10px;padding:24px;display:flex}.empty h2{letter-spacing:-.015em;font-size:1.15rem;font-weight:700}.lobby__main,.profile__main{flex-direction:column;gap:16px;width:min(640px,100%);margin:0 auto;display:flex}.player-strip{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);align-items:center;gap:8px;padding:6px;display:flex}.player-strip__profile{border-radius:var(--r);min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:6px 8px;display:flex}.player-strip__profile:hover{background:var(--surface-2)}.player-strip__profile .icon{color:var(--ink-3);margin-left:auto}.player-strip__main{flex-direction:column;min-width:0;display:flex}.player-strip__name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.player-strip__cta{min-height:36px;margin-right:4px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-head .section-title{margin-bottom:8px}.mode-card:disabled{cursor:not-allowed;opacity:.55}.mode-card .pill{flex:none}.friends{flex-direction:column;gap:10px;display:flex}.friends .panel__title{margin-bottom:0}.input--code{letter-spacing:.3em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem}.input--code::placeholder{letter-spacing:.02em;text-transform:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.93rem}.searching{align-items:center;gap:14px;padding:18px;display:flex}.searching>div{flex:1}.searching__title{font-weight:600}.spinner{border:2px solid var(--line-strong);border-top-color:var(--ink);border-radius:50%;flex:none;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.room{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 18px;display:flex}.room__code{letter-spacing:.22em;padding-left:.22em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:2.6rem;font-weight:700;line-height:1.1}.room .row{justify-content:center;margin-top:6px}.mode-pick{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.mode-pick__opt{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink-2);cursor:pointer;text-align:left;align-items:center;gap:8px;padding:0 10px;font-size:.86rem;font-weight:500;display:flex}.mode-pick__opt:hover{border-color:var(--line-strong);color:var(--ink)}.mode-pick__opt.is-on{border-color:var(--ink);color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.versus{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);grid-template-columns:auto 1fr auto;align-self:center;align-items:center;gap:10px;width:min(100%,980px);padding:8px 10px;display:grid}.versus__side{align-items:center;gap:8px;min-width:0;display:flex}.versus__side--opp{text-align:right;justify-content:flex-end}.versus__meta{flex-direction:column;align-items:flex-end;min-width:0;display:flex}.versus__name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.9rem;font-weight:600;overflow:hidden}.versus__vs{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);justify-self:center;font-size:.68rem;font-weight:600}.versus__status{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:.76rem;display:inline-flex}.versus__status .dot{background:var(--accent)}.versus__status.is-done .dot{background:var(--good)}.versus__status.is-warn .dot{background:var(--warn)}.versus__status .hearts{padding:0}.versus__status .heart .icon{width:11px;height:11px}.idle-bar{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:75;border-radius:var(--r-lg);background:var(--toast-bg);width:min(520px,100vw - 32px);color:var(--toast-ink);box-shadow:var(--shadow-3);animation:panel-in .2s var(--ease);align-items:center;gap:12px;padding:10px 10px 10px 16px;font-size:.9rem;display:flex;position:fixed;translate:-50%}.idle-bar span{flex:1}.idle-bar .btn--primary{background:var(--toast-ink);color:var(--toast-bg);min-height:36px}.app:has(.waiting) .toast{display:none}.waiting{z-index:65;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .25s var(--ease);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.waiting__box{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);width:min(400px,100%);box-shadow:var(--shadow-3);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:26px 22px 20px;display:flex}.waiting__title{font-size:1.05rem;font-weight:650}.results__banner--win{color:var(--good)}.results__banner--loss{color:var(--bad)}.delta{border-radius:var(--r-sm);font-variant-numeric:tabular-nums;align-items:center;gap:2px;padding:1px 6px;font-size:.8rem;font-weight:600;display:inline-flex}.delta--up{color:var(--good);background:var(--good-soft)}.delta--down{color:var(--bad);background:var(--bad-soft)}.result__who .avatar{margin-right:2px}.profile__card{flex-direction:column;gap:16px;display:flex}.profile__id{align-items:center;gap:14px;display:flex}.profile__name{letter-spacing:-.015em;font-size:1.2rem;font-weight:700}.profile__stats{border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.profile__stats>div{padding:10px 12px}.profile__stats>div+div{border-left:1px solid var(--line)}.profile__stats dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.68rem;font-weight:600}.profile__stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.25rem;font-weight:650}.profile__form{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.callout{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft);justify-content:space-between;align-items:center;gap:14px;display:flex}.callout__title{font-weight:600}@media (width<=480px){.callout{flex-direction:column;align-items:stretch}}.swatches{flex-wrap:wrap;gap:8px;margin:6px 0 10px;display:flex}.swatch{border:2px solid var(--surface);width:32px;height:32px;box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;border-radius:50%}.swatch.is-on{box-shadow:0 0 0 2px var(--ink)}.history{margin:0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.history li:last-child{border-bottom:none}.history__outcome{border-radius:var(--r-sm);place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:grid}.history__outcome--win{background:var(--good-soft);color:var(--good)}.history__outcome--loss{background:var(--bad-soft);color:var(--bad)}.history__outcome--tie{background:var(--surface-2);color:var(--ink-2)}.history__main{flex-direction:column;min-width:0;display:flex}.history__vs{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.history__score{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-weight:600;display:flex}.dnf{letter-spacing:.04em;color:var(--ink-2);font-size:.72rem;font-weight:600}.home__foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.field__row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.form__lead{margin-bottom:14px}.form__back{align-self:center;margin-top:12px}.account-email{border:1px solid var(--line);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.account-email>span:first-child{flex-direction:column;min-width:0;display:flex}.account-email__value{overflow-wrap:anywhere;font-weight:600}.account-email__unverified{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pill--warn{background:color-mix(in srgb, var(--warn) 12%, transparent);color:var(--warn-ink)}.change-pw{margin-bottom:12px}.change-pw .form-ok{flex-basis:100%}.danger-zone{border-color:color-mix(in srgb, var(--bad) 30%, var(--line));flex-direction:column;align-items:flex-start;gap:8px;display:flex}.danger-zone .panel__title{margin-bottom:0}.btn--danger-ghost{border-color:color-mix(in srgb, var(--bad) 45%, var(--line));color:var(--bad);background:0 0}.btn--danger-ghost:hover:not(:disabled){background:var(--bad-soft)}.toast--app{top:auto;bottom:max(20px, env(safe-area-inset-bottom))}.my-code{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.my-code__value,.mono{letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.my-code__value{margin:4px 0 2px;font-size:1.6rem;font-weight:700}.people{margin:0;padding:0;list-style:none}.people li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.people li:last-child{border-bottom:none}.people__avatar{flex:none;display:inline-flex;position:relative}.presence{border:2px solid var(--surface);background:var(--ink-3);border-radius:50%;width:12px;height:12px;position:absolute;bottom:-1px;right:-1px}.presence--online{background:var(--good)}.presence--in-match{background:var(--warn)}.people__main{flex-direction:column;flex:1;min-width:0;display:flex}.people__name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.people__actions{flex:none;align-items:center;gap:6px;display:flex}.btn--sm{min-height:34px;padding:0 12px;font-size:.86rem}.icon-btn--sm{width:34px;height:34px}.invite-wait{align-items:center;gap:14px;display:flex}.invite-wait>div{flex:1}.invite{align-items:flex-start;gap:14px;display:flex}.invite__title{margin-bottom:4px}.profile__friends{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.friends .btn .pill{margin-left:4px}@media (width<=360px){.screen{gap:12px}.stat{min-width:0;padding:6px 10px}.daily{padding:16px}.daily h2{font-size:1.25rem}.icon-btn{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
