@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--box-alpha:.4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ground:#f4f6fa;--card:#fff;--ink:#14213d;--muted:#4a5568;--accent:#0b50b3;--link:#0b50b3;--tint:#e6eef9;--line:#c5cdd8;--switch-off:#8592a5;--danger:#b42318;--scrim:#5b6578;--disabled-ink:#5b6578;--disabled-fill:#e3e8ef;--disabled-line:#78859a;--on-accent:#fff;--on-swatch:#fff;--chip:#fff;--fill-base:#fff;--rule:#e2e7ee;--hairline:#14213d2e;--recent:#14213d24;--backdrop:#5b657899;--legend-bg:#fffffff2;--shadow:20 33 61;--bg:var(--ground);--fg:var(--ink);font-family:Nunito,system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--box-alpha:.6;--ground:#0f1520;--card:#1a2233;--ink:#e8edf5;--muted:#a9b4c6;--accent:#7ab0ff;--link:#7ab0ff;--tint:#263555;--line:#5f6e8a;--switch-off:#6b7a92;--danger:#ff8a80;--scrim:#000;--disabled-ink:#8a97aa;--disabled-fill:#232c3f;--disabled-line:#64738f;--on-accent:#0b1220;--on-swatch:#0b1220;--chip:#2b3650;--fill-base:#1a2233;--rule:#273148;--hairline:#e8edf540;--recent:#e8edf51f;--backdrop:#0009;--legend-bg:#1a2233f2;--shadow:0 0 0}}body{background:var(--ground);color:var(--ink);margin:0}h1,h2,h3,p{margin:0}h1{font-size:2rem;font-weight:800}h2{font-size:1.25rem;font-weight:800}.screen{box-sizing:border-box;min-height:100dvh;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));flex-direction:column;align-items:center;gap:1rem;display:flex}.screen>*{box-sizing:border-box;width:min(100%,34rem)}.plain{margin:0;padding:0;list-style:none}.stack{flex-direction:column;gap:1rem;display:flex}.top{align-items:center;gap:.75rem;display:flex}html:has(.screen.setup){scroll-padding-top:8rem}.setup-head{z-index:2;background:var(--ground);flex-direction:column;gap:.5rem;padding:.25rem 0 .5rem;display:flex;position:sticky;top:0}.setup-head h1{flex:1;min-width:0;font-size:1.5rem}.setup-head button.start{white-space:nowrap;padding-inline:1rem}.card{background:var(--card);box-shadow:0 1px 3px rgb(var(--shadow) / .1);border-radius:20px;flex-direction:column;gap:.75rem;padding:1.125rem;display:flex}.card-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.meta{color:var(--muted);font-weight:600}.muted,.note,footer{color:var(--muted);margin:0;font-size:.875rem}button{min-width:44px;min-height:48px;font:inherit;border:2px solid var(--accent);background:var(--card);color:var(--accent);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-weight:700;display:inline-flex}button.primary{background:var(--accent);color:var(--on-accent)}button.big{border-radius:18px;min-height:60px;font-size:1.25rem;font-weight:800}button.text{background:0 0;border-color:#0000}button.danger{border-color:var(--danger);color:var(--danger)}button.dashed{border-style:dashed;border-color:var(--disabled-line);color:var(--accent)}button.round{background:var(--tint);border-color:#0000;border-radius:50%;width:44px;height:44px;padding:0}button.round.white{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgb(var(--shadow) / .15)}button:disabled{background:var(--disabled-fill);border-color:var(--disabled-line);color:var(--disabled-ink);cursor:not-allowed}button.text:disabled,button.dashed:disabled{background:0 0}button svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.pair{gap:.625rem;display:flex}.pair>*{flex:1}.hint{border:2px solid var(--accent);background:var(--card);border-radius:14px;padding:.75rem 1rem}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}input[type=text],input[type=number]{box-sizing:border-box;min-height:48px;font:inherit;border:2px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:.25rem .75rem;font-weight:600}input[aria-invalid=true]{border-color:var(--danger)}.error{color:var(--danger);margin:0;font-weight:700}.error:before{content:"Problem: "}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.home{text-align:left}.player{align-items:center;gap:.75rem;min-height:56px;display:flex}.player-text{flex-direction:column;flex:1;min-width:0;display:flex}.player-text strong,.player-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-text span{color:var(--muted);font-size:.875rem}.score-num{font-size:1.5rem;font-weight:800}.badge{--size:52px;width:var(--size);height:var(--size);border-radius:calc(var(--size) * .26);background-color:var(--fill-base);box-sizing:border-box;flex:none;display:inline-block;position:relative}.badge.s44{--size:44px}.badge.s64{--size:64px}.badge.s30{--size:30px}.badge.s40{--size:40px}.badge.s132{--size:132px}.badge.s96{--size:96px}.badge-tile{inset:calc(var(--size) * .14);border-radius:calc(var(--size) * .2);background:var(--chip);font-size:calc(var(--size) * .46);place-items:center;line-height:1;display:grid;position:absolute}button.badge-button{background:0 0;border:0;border-radius:14px;min-width:0;min-height:0;padding:0}.switch-row{align-items:center;gap:.75rem;min-height:56px;display:flex}.switch-row>span{flex-direction:column;flex:1;display:flex}.switch-row small{color:var(--muted);font-size:.875rem}input[role=switch]{appearance:none;background:var(--switch-off);cursor:pointer;border-radius:17px;flex:none;width:56px;height:34px;margin:0;position:relative}input[role=switch]:after{content:"";background:var(--on-accent);border-radius:50%;width:28px;height:28px;transition:transform .15s;position:absolute;top:3px;left:3px}input[role=switch]:checked{background:var(--accent)}input[role=switch]:checked:after{transform:translate(22px)}input[role=switch]:disabled{opacity:.5}.seat-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.seat-row{background:var(--card);border-radius:14px;grid-template-columns:32px 52px 1fr 44px;align-items:center;gap:.5rem;display:grid;position:relative}.seat-row.dragging{z-index:2;box-shadow:0 6px 16px rgb(var(--shadow) / .25)}.seat-row .error{grid-column:2/-1}.seat-row input{width:100%;min-width:0}button.handle{width:32px;min-width:32px;height:52px;color:var(--muted);touch-action:none;cursor:grab;background:0 0;border:0;padding:0}button.handle svg{width:22px;height:22px}.presets{gap:.375rem;display:flex}.preset{border-color:var(--line);min-height:56px;color:var(--ink);flex-direction:column;flex:1;gap:0;padding:.25rem}.preset small{color:var(--muted);font-weight:400}.preset[aria-checked=true]{border-color:var(--accent);background:var(--tint);color:var(--accent)}.preset[aria-checked=true] small{color:var(--accent)}.stepper{align-items:center;gap:.625rem;min-height:52px;display:flex}.stepper>span{flex:1;font-weight:700}.stepper output{text-align:center;min-width:2rem;font-size:1.375rem;font-weight:800}.scrim{z-index:20;background:var(--backdrop);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{box-sizing:border-box;width:min(100%,34rem);max-height:92dvh;padding:0 1.25rem max(1.25rem, env(safe-area-inset-bottom));background:var(--ground);border-radius:24px 24px 0 0;flex-direction:column;gap:.875rem;display:flex;overflow:auto}.sheet-head{z-index:1;padding:max(.75rem, env(safe-area-inset-top)) 0 .5rem;background:var(--ground);justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:sticky;top:0}.preview{text-align:center;align-items:center;gap:.375rem}.sample-line{align-items:center;margin-top:.5rem;display:flex}.sample-line .dot{background:var(--ink);width:16px;height:16px}.sample-line .edge-sample{--t:10px;--dir:90deg;width:200px;height:var(--t);background:var(--c)}.sample-line .edge-sample.line-stripes{background:repeating-linear-gradient(var(--dir), var(--c) 0 calc(var(--t) * 4), transparent calc(var(--t) * 4) calc(var(--t) * 6))}.sample-line .edge-sample.line-dots{background:repeating-linear-gradient(var(--dir), var(--c) 0 calc(var(--t) * 1), transparent calc(var(--t) * 1) calc(var(--t) * 2.5))}.sample-line .edge-sample.line-grid{background:repeating-linear-gradient(var(--dir), var(--c) 0 calc(var(--t) * 4), transparent calc(var(--t) * 4) calc(var(--t) * 5.5), var(--c) calc(var(--t) * 5.5) calc(var(--t) * 6.5), transparent calc(var(--t) * 6.5) calc(var(--t) * 8))}.sample-line .edge-sample.line-waves{background:repeating-linear-gradient(var(--dir), var(--c) 0 calc(var(--t) * 1.5), transparent calc(var(--t) * 1.5) calc(var(--t) * 2.5), var(--c) calc(var(--t) * 2.5) calc(var(--t) * 4), transparent calc(var(--t) * 4) calc(var(--t) * 5), var(--c) calc(var(--t) * 5) calc(var(--t) * 9), transparent calc(var(--t) * 9) calc(var(--t) * 10))}.picker{border:0;flex-flow:wrap;gap:.5rem;margin:0;padding:0;display:flex}.card.picker{padding:1.125rem}.picker legend{float:left;width:100%;padding:0;font-size:1.25rem;font-weight:800}.animals,.patterns{grid-template-columns:repeat(5,1fr);display:grid}.animals legend,.patterns legend{grid-column:1/-1}.option{border:2px solid var(--line);background:var(--card);border-radius:14px;place-items:center;gap:.15rem;min-width:44px;min-height:44px;font-size:.8125rem;font-weight:700;display:grid;position:relative}.option.animal{aspect-ratio:1;font-size:1.75rem}.option.color{background:0 0;border-color:#0000;border-radius:50%;width:52px;height:52px}.option.color .swatch-dot{background:var(--c);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.option.color svg{width:20px;height:20px;stroke:var(--on-swatch);stroke-width:3px;fill:none;visibility:hidden}.option.color:has(input:checked) svg{visibility:visible}.option.pattern{min-width:0;padding:.375rem .25rem}.option.pattern .badge{--size:40px;border:1px solid var(--line);border-radius:10px}.option:has(input:checked){border-color:var(--accent);border-width:3px}.option:not(.color):has(input:checked){background:var(--tint)}.option:has(input:disabled){opacity:.4;cursor:not-allowed}.option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.option:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.eyebrow{color:var(--accent);letter-spacing:.1em;font-size:.875rem;font-weight:800}.hero{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.hero .tie-badges{gap:.5rem;display:flex}.rank{width:2.25rem;color:var(--muted);font-weight:700}.standings{margin:0;padding:0;list-style:none}.standings .player{min-height:56px;padding:.5rem 1.125rem}.recovery{border:3px solid var(--danger);background:var(--card);text-align:left;border-radius:14px;max-width:32rem;padding:.75rem 1rem}.drop-before:before,.drop-after:after{content:"";background:var(--accent);height:3px;position:absolute;left:0;right:0}.drop-before:before{top:-4px}.drop-after:after{bottom:-4px}footer{text-align:center}.screen.game{height:100dvh;min-height:0;padding:0;display:block;overflow:hidden}.game{--dot:24px;--cell:48px}.game>*{width:auto}.game-content{flex-direction:column;width:auto;display:flex;position:fixed;inset:0}.game-bar{padding:calc(env(safe-area-inset-top) + .625rem) max(.75rem, env(safe-area-inset-right)) .625rem max(.75rem, env(safe-area-inset-left));background:var(--card);flex:none;align-items:center;gap:.625rem;display:flex}.game-bar button.round.white{border:2px solid var(--hairline)}.turn{box-sizing:border-box;border-radius:30px;flex-wrap:wrap;flex:1;align-content:center;align-items:center;gap:6px 8px;min-width:0;min-height:60px;padding:6px 14px;display:flex;position:relative;overflow:hidden}.turn-emoji{flex:none;width:min(2.75rem,56px);font-size:min(1.5rem,32px)}.turn-fill,.turn-layer{inset:0}.turn-fill{opacity:var(--box-alpha);position:absolute}.turn-layer.fade{animation:.25s ease-out turn-in}@keyframes turn-in{0%{opacity:0}to{opacity:1}}.turn-text{min-width:0;max-width:100%;color:var(--ink);flex-direction:column;flex:0 auto;align-items:flex-start;gap:6px;display:flex;position:relative}.turn-text>*{box-sizing:border-box;background:var(--chip);max-width:100%}.turn-text strong{overflow-wrap:anywhere;border-radius:18px;padding:.1875rem .875rem;font-size:1.375rem;font-weight:800;line-height:1.1}.turn-label{color:var(--muted);border-radius:12px;padding:.125rem .75rem;font-size:.8125rem;font-weight:700;line-height:1.1}.turn-label.over{letter-spacing:.0625rem;font-weight:800}.stage{background:var(--card);flex:1;min-height:0;position:relative;overflow:hidden}.board-area{position:absolute;inset:0}.stage-top{z-index:2;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:absolute;top:12px;left:12px;right:12px}.stage-top>*{pointer-events:auto;box-shadow:0 2px 10px rgb(var(--shadow) / .18)}.line-list{flex-direction:column;gap:8px;margin:0;padding:72px 12px 0;list-style:none;display:flex;position:absolute;inset:0;overflow-y:auto}.line-list button{text-align:left;width:100%;min-height:48px}.line-list button[aria-disabled=true]{cursor:not-allowed}.finish-actions{flex:none}.finish-actions button{min-height:48px}.zoom-controls button{min-height:44px}.zoom-controls{z-index:1;flex-direction:column;gap:8px;display:flex;position:absolute;right:12px}.legend{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:2;box-sizing:border-box;background:var(--legend-bg);max-height:40%;box-shadow:0 2px 10px rgb(var(--shadow) / .18);border-radius:16px;flex-direction:column;gap:4px;padding:10px;display:flex;position:absolute;overflow-y:auto}button.round.accent{color:var(--accent)}button.round:disabled{background:var(--disabled-fill);color:var(--disabled-ink);box-shadow:none}.confirm{background:var(--card);box-shadow:0 1px 3px rgb(var(--shadow) / .08);border-radius:16px;justify-content:flex-start;padding:.75rem .875rem}.confirm span{flex:1;font-weight:700}.save-problem{border:2px solid var(--danger);background:var(--card);text-align:left;border-radius:16px;flex-direction:column;gap:.625rem;padding:.75rem .875rem;display:flex}.save-problem p{color:var(--danger);font-size:.9375rem;font-weight:700}.save-problem button{border-radius:12px;min-height:44px;padding:0 .5rem}textarea{background:var(--card);width:100%;color:var(--ink);box-sizing:border-box;font:.8rem ui-monospace,monospace}.board-viewport{touch-action:none;position:absolute;inset:0;overflow:hidden}.board-viewport:not(.ready) .board{visibility:hidden}.board{transform-origin:0 0;grid-template-columns:repeat(var(--cols), var(--dot) var(--cell)) var(--dot);grid-template-rows:repeat(var(--rows), var(--dot) var(--cell)) var(--dot);width:max-content;display:grid;position:absolute;top:0;left:0}.board.glide{transition:transform .2s ease-out}.dot{background:var(--ink);border-radius:50%;place-self:center;width:12px;height:12px}.edge{background:0 0;border:0;border-radius:6px;min-width:0;min-height:0;padding:0;position:relative}.edge:after{--t:6px;content:"";border-radius:4px;margin:auto;position:absolute;inset:0}.edge.h{--dir:90deg;margin:-12px 0}.edge.v{--dir:0deg;margin:0 -12px}.edge.h:after{width:100%;height:6px}.edge.v:after{width:6px;height:100%}.edge.open:after{background:var(--rule)}.edge.h.open:after{height:4px}.edge.v.open:after{width:4px}.edge.open:hover:after{background:color-mix(in srgb, var(--accent) 45%, var(--rule))}.edge.drawn:after{background:var(--c)}.edge.candidate:after,.edge.candidate:hover:after{background:repeating-linear-gradient(var(--dir), var(--c) 0 8px, transparent 8px 14px);box-shadow:0 0 0 6px color-mix(in srgb, var(--c) 25%, transparent)}.edge.h.candidate:after{height:8px}.edge.v.candidate:after{width:8px}.edge.drawn.line-stripes:after{background:repeating-linear-gradient(var(--dir), var(--c) 0 calc(var(--t) * 4), transparent calc(var(--t) * 4) calc(var(--t) * 6));background-color:color-mix(in srgb, var(--c) 30%, transparent)}.edge.drawn.line-dots:after{background:repeating-linear-gradient(var(--dir), var(--c) 0 calc(var(--t) * 1), transparent calc(var(--t) * 1) calc(var(--t) * 2.5));background-color:color-mix(in srgb, var(--c) 30%, transparent)}.edge.drawn.line-grid:after{background:repeating-linear-gradient(var(--dir), var(--c) 0 calc(var(--t) * 4), transparent calc(var(--t) * 4) calc(var(--t) * 5.5), var(--c) calc(var(--t) * 5.5) calc(var(--t) * 6.5), transparent calc(var(--t) * 6.5) calc(var(--t) * 8));background-color:color-mix(in srgb, var(--c) 30%, transparent)}.edge.drawn.line-waves:after{background:repeating-linear-gradient(var(--dir), var(--c) 0 calc(var(--t) * 1.5), transparent calc(var(--t) * 1.5) calc(var(--t) * 2.5), var(--c) calc(var(--t) * 2.5) calc(var(--t) * 4), transparent calc(var(--t) * 4) calc(var(--t) * 5), var(--c) calc(var(--t) * 5) calc(var(--t) * 9), transparent calc(var(--t) * 9) calc(var(--t) * 10));background-color:color-mix(in srgb, var(--c) 30%, transparent)}.edge.recent:before{content:"";background:var(--recent);border-radius:999px;margin:auto;position:absolute;inset:0}.edge.h.recent:before{width:calc(100% + 8px);height:16px}.edge.v.recent:before{width:16px;height:calc(100% + 8px)}.edge[aria-disabled=true]{cursor:not-allowed}.box{place-items:center;display:grid;position:relative}.box-fill,.turn-layer{background-color:var(--fill-base);position:absolute}.box-fill{opacity:var(--box-alpha);border-radius:6px;inset:2px}.chip,.turn-emoji{aspect-ratio:1;background:var(--chip);border-radius:26%;place-items:center;line-height:1;display:grid;position:relative}.chip{width:60%;font-size:calc(var(--cell) * .34)}@media (prefers-reduced-motion:no-preference){.box.owned .chip{animation:.25s ease-out pop}}@keyframes pop{0%{transform:scale(.2)}to{transform:scale(1)}}.pat-stripes{background-image:repeating-linear-gradient(45deg, var(--c) 0 4px, transparent 4px 9px)}.pat-dots{background-image:radial-gradient(var(--c) 2.5px, transparent 3px);background-size:9px 9px}.pat-grid{background-image:linear-gradient(var(--c) 2px, transparent 2px), linear-gradient(90deg, var(--c) 2px, transparent 2px);background-size:10px 10px}.pat-waves{background-image:radial-gradient(circle at 50% 0, transparent 5px, var(--c) 5px 7px, transparent 7px);background-size:14px 8px}.pat-solid{background-image:linear-gradient(var(--c), var(--c))}.scores{grid-template-columns:repeat(var(--cols2), minmax(84px, max-content));flex:none;grid-auto-rows:44px;gap:8px;margin:0;padding:0;list-style:none;display:grid;overflow:auto hidden}.scores[data-rows="1"]{grid-template-columns:repeat(var(--cols1), minmax(84px, max-content))}.score{box-sizing:border-box;border:2px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:0 6px;display:flex}.score.current{border-color:var(--c);background:var(--tint)}.score-tag{color:var(--accent);font-size:.6875rem;font-weight:800}.score-points{font-size:1.25rem;font-weight:800}.curtain{z-index:10;box-sizing:border-box;padding:max(3.5rem, env(safe-area-inset-top)) 1.5rem max(2.5rem, env(safe-area-inset-bottom));background:var(--ground);color:var(--ink);flex-direction:column;align-items:center;display:flex;position:fixed;inset:0}.curtain-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.125rem;display:flex}.curtain-body .badge{box-shadow:0 4px 16px rgb(var(--shadow) / .15)}.curtain .eyebrow{color:var(--muted);letter-spacing:.08em;font-size:.9375rem}.curtain h2{font-size:2.5rem;line-height:1.1}.curtain .muted{font-size:1.0625rem}.score-chip{background:var(--card);white-space:pre-wrap;box-shadow:0 1px 3px rgb(var(--shadow) / .08);border-radius:16px;margin:.5rem 0 0;padding:.75rem 1.125rem;font-weight:700}.curtain>button{width:min(100%,34rem)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}[data-color=blue]{--c:#0072b2}[data-color=vermillion]{--c:#d55e00}[data-color=green]{--c:#009e73}[data-color=pink]{--c:#cc79a7}[data-color=orange]{--c:#c98400}[data-color=sky]{--c:#3e98dc}[data-color=purple]{--c:#8e44ad}[data-color=gray]{--c:#7f8c8d}[data-color=red]{--c:#b22222}[data-color=forest]{--c:#2e8b57}@media (prefers-color-scheme:dark){[data-color=blue]{--c:#3f83e8}[data-color=vermillion]{--c:#f58a3f}[data-color=green]{--c:#1fc8a0}[data-color=pink]{--c:#f0a0c8}[data-color=orange]{--c:#f2b632}[data-color=sky]{--c:#8ed6ff}[data-color=purple]{--c:#c79bf2}[data-color=gray]{--c:#a3afb1}[data-color=red]{--c:#f0605f}[data-color=forest]{--c:#6fbf73}}.board[data-rows="1"]{--rows:1}.board[data-cols="1"]{--cols:1}.board[data-rows="2"]{--rows:2}.board[data-cols="2"]{--cols:2}.board[data-rows="3"]{--rows:3}.board[data-cols="3"]{--cols:3}.board[data-rows="4"]{--rows:4}.board[data-cols="4"]{--cols:4}.board[data-rows="5"]{--rows:5}.board[data-cols="5"]{--cols:5}.board[data-rows="6"]{--rows:6}.board[data-cols="6"]{--cols:6}.board[data-rows="7"]{--rows:7}.board[data-cols="7"]{--cols:7}.board[data-rows="8"]{--rows:8}.board[data-cols="8"]{--cols:8}.board[data-rows="9"]{--rows:9}.board[data-cols="9"]{--cols:9}.board[data-rows="10"]{--rows:10}.board[data-cols="10"]{--cols:10}.board[data-rows="11"]{--rows:11}.board[data-cols="11"]{--cols:11}.board[data-rows="12"]{--rows:12}.board[data-cols="12"]{--cols:12}.stage-top>.error{background:var(--card);border-radius:16px;margin:0;padding:.75rem .875rem}@media (height<=520px){.scores{grid-template-columns:repeat(var(--cols1), minmax(84px, max-content))}}.update-prompt{inset:auto .75rem max(.5rem, env(safe-area-inset-bottom)) .75rem;z-index:20;border:2px solid var(--accent);background:var(--card);max-width:28rem;color:var(--ink);box-shadow:0 4px 16px rgb(var(--shadow) / .18);border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .625rem;margin:0 auto;padding:.5rem .75rem;display:flex;position:fixed}.update-prompt:empty{box-shadow:none;pointer-events:none;background:0 0;border:0;padding:0}.update-prompt p{margin:0;font-weight:700}.update-prompt button{min-width:44px;min-height:44px;padding:.25rem .875rem}@media (prefers-reduced-motion:no-preference){.update-prompt{animation:.2s ease-out update-prompt-in}@keyframes update-prompt-in{0%{opacity:0;transform:translateY(.5rem)}}}body:has(.update-prompt:not(:empty)) .screen:not(.game){padding-bottom:6rem}body:has(.screen.game) .update-prompt{inset-block:calc(max(0px, env(safe-area-inset-top)) + 84px) auto}body:has(.stage-top>*,[aria-modal=true]) .update-prompt{visibility:hidden}fieldset.segmented{border:0;flex-direction:column;gap:.375rem;min-width:0;margin:0;padding:0;display:flex}.segmented legend{padding:0;font-weight:700}.segmented button{border-color:var(--line);color:var(--ink)}.segmented button[aria-pressed=true]{border-color:var(--accent);background:var(--tint);color:var(--accent)}.slider{flex-direction:column;gap:.125rem;display:flex}.slider-head{justify-content:space-between;font-weight:700;display:flex}.slider output{font-size:1.25rem;font-weight:800}.slider input[type=range]{width:100%;min-height:44px;accent-color:var(--accent);margin:0}.summary{flex-direction:column;display:flex}.sheet-preview{box-sizing:border-box;border:1px solid var(--line);background:#fff;align-self:center;width:min(100%,420px);height:auto}.sheet-preview circle,.sheet-print circle{fill:#1f2430}.save-row{align-items:flex-end;gap:.5rem;display:flex}.save-row input,.save-row .field{flex:1;min-width:0}.field{flex-direction:column;gap:.25rem;font-weight:700;display:flex}.saved-list{flex-direction:column;display:flex}.saved-item{align-items:center;gap:.25rem;display:flex}.saved-item .save-row{flex:1;align-items:center}.saved-name{min-width:0;color:var(--ink);text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:0}.print-sheet{display:none}@media print{@page{size:letter portrait;margin:0}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;margin:0}body:has(.print-sheet) #root>:not(.print-sheet){display:none}.print-sheet{break-after:avoid;width:8.5in;height:11in;display:block;overflow:hidden}.sheet-print{width:8.5in;height:11in;display:block}}.online-status{flex-direction:column;gap:.375rem;display:flex}.status-line{align-items:center;gap:.5rem;margin:0;font-weight:700;display:flex}.status-dot{background:var(--muted);border-radius:50%;width:.625rem;height:.625rem}.status-line[data-connection=connected] .status-dot{background:var(--accent)}.status-line[data-connection=offline] .status-dot,.status-line[data-connection=revoked] .status-dot{background:var(--danger)}.notice{background:var(--card);border:2px solid var(--accent);border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.5rem .75rem;font-weight:700;display:flex}.roster-row{flex-wrap:wrap}.roster-row .player-text{flex-basis:8rem}.row-actions{gap:.5rem;margin-left:auto;display:flex}.tag{border:2px solid var(--muted);border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:800}.tag.you{border-color:var(--accent);color:var(--accent)}.online-top{padding:.25rem max(.75rem, env(safe-area-inset-right)) .375rem max(.75rem, env(safe-area-inset-left));background:var(--card);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.25rem .75rem;font-size:.875rem;display:flex}.online-top .status-line:last-child{color:var(--muted);font-weight:600}
