@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-soft-normal-DSA2Kggd.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-soft-normal-DKHvU-YN.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-soft-normal-C-lS_vzd.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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-ui:"Figtree Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg:#efe5cf;--bg-deep:#e2d4b6;--surface:#fbf6ea;--surface-2:#f4ecda;--surface-3:#e9ddc4;--ink:#2a2019;--ink-2:#67553f;--ink-3:#9b8873;--line:#e2d5ba;--line-strong:#cbb894;--edge:#d9c9a8;--primary:#8e2f3b;--primary-hover:#a03846;--primary-edge:#5c1c26;--primary-ink:#fff7ea;--accent:#8e2f3b;--accent-soft:#8e2f3b1a;--good:#24662f;--good-soft:#2e7a3f1f;--bad:#b2361f;--bad-soft:#b2361f1a;--warn:#94560a;--warn-ink:#84490a;--gold:#c98a12;--felt:#2f5a4c;--felt-stitch:#fff6e242;--select:#f2c14e;--chalk:#fffaf0;--card:#fffaf0;--card-edge:#e3d6bb;--card-side:#cdbb98;--c0:#d4501c;--c1:#2a5bb5;--c2:#1d8556;--mode-line:#2f5a4c;--mode-clear:#2a5bb5;--mode-survival:#b2452a;--toast-bg:#2a2019;--toast-ink:#fbf6ea;--toast-good:#8fd19e;--toast-bad:#ff9a85;--r-sm:6px;--r:10px;--r-lg:16px;--r-xl:22px;--shadow-1:0 2px 0 var(--edge), 0 3px 10px #462d1412;--shadow-2:0 3px 0 var(--edge), 0 10px 24px #462d1421;--shadow-3:0 24px 60px #28190a59;--ease:cubic-bezier(.2, .7, .2, 1);--bounce:cubic-bezier(.3, 1.5, .5, 1);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");font-family:var(--font-ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;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:#1c1713;--bg-deep:#120e0b;--surface:#2a221c;--surface-2:#322920;--surface-3:#3d3228;--ink:#f3eadb;--ink-2:#c4b49e;--ink-3:#8f7f6b;--line:#3b3128;--line-strong:#56473a;--edge:#110d0a;--primary:#a13e4a;--primary-hover:#b24a57;--primary-edge:#5a1b25;--primary-ink:#fff7ea;--accent:#ec9aa2;--accent-soft:#ec9aa224;--good:#7ed493;--good-soft:#7ed4931f;--bad:#ff8f75;--bad-soft:#ff8f751f;--warn:#f0b44c;--warn-ink:#f0b44c;--gold:#f0b43c;--felt:#24463b;--felt-stitch:#fff6e233;--card:#f1e8d4;--card-edge:#d6c7a8;--card-side:#9c8b6f;--mode-line:#2f6352;--mode-clear:#3563b8;--mode-survival:#b4492c;--toast-bg:#f3eadb;--toast-ink:#1c1713;--toast-good:#2b7339;--toast-bad:#b2361f;--shadow-1:0 2px 0 var(--edge), 0 3px 10px #0000004d;--shadow-2:0 3px 0 var(--edge), 0 10px 24px #0006;--shadow-3:0 24px 60px #0009;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1c1713;--bg-deep:#120e0b;--surface:#2a221c;--surface-2:#322920;--surface-3:#3d3228;--ink:#f3eadb;--ink-2:#c4b49e;--ink-3:#8f7f6b;--line:#3b3128;--line-strong:#56473a;--edge:#110d0a;--primary:#a13e4a;--primary-hover:#b24a57;--primary-edge:#5a1b25;--primary-ink:#fff7ea;--accent:#ec9aa2;--accent-soft:#ec9aa224;--good:#7ed493;--good-soft:#7ed4931f;--bad:#ff8f75;--bad-soft:#ff8f751f;--warn:#f0b44c;--warn-ink:#f0b44c;--gold:#f0b43c;--felt:#24463b;--felt-stitch:#fff6e233;--card:#f1e8d4;--card-edge:#d6c7a8;--card-side:#9c8b6f;--mode-line:#2f6352;--mode-clear:#3563b8;--mode-survival:#b4492c;--toast-bg:#f3eadb;--toast-ink:#1c1713;--toast-good:#2b7339;--toast-bad:#b2361f;--shadow-1:0 2px 0 var(--edge), 0 3px 10px #0000004d;--shadow-2:0 3px 0 var(--edge), 0 10px 24px #0006;--shadow-3:0 24px 60px #0009;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background-color:var(--bg);background-image:radial-gradient(130% 90% at 50% 10%, transparent 50%, var(--bg-deep) 100%), var(--grain);overscroll-behavior-y:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-variation-settings:"SOFT" 100;letter-spacing:-.01em;text-wrap:balance;font-weight:650;line-height:1.15}button{font:inherit;color:inherit}:focus-visible{outline:2.5px 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{color:var(--accent);align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.stamp{color:var(--accent);border:1.5px solid;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:.78rem;font-weight:700;display:inline-flex;rotate:-2deg}.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{--btn-edge:transparent;min-height:46px;box-shadow:0 3px 0 var(--btn-edge);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.95rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform 80ms,box-shadow 80ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 0 0 var(--btn-edge);transform:translateY(3px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--primary{--btn-edge:var(--primary-edge);background:var(--primary);color:var(--primary-ink)}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.btn--secondary{--btn-edge:var(--line-strong);background:var(--surface);border-color:var(--line-strong)}.btn--secondary:hover:not(:disabled){background:var(--surface-2)}.btn--ghost{border-color:var(--line-strong);box-shadow:none;background:0 0}.btn--ghost:hover:not(:disabled){background:var(--surface-2)}.btn--ghost:active:not(:disabled){transform:translateY(1px)}.btn--danger{--btn-edge:#6e2112;color:#fff7ea;background:#b2361f}.btn--danger:hover:not(:disabled){background:#c23f27}.btn--block{width:100%}.icon-btn{border:1.5px solid var(--line-strong);background:var(--surface);width:40px;height:40px;color:var(--ink);box-shadow:0 2px 0 var(--line-strong);cursor:pointer;border-radius:50%;flex:none;place-items:center;transition:background .15s,transform 80ms,box-shadow 80ms;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn:active{box-shadow:0 0 0 var(--line-strong);transform:translateY(2px)}.icon-btn-spacer{width:40px}.link-btn{color:var(--accent);cursor:pointer;text-decoration:underline;text-decoration-thickness:1.5px;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:700}.link-btn:hover{text-decoration-color:currentColor}.pill{border-radius:999px;align-self:center;align-items:center;gap:4px;padding:2px 9px;font-size:.74rem;font-weight:700;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:40px 1fr 40px;align-items:center;gap:12px;display:grid}.topbar__title{text-align:center;min-width:0}.topbar__title h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.25rem;overflow:hidden}.topbar__title p{color:var(--ink-2);font-size:.82rem}.hud{flex-wrap:wrap;justify-content:center;align-self:center;gap:8px;display:flex}.stat{background:var(--surface);min-width:78px;box-shadow:var(--shadow-1);border-radius:14px;flex-direction:column;align-items:center;padding:6px 14px 7px;display:flex}.stat__label{color:var(--ink-2);font-size:.74rem;font-weight:700}.stat__value{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums lining-nums;font-size:1.6rem;font-weight:700;line-height:1.1}.stat__sub{font-family:var(--font-ui);color:var(--ink-2);font-size:.8rem;font-weight:600}.stat--warn .stat__value{color:var(--warn)}.hearts{gap:3px;padding:7px 0 5px;display:inline-flex}.heart{color:var(--line-strong);transition:color .25s, transform .25s var(--bounce);display:inline-flex}.heart.is-on{color:var(--bad)}.felt,.example-row{border-radius:var(--r-xl);background-color:var(--felt);background-image:radial-gradient(120% 90% at 50% 30%, #ffffff12, transparent 65%), var(--grain);padding:clamp(10px,2.8vw,18px);position:relative;box-shadow:inset 0 2px 14px #00000059,inset 0 0 0 1px #00000040,0 1px #ffffff59}.felt:before,.example-row:before{content:"";border:1.5px dashed var(--felt-stitch);border-radius:calc(var(--r-xl) - 5px);pointer-events:none;position:absolute;inset:5px}.felt:has(.board--mini){border-radius:14px;padding:9px}.felt:has(.board--mini):before{border-width:1px;border-radius:11px;inset:3px}.board{width:100%;position:relative}.board__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(7px,2.2vw,12px);display:grid}.board--mini .board__grid{gap:4px}.cell{aspect-ratio:5/6;background:var(--card);min-width:0;box-shadow:inset 0 0 0 1px var(--card-edge), 0 2px 0 var(--card-side), 0 5px 10px #00000047;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .18s var(--ease), box-shadow .18s, opacity .15s;border:none;border-radius:10px;place-items:center;padding:0;display:grid;position:relative}.board--mini .cell{box-shadow:inset 0 0 0 1px var(--card-edge), 0 1px 0 var(--card-side);border-radius:4px}button.cell:hover:not(:disabled,.is-selected,.is-drop-target){box-shadow:inset 0 0 0 1px var(--card-edge), 0 2px 0 var(--card-side), 0 10px 16px #0000004d;transform:translateY(-3px)}button.cell:focus-visible{outline:2.5px solid var(--chalk);outline-offset:4px}.cell__inner{border-radius:inherit;position:absolute;inset:0}.cell__art{width:100%;height:100%;padding:9% 10%;display:block;position:absolute;inset:0}.board--mini .cell__art{padding:7%}.cell.is-selected{box-shadow:0 0 0 3.5px var(--select), 0 2px 0 var(--card-side), 0 16px 24px #00000061;transform:translateY(-7px)rotate(-1.5deg)}.cell.is-swap-from{outline:3px dashed var(--select);outline-offset:3px;transform:translateY(-4px)}.cell.is-highlight{box-shadow:0 0 0 3px var(--chalk), 0 2px 0 var(--card-side), 0 5px 10px #00000047;animation:1.4s ease-in-out infinite hint-pulse}.cell.is-dragging{opacity:.25}.cell.is-drop-target{box-shadow:0 0 0 3.5px var(--select), 0 2px 0 var(--card-side), 0 12px 20px #00000059;transform:scale(1.04)}.cell--empty{box-shadow:inset 0 0 0 1.5px var(--felt-stitch);cursor:default;animation:fade-in .3s var(--ease);background:0 0}.cell:disabled{cursor:default}.board__lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board__line{stroke:var(--select);stroke-width:7px;stroke-linecap:round;stroke-dasharray:1;opacity:.92;filter:drop-shadow(0 1px 1px #00000059);animation:draw-line .5s var(--ease) backwards}.board--mini .board__line{stroke-width:4px}@keyframes draw-line{0%{stroke-dashoffset:1px}}.drag-ghost{z-index:60;pointer-events:none;background:var(--card);box-shadow:0 0 0 3px var(--select), 0 24px 40px #0006;border-radius:10px;position:fixed;top:0;left:0;rotate:4deg;scale:1.06}.anim-pop{animation:pop .3s var(--bounce)}.anim-shake{animation:.36s shake}.anim-deal{animation:deal .42s var(--bounce)}.anim-glow{animation:.9s glow}@keyframes pop{0%{transform:scale(.88)rotate(-3deg)}}@keyframes shake{20%,60%{transform:translate(-5px)rotate(-1.5deg)}40%,80%{transform:translate(5px)rotate(1.5deg)}}@keyframes deal{0%{opacity:0;transform:translate(-30px,-40px)rotate(-14deg)scale(.9)}}@keyframes glow{30%{background:color-mix(in srgb, var(--select) 45%, transparent)}}@keyframes hint-pulse{50%{box-shadow:0 0 0 3px var(--chalk), 0 0 0 9px color-mix(in srgb, var(--chalk) 30%, transparent), 0 5px 10px #00000047}}.game__main{flex-direction:column;flex:1;align-items:center;gap:16px;display:flex}.game__board{width:min(100%,540px,max(270px,86dvh - 369.8px))}.game__dock{flex-direction:column;gap:10px;width:100%;max-width:540px;display:flex}@media (width>=900px){.game__main{grid-template:"board hud""board dock"1fr/minmax(0,600px) 360px;justify-content:center;align-items:start;gap:14px 36px;padding-top:8px;display:grid}.hud{flex-wrap:nowrap;grid-area:hud;align-self:stretch}.hud .stat{flex:1}.game__board{grid-area:board;justify-self:end;width:min(100%,84dvh - 100.8px)}.game__dock{grid-area:dock;max-width:none}}.panel{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-1);animation:panel-in .22s var(--ease);border:none;padding:16px}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}}.status{flex-direction:column;gap:4px;display:flex}.status__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;align-items:center;gap:8px;font-size:1.1rem;font-weight:650;line-height:1.25;display:flex}.status .muted{font-size:.92rem}.status .btn{align-self:flex-start;margin-top:8px}.actions{gap:10px;display:flex}.actions .btn{flex:1}.edit{flex-direction:column;gap:12px;display:flex}.edit__head{border-bottom:1.5px dashed var(--line-strong);justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.edit__current{align-items:center;gap:12px;min-width:0;display:flex}.edit__name{font-family:var(--font-display);font-variation-settings:"SOFT" 100;text-transform:capitalize;font-size:1.08rem;font-weight:650;line-height:1.25}.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:.84rem;font-weight:700;display:flex}.edit__now{color:var(--ink-2);text-transform:capitalize;font-size:.76rem;font-weight:500}.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:1.5px solid var(--line);background:var(--surface-2);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:9px;min-width:0;min-height:48px;padding:4px 8px 4px 5px;transition:border-color .15s,background .15s,transform .1s;display:flex}.option:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.option:active:not(:disabled){transform:translateY(1px)}.option:disabled{cursor:not-allowed;background:0 0;border-style:dashed}.option:disabled .option__card,.option:disabled .option__text{opacity:.45}.option.is-hint{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 14%, var(--surface));box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 28%, transparent)}.option__card,.mini-card{background:var(--card);width:32px;height:38px;box-shadow:inset 0 0 0 1px var(--card-edge), 0 1.5px 0 var(--card-side);border-radius:5px;flex:none;place-items:center;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:.88rem;font-weight:600;line-height:1.2;display:flex;overflow:hidden}.option__note{color:var(--ink-2);text-transform:none;font-size:.72rem;font-weight:500}.trios{background:color-mix(in srgb, var(--good) 10%, var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--good) 40%, transparent), var(--shadow-1);flex-direction:column;gap:10px;display:flex}.trios .eyebrow{color:var(--good)}.trios__list{flex-wrap:wrap;gap:8px;display:flex}.trio-btn{border:1.5px solid var(--line-strong);background:var(--surface);box-shadow:0 2px 0 var(--line-strong);cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:6px 14px 6px 6px;transition:border-color .15s,transform 80ms,box-shadow 80ms;display:inline-flex}.trio-btn:hover{border-color:var(--good)}.trio-btn:active{box-shadow:none;transform:translateY(2px)}.trio-btn.is-hint{border-color:var(--gold);box-shadow:0 2px 0 var(--line-strong), 0 0 0 3px color-mix(in srgb, var(--gold) 30%, transparent)}.trio-btn .mini-card{width:26px;height:31px}.trio-btn__label{color:var(--ink);margin-left:6px;font-size:.9rem;font-weight:700}.tip{background:color-mix(in srgb, var(--select) 26%, var(--surface));grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 10px;font-size:.92rem;display:grid}.tip>.icon{color:var(--accent);margin-top:2px}.tip strong{font-weight:700}.tip__ok{background:var(--surface);grid-column:2;justify-self:start;min-height:36px;margin-top:6px}.toast{left:50%;top:max(12px, env(safe-area-inset-top));z-index:70;background:var(--toast-bg);width:max-content;max-width:min(520px,100vw - 132px);min-height:40px;color:var(--toast-ink);box-shadow:var(--shadow-3);animation:toast 2.2s var(--ease) forwards;pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;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(-8px)scale(.96)}8%,88%{opacity:1;transform:none}to{opacity:0}}.home{gap:22px;max-width:780px;margin:0 auto}.home__head{justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.home__tools{align-items:center;gap:8px;display:flex}.home__main{flex-direction:column;gap:22px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand__mark{background:var(--card);box-shadow:inset 0 0 0 1px var(--card-edge), 0 2px 0 var(--card-side), 0 4px 10px #462d142e;border-radius:8px;flex:none;align-items:center;gap:3px;padding:10px 8px;display:inline-flex;rotate:-5deg}.brand__mark i{width:10px;height:10px;display:block}.brand__mark i:first-child{background:var(--c0);border-radius:50%}.brand__mark i:nth-child(2){background:var(--c1);clip-path:polygon(50% 0,100% 100%,0 100%)}.brand__mark i:nth-child(3){border:2.2px solid var(--c2);border-radius:1px}.brand__name{letter-spacing:-.02em;white-space:nowrap;font-size:1.6rem;font-weight:750;line-height:1.05}.brand__tag{color:var(--ink-2);font-size:.8rem;font-weight:600}@media (width<=420px){.brand__tag{display:none}.brand__name{font-size:1.35rem}}.daily{border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info board""cta cta";align-items:center;gap:18px 16px;padding:20px;display:grid}.daily__info{flex-direction:column;grid-area:info;gap:4px;min-width:0;display:flex}.daily h2{letter-spacing:-.025em;margin:10px 0 2px;font-size:2rem;font-weight:700}.daily__info>.muted{font-size:.9rem}.daily__done{color:var(--good);align-items:center;gap:6px;margin-top:6px;font-size:.9rem;font-weight:700;display:inline-flex}.daily__board{grid-area:board;width:clamp(104px,30vw,180px);rotate:2deg}.daily__cta{border-top:2px dashed var(--line-strong);flex-wrap:wrap;grid-area:cta;align-items:center;gap:8px;padding-top:18px;display:flex}.daily__cta .btn--primary{min-width:150px}@media (width<=400px){.daily__cta .btn{flex:auto;padding:0 12px}.daily__cta .btn--primary{flex-basis:100%}}.streak{color:var(--warn);align-items:center;gap:4px;margin-top:4px;font-size:.88rem;font-weight:700;display:inline-flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:10px;display:flex}.section-title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;letter-spacing:-.015em;color:var(--ink);font-size:1.35rem;font-weight:700;line-height:1.2}.modes{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.mode-card{--tint:var(--mode-line);border-radius:var(--r-lg);background:var(--surface);width:100%;box-shadow:var(--shadow-1);cursor:pointer;text-align:left;transition:transform .18s var(--ease), box-shadow .18s;border:none;align-items:center;gap:14px;padding:10px 14px 10px 10px;display:flex}.mode-card--clear{--tint:var(--mode-clear)}.mode-card--survival{--tint:var(--mode-survival)}.mode-card:hover:not(:disabled){box-shadow:var(--shadow-2);transform:translateY(-2px)rotate(-.4deg)}.mode-card:active:not(:disabled){box-shadow:0 0 0 var(--edge);transform:translateY(1px)}.mode-card__art{--glyph-accent:var(--select);background-color:var(--tint);width:64px;height:64px;color:var(--chalk);background-image:radial-gradient(100% 100% at 30% 20%,#ffffff2e,#0000 70%);border-radius:12px;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #00000026}.mode-card__text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.mode-card__name{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.15rem;font-weight:650;line-height:1.2}.mode-card__tag{color:var(--ink-2);font-size:.88rem;line-height:1.35}.mode-card__go{background:var(--surface-2);width:34px;height:34px;color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:50%;flex:none;place-items:center;transition:background .15s,color .15s;display:grid}.mode-card:hover:not(:disabled) .mode-card__go{background:var(--tint);color:var(--chalk);box-shadow:none}.mode-card:disabled{cursor:not-allowed;opacity:.55}.mode-card .pill{flex:none}.online-card{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.online-card h2{margin:4px 0 2px;font-size:1.25rem;font-weight:700}.online-card .muted{font-size:.9rem}.online-card .btn{flex:none}@media (width<=560px){.online-card{flex-direction:column;align-items:stretch}}.home__foot{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-bottom:4px;font-size:.84rem;display:flex}@media (width>=900px){.home{max-width:1040px}.home__main{grid-template:"daily modes""daily online"1fr/minmax(0,1fr) 400px;align-items:start;gap:22px 28px;display:grid}.daily{grid-area:daily;grid-template-columns:minmax(0,1fr);grid-template-areas:"info""board""cta";gap:22px;padding:28px}.daily h2{font-size:2.5rem}.daily__board{justify-self:center;width:min(100%,340px);rotate:1deg}.home__modes{grid-area:modes}.online-card{flex-direction:column;grid-area:online;align-items:stretch}}.field{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.field__label{color:var(--ink-2);font-size:.84rem;font-weight:700}.segmented{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.segmented__opt{border:1.5px solid var(--line-strong);background:var(--surface);min-height:42px;color:var(--ink);cursor:pointer;border-radius:12px;padding:4px 10px;font-size:.88rem;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,color .15s,transform 80ms}.segmented__opt:hover:not(:disabled):not(.is-on){background:var(--surface-2)}.segmented__opt:active:not(:disabled){transform:translateY(1px)}.segmented__opt.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}.segmented__opt:disabled{opacity:.45;cursor:not-allowed;border-style:dashed}.setup__goal{margin-bottom:20px;font-size:.95rem}.input{border:1.5px solid var(--line-strong);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:0 14px}.input::placeholder{color:var(--ink-3)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-error{color:var(--bad);font-size:.86rem;font-weight:600}.modal{color:var(--ink);background:0 0;border:none;max-width:100vw;max-height:100dvh;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e12088c}.modal__box{background-color:var(--surface);background-image:var(--grain);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-xl) var(--r-xl) 0 0;animation:sheet-in .28s var(--ease);padding-bottom:env(safe-area-inset-bottom)}.modal--dialog{width:min(400px,100vw - 32px);margin:auto}.modal--dialog .modal__box{border-radius:var(--r-xl);animation:dialog-in .2s var(--bounce)}@media (width>=640px){.modal--sheet{width:min(560px,100vw - 48px);margin:auto}.modal--sheet .modal__box{border-radius:var(--r-xl)}}.modal__head{border-bottom:1.5px dashed var(--line-strong);justify-content:space-between;align-items:center;gap:12px;padding:16px 14px 12px 22px;display:flex}.modal__head h2{font-size:1.4rem;font-weight:700}.modal__body{padding:18px 22px 22px;overflow-y:auto}.modal__foot{border-top:1.5px dashed var(--line-strong);justify-content:flex-end;gap:10px;padding:14px 22px 18px;display:flex}.modal__foot .btn{flex:1}@keyframes sheet-in{0%{opacity:0;transform:translateY(32px)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.94)}}.howto{flex-direction:column;gap:12px;display:flex}.howto h3{margin-top:14px;font-size:1.15rem;font-weight:700}.howto h3:first-child{margin-top:0}.example{border-radius:var(--r-lg);background:var(--surface-2);flex-direction:column;gap:12px;padding:14px;display:flex}.example__tag{align-items:center;gap:6px;font-size:.86rem;font-weight:700;display:inline-flex}.example--ok .example__tag{color:var(--good)}.example--bad .example__tag{color:var(--bad)}.example-row{justify-content:center;gap:10px;padding:14px;display:flex}.example-card{aspect-ratio:5/6;background:var(--card);width:70px;box-shadow:inset 0 0 0 1px var(--card-edge), 0 2px 0 var(--card-side), 0 4px 8px #00000040;border:none;border-radius:8px;place-items:center;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:transform .18s var(--ease)}.example-card--btn:hover:not(:disabled){transform:translateY(-3px)}.example-card.is-selected{box-shadow:0 0 0 3px var(--select), 0 2px 0 var(--card-side), 0 10px 16px #0000004d;transform:translateY(-5px)rotate(-1.5deg)}.example-card.is-win{box-shadow:0 0 0 3px var(--select), 0 2px 0 var(--card-side)}.breakdown{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.88rem;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:700}.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);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:700;display:flex}.bullets{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:.94rem;display:flex}.mode-list{flex-direction:column;gap:10px;margin:0;display:flex}.mode-list dt{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.02rem;font-weight:650}.mode-list dd{color:var(--ink-2);margin:0;font-size:.92rem}.handoff{justify-content:center;align-items:center}.handoff__box{text-align:center;border-radius:var(--r-xl);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-2);flex-direction:column;align-items:center;gap:12px;padding:30px 24px 24px;display:flex}.handoff__box h1{font-size:1.7rem;font-weight:700}.handoff__box>.muted{font-size:.94rem}.card-back{background-color:var(--primary);width:64px;height:80px;box-shadow:inset 0 0 0 4px var(--card), inset 0 0 0 5px var(--card-edge), 0 2px 0 var(--card-side), 0 8px 16px #3c1e1440;color:var(--primary-ink);background-image:repeating-linear-gradient(45deg,#fff7ea29 0 2px,#0000 2px 9px),repeating-linear-gradient(-45deg,#fff7ea29 0 2px,#0000 2px 9px);border-radius:9px;place-items:center;margin-bottom:6px;display:grid;rotate:-6deg}.challenge__vs{border:1.5px dashed var(--line-strong);background:var(--surface-2);border-radius:12px;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:28px;display:grid}}.results__banner{text-align:center;letter-spacing:-.025em;animation:banner-in .5s var(--bounce);font-size:2.1rem;font-weight:750}@keyframes banner-in{0%{opacity:0;transform:scale(.9)rotate(-2deg)}}.results__pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result{border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-1);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;display:flex}.result--win{box-shadow:inset 0 0 0 2px var(--good), var(--shadow-1)}.result__who{align-items:center;gap:6px;font-weight:700;display:flex}.result__score{flex-direction:column;align-items:center;line-height:1;display:flex}.result__big{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.03em;font-size:4.2rem;font-weight:750}.result__small{color:var(--ink-2);margin-top:6px;font-size:.92rem;font-weight:600}.results__pair .result__big{font-size:2.9rem}.result__par{flex-direction:column;align-items:center;gap:2px;font-size:.92rem;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:26px;height:26px}.star.is-on{color:var(--gold);animation:star-in .4s var(--bounce) backwards}.star.is-on:nth-child(2){animation-delay:.1s}.star.is-on:nth-child(3){animation-delay:.2s}@keyframes star-in{0%{opacity:0;transform:scale(.4)rotate(-30deg)}}.results__actions{flex-direction:column;gap:10px;display:flex}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=480px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{background:var(--surface-2);box-shadow:0 2px 0 var(--edge);border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.tile__value{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums lining-nums;align-items:center;gap:4px;font-size:1.7rem;font-weight:700;line-height:1.15;display:inline-flex}.tile__value .icon{color:var(--warn)}.tile__label{color:var(--ink-2);font-size:.76rem;font-weight:600}.stats__heading{margin:26px 0 4px;font-size:1.15rem;font-weight:700}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:12px 0 0;padding:0;list-style:none;display:grid}.day{aspect-ratio:5/6;background:var(--surface);width:100%;box-shadow:inset 0 0 0 1px var(--line), 0 1.5px 0 var(--edge);cursor:pointer;transition:transform .15s var(--ease);border:none;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.day:hover{transform:translateY(-2px)}.day__num{color:var(--ink-2);font-size:.7rem;font-weight:600}.day__score{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums lining-nums;font-size:1rem;font-weight:700;line-height:1.1}.day__score--open{color:var(--ink-3)}.day--done{background:color-mix(in srgb, var(--good) 12%, var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--good) 45%, transparent), 0 1.5px 0 var(--edge)}.day--done .day__score{color:var(--good)}.day--late{background:var(--surface-3)}.day.is-today{box-shadow:inset 0 0 0 2px var(--accent), 0 1.5px 0 var(--edge)}.bests{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.bests li{border-bottom:1.5px dashed var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;font-size:.94rem;display:flex}.bests li:last-child{border-bottom:none}.bests strong{font-weight:700}.bests li>span:first-child .muted{text-transform:capitalize}.bests__score{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.leaderboard{flex-direction:column;gap:12px;display:flex}.modal .leaderboard{box-shadow:none;background:0 0;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:1.15rem;font-weight:700;display:inline-flex}.leaderboard__submit{border:1.5px dashed var(--line-strong);background:var(--surface-2);border-radius:12px;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:700;display:flex}.leaderboard__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.leaderboard__list li{border-bottom:1.5px dashed var(--line);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 6px;font-size:.94rem;display:grid}.leaderboard__list li:last-child{border-bottom:none}.leaderboard__list li.is-me{background:var(--accent-soft);border-radius:8px}.leaderboard__rank{font-family:var(--font-display);font-variation-settings:"SOFT" 100;color:var(--ink-2);text-align:center;font-variant-numeric:tabular-nums lining-nums;font-weight:700}.leaderboard__list li:first-child .leaderboard__rank{color:var(--gold)}.leaderboard__name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-weight:600;display:inline-flex;overflow:hidden}.leaderboard__moves{font-variant-numeric:tabular-nums;font-weight:700}.avatar{color:#fff;letter-spacing:0;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 2px #ffffff40}.account-btn{border:1.5px solid var(--line-strong);background:var(--surface);height:40px;color:var(--ink);box-shadow:0 2px 0 var(--line-strong);cursor:pointer;border-radius:999px;align-items:center;gap:8px;max-width:170px;padding:0 12px 0 4px;transition:background .15s,transform 80ms,box-shadow 80ms;display:inline-flex}.account-btn:hover{background:var(--surface-2)}.account-btn:active{box-shadow:none;transform:translateY(2px)}.account-btn__name{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.account-signin{min-height:40px;padding:0 14px}@media (width<=480px){.account-btn{justify-content:center;width:40px;padding:0 3px}.account-btn__name{display:none}}.dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot--live{background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row .input{flex:160px;width:auto}.note{background:var(--surface-2);border:1.5px dashed var(--line-strong);color:var(--ink-2);border-radius:12px;margin:4px 0 16px;padding:10px 12px;font-size:.88rem}.form{flex-direction:column;display:flex}.form .btn--primary{margin-top:4px}.form-ok{color:var(--good);font-size:.86rem;font-weight:600}.divider{color:var(--ink-2);align-items:center;gap:12px;margin:18px 0;font-size:.82rem;font-weight:600;display:flex}.divider:before,.divider:after{content:"";border-top:1.5px dashed var(--line-strong);flex:1}.modal__body>.btn--block+.small{margin-top:10px}.panel__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;margin-bottom:10px;font-size:1.2rem;font-weight:700;line-height:1.2}.empty{flex-direction:column;align-items:flex-start;gap:10px;padding:24px;display:flex}.empty h2{font-size:1.4rem;font-weight:700}.lobby__main,.profile__main{flex-direction:column;gap:18px;width:min(640px,100%);margin:0 auto;display:flex}.player-strip{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);align-items:center;gap:8px;padding:6px;display:flex}.player-strip__profile{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;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{font-family:var(--font-display);font-variation-settings:"SOFT" 100;white-space:nowrap;text-overflow:ellipsis;font-size:1.08rem;font-weight:650;overflow:hidden}.player-strip__cta{min-height:38px;margin-right:4px}.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;font-weight:700}.input--code::placeholder{letter-spacing:.01em;font-family:var(--font-ui);text-transform:none;font-size:.95rem;font-weight:500}.searching{align-items:center;gap:14px;padding:18px;display:flex}.searching>div{flex:1}.searching__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.1rem;font-weight:650}.spinner{background:var(--primary);width:22px;height:28px;box-shadow:inset 0 0 0 2.5px var(--card);border-radius:4px;flex:none;animation:1.1s ease-in-out infinite flip}@keyframes flip{50%{background:var(--card);box-shadow:inset 0 0 0 1px var(--card-edge);transform:rotateY(180deg)}}.room{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:26px 18px;display:flex}.room__code{letter-spacing:.22em;border:2px dashed var(--line-strong);background:var(--surface-2);border-radius:12px;padding:4px .3em 4px .52em;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{--glyph-accent:var(--accent);border:1.5px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:8px;padding:0 10px;font-size:.88rem;font-weight:600;display:flex}.mode-pick__opt:hover{background:var(--surface-2)}.mode-pick__opt.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}.versus{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);grid-template-columns:auto 1fr auto;align-self:center;align-items:center;gap:10px;width:min(100%,980px);padding:8px 12px;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:.92rem;font-weight:700;overflow:hidden}.versus__vs{background:var(--surface-2);font-family:var(--font-display);font-variation-settings:"SOFT" 100;color:var(--ink-2);border-radius:999px;justify-self:center;padding:2px 10px;font-size:.82rem;font-weight:650}.versus__status{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;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 18px;font-size:.92rem;font-weight:600;display:flex;position:fixed;translate:-50%}.idle-bar span{flex:1}.idle-bar .btn--primary{min-height:38px}.app:has(.waiting) .toast{display:none}.waiting{z-index:65;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .25s var(--ease);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.waiting__box{border-radius:var(--r-xl);background:var(--surface);width:min(400px,100%);box-shadow:var(--shadow-3);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 22px 20px;display:flex}.waiting__title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.25rem;font-weight:700}.results__banner--win{color:var(--good)}.results__banner--loss{color:var(--bad)}.delta{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:2px;padding:2px 8px;font-size:.82rem;font-weight:700;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{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.5rem;font-weight:700;line-height:1.15}.profile__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.profile__stats>div{background:var(--surface-2);border-radius:12px;padding:10px 12px}.profile__stats dt{color:var(--ink-2);font-size:.76rem;font-weight:700}.profile__stats dd{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums lining-nums;margin:2px 0 0;font-size:1.5rem;font-weight:700;line-height:1.15}.profile__form{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.callout{background:color-mix(in srgb, var(--select) 22%, var(--surface));justify-content:space-between;align-items:center;gap:14px;display:flex}.callout__title{font-weight:700}@media (width<=480px){.callout{flex-direction:column;align-items:stretch}}.swatches{flex-wrap:wrap;gap:8px;margin:6px 0 10px;display:flex}.swatch{border:3px solid var(--surface);width:34px;height:34px;box-shadow:0 0 0 1.5px var(--line-strong);cursor:pointer;border-radius:50%}.swatch.is-on{box-shadow:0 0 0 2.5px var(--ink)}.history{margin:0;padding:0;list-style:none}.history li{border-bottom:1.5px dashed var(--line);grid-template-columns:30px 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:50%;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:800;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:700;overflow:hidden}.history__score{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-weight:700;display:flex}.dnf{color:var(--ink-2);font-size:.74rem;font-weight:700}.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{background:var(--surface-2);border-radius:12px;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:700}.account-email__unverified{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pill--warn{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn-ink)}.change-pw{margin-bottom:12px}.change-pw .form-ok{flex-basis:100%}.danger-zone{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--bad) 35%, transparent), var(--shadow-1);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) 50%, transparent);color:var(--bad);box-shadow:none;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:1.5px dashed 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:700;overflow:hidden}.people__actions{flex:none;align-items:center;gap:6px;display:flex}.btn--sm{min-height:36px;padding:0 12px;font-size:.86rem}.icon-btn--sm{width:36px;height:36px}.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:5px 10px 6px}.stat__value{font-size:1.4rem}.daily{padding:16px}.daily h2{font-size:1.6rem}.icon-btn{width:38px;height:38px}.mode-card__art{width:54px;height:54px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
