.ah-root{--ah-a:var(--accent,#4e4ee0);--ah-b:#f08a3c;--ah-reserve:170px;width:100%;display:flex;justify-content:center}[data-theme=dark] .ah-root{--ah-b:#f6a466}.ah-stage{position:relative;width:min(100%,calc((100vh - var(--ah-reserve)) * 11 / 17));width:min(100%,calc((100dvh - var(--ah-reserve)) * 11 / 17));aspect-ratio:11/17;border-radius:13.64%/8.82%;box-shadow:var(--shadow-md);container-type:inline-size;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ah-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit;touch-action:none;cursor:none}.ah-count{position:absolute;left:50%;top:50%;translate:-50% -50%;font-size:88px;font-size:26cqw;font-weight:700;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);pointer-events:none;opacity:0;animation:ah-count 1s var(--ease-out,cubic-bezier(.22,1,.36,1)) forwards}.ah-count.is-go{color:var(--accent);font-size:64px;font-size:18cqw;animation-duration:.75s}.ah-count.is-bottom{top:72%}.ah-count.is-top{top:28%;rotate:180deg}@keyframes ah-count{0%{opacity:0;scale:1.3}20%{opacity:.88;scale:1}72%{opacity:.88}to{opacity:0;scale:.94}}.ah-caption{position:absolute;left:50%;top:64%;top:calc(50% + 17cqw);translate:-50% 0;max-width:84%;padding:7px 14px;border-radius:999px;background:var(--surface);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);color:var(--muted);font-size:13px;font-weight:500;text-align:center;pointer-events:none;animation:ah-fade-in .5s var(--ease-out,ease-out) both}.ah-stage.is-local .ah-caption{top:83%;top:calc(72% + 15cqw)}.ah-banner{--ah-seat:var(--ah-a);position:absolute;left:50%;top:50%;translate:-50% -50%;padding:10px 20px;border-radius:999px;background:var(--surface);background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:var(--shadow-md),inset 0 0 0 1px color-mix(in srgb,var(--ah-seat) 30%,transparent);color:var(--ah-seat);font-size:17px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;pointer-events:none;opacity:0;animation:ah-banner 1.15s var(--ease-out,cubic-bezier(.22,1,.36,1)) forwards}.ah-banner.is-b{--ah-seat:var(--ah-b)}.ah-banner.is-final{font-size:19px;padding:12px 24px;animation-duration:2.6s}.ah-banner.is-bottom{top:66%}.ah-banner.is-top{top:34%;rotate:180deg}@keyframes ah-banner{0%{opacity:0;scale:.88}16%{opacity:1;scale:1}82%{opacity:1;scale:1}to{opacity:0;scale:.98}}.ah-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none}.ah-hint-card{max-width:88%;padding:14px 18px;border-radius:var(--radius,16px);border:1px solid var(--border);background:var(--surface);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow-md);text-align:center;animation:ah-card-in .45s var(--ease-out,ease-out) both}.ah-hint-title{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--text);font-size:15px;font-weight:600}.ah-hint-sub{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.4}.ah-hint-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent-fill);animation:ah-pulse 1.4s ease-in-out infinite}.ah-nudge{position:absolute;left:50%;bottom:13%;translate:-50% 0;padding:6px 13px;border-radius:999px;background:var(--surface);background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);color:var(--muted);font-size:12.5px;font-weight:500;white-space:nowrap;pointer-events:none;animation:ah-fade-in .6s var(--ease-out,ease-out) both}@keyframes ah-fade-in{0%{opacity:0;translate:-50% 6px}}@keyframes ah-card-in{0%{opacity:0;scale:.96}}@keyframes ah-pulse{0%,to{opacity:.35;scale:.85}50%{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.ah-banner,.ah-count{animation-timing-function:linear}.ah-hint-dot{animation:none}}.c4{--c4-a:var(--accent,#4e4ee0);--c4-b:#f08a3c;--c4-a-text:var(--accent,#4e4ee0);--c4-b-text:#c05f18;--c4-frame-hi:#37366f;--c4-frame-lo:#1f1e47;--c4-edge:hsla(0,0%,100%,.16);--c4-sheen:hsla(0,0%,100%,.09);--c4-well-hi:#f2f1fa;--c4-well-lo:#e2e0f1;--c4-bevel-dark:rgba(10,8,42,.6);--c4-bevel-light:hsla(0,0%,100%,.2);--c4-hint:hsla(0,0%,100%,.075);--c4-line:hsla(0,0%,100%,.96);--c4-line-shade:rgba(12,10,40,.28);display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:4px 12px 12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}[data-theme=dark] .c4{--c4-b:#f6a262;--c4-b-text:#f6a262;--c4-frame-hi:#3b406e;--c4-frame-lo:#2a2e55;--c4-edge:rgba(215,220,255,.2);--c4-sheen:hsla(0,0%,100%,.07);--c4-well-hi:#1a1d2f;--c4-well-lo:#141726;--c4-bevel-dark:rgba(6,7,22,.7);--c4-bevel-light:rgba(210,215,255,.16);--c4-hint:rgba(215,220,255,.07);--c4-line-shade:rgba(4,5,18,.4)}.c4-hud{display:flex;align-items:center;justify-content:center;min-height:36px}.c4-hud-pill{display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);font-size:14.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;animation:c4-hud-in .3s var(--ease-out) both}.c4-hud-pill[data-tone=wait]{color:var(--muted)}.c4-hud-text{overflow:hidden;text-overflow:ellipsis;max-width:62vw}.c4-hud-text[data-seat=a]{color:var(--c4-a-text)}.c4-hud-text[data-seat=b]{color:var(--c4-b-text)}.c4-hud-disc{flex:none;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.c4-hud-disc[data-seat=a]{background:radial-gradient(circle at 36% 30%,color-mix(in srgb,var(--c4-a) 52%,#fff),var(--c4-a) 55%,color-mix(in srgb,var(--c4-a) 70%,#0b0930))}.c4-hud-disc[data-seat=b]{background:radial-gradient(circle at 36% 30%,color-mix(in srgb,var(--c4-b) 55%,#fff),var(--c4-b) 55%,color-mix(in srgb,var(--c4-b) 72%,#3a1406))}.c4-hud-pill[data-tone=wait] .c4-hud-disc{animation:c4-breathe 1.8s ease-in-out infinite}.c4-hud-pair{display:inline-flex}.c4-hud-pair .c4-hud-disc+.c4-hud-disc{margin-left:-6px;box-shadow:0 0 0 2px var(--surface)}.c4-stage{position:relative;width:min(100%,560px,max(260px,calc((100vh - 252px) * var(--c4-ratio, 1))));width:min(100%,560px,max(260px,calc((100dvh - 252px) * var(--c4-ratio, 1))));touch-action:none}.c4-stage.is-live{cursor:pointer}.c4-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.c4-shadow{position:absolute;left:0;right:0;bottom:0;box-shadow:var(--shadow-lg)}.c4-frame-hi{stop-color:var(--c4-frame-hi)}.c4-frame-lo{stop-color:var(--c4-frame-lo)}.c4-sheen-hi{stop-color:var(--c4-sheen)}.c4-sheen-lo{stop-color:hsla(0,0%,100%,0)}.c4-well-hi{stop-color:var(--c4-well-hi)}.c4-well-lo{stop-color:var(--c4-well-lo)}.c4-bevel-dark{stop-color:var(--c4-bevel-dark)}.c4-bevel-light{stop-color:var(--c4-bevel-light)}.c4-bevel{fill:none;stroke-width:2.5}.c4-edge{fill:none;stroke:var(--c4-edge);stroke-width:1.5}.c4-hint{fill:var(--c4-hint);opacity:0;transition:transform .2s var(--ease-out),opacity .2s var(--ease-out)}.c4-hint.is-on{opacity:1}.c4-g-a-hi{stop-color:#9d9df3;stop-color:color-mix(in srgb,var(--c4-a) 52%,#fff)}.c4-g-a-mid{stop-color:var(--c4-a)}.c4-g-a-lo{stop-color:#3a3aa8;stop-color:color-mix(in srgb,var(--c4-a) 70%,#0b0930)}.c4-g-b-hi{stop-color:#f7c49b;stop-color:color-mix(in srgb,var(--c4-b) 55%,#fff)}.c4-g-b-mid{stop-color:var(--c4-b)}.c4-g-b-lo{stop-color:#b85f22;stop-color:color-mix(in srgb,var(--c4-b) 72%,#3a1406)}.c4-disc-ring{fill:none;stroke:hsla(0,0%,100%,.16);stroke-width:2.5}.c4-disc{transition:opacity .46s var(--ease-out) var(--c4-land,0ms)}.c4-discs.is-won .c4-disc:not(.is-win){opacity:.3}.c4-fall{animation:c4-fall var(--c4-dur,.48s) linear both}@keyframes c4-fall{0%{transform:translateY(var(--c4-from,-400px));animation-timing-function:cubic-bezier(.55,.085,.68,.53)}64%{transform:translateY(0);animation-timing-function:cubic-bezier(.2,.6,.35,1)}82%{transform:translateY(-6px);animation-timing-function:cubic-bezier(.6,0,.8,.4)}to{transform:translateY(0)}}.c4-last{fill:hsla(0,0%,100%,.82);animation:c4-fade-in .32s var(--ease-out) var(--c4-land,0ms) both}.c4-disc.is-win .c4-pulse{transform-box:fill-box;transform-origin:50% 50%;animation:c4-pop .64s var(--ease-spring) var(--c4-land,0ms) both}.c4-win-ring{fill:none;stroke:var(--c4-line);stroke-width:3;animation:c4-fade-in .36s var(--ease-out) var(--c4-land,0ms) both}.c4-winline,.c4-winline-shade{fill:none;stroke-linecap:round;animation:c4-draw .56s var(--ease-out) calc(var(--c4-land, 0ms) + .16s) both}.c4-winline{stroke:var(--c4-line);stroke-width:8}.c4-winline-shade{stroke:var(--c4-line-shade);stroke-width:15}.c4-preview{opacity:0;transition:transform .19s var(--ease-out),opacity .15s var(--ease-out)}.c4-preview.is-on{opacity:1}.c4-ghost{opacity:0;transition:transform .19s var(--ease-out),opacity .15s var(--ease-out)}.c4-ghost.is-on{opacity:.2}.c4-cols{position:absolute;inset:0;pointer-events:none}.c4 .c4-col,.c4 .c4-col:active:not(:disabled),.c4 .c4-col:disabled,.c4 .c4-col:hover:not(:disabled){position:absolute;top:0;bottom:0;margin:0;padding:0;border:0;border-radius:18px;background:transparent;box-shadow:none;opacity:1;transform:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.c4 .c4-col:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@keyframes c4-fade-in{0%{opacity:0}to{opacity:1}}@keyframes c4-pop{0%{transform:scale(1)}45%{transform:scale(1.1)}to{transform:scale(1.04)}}@keyframes c4-draw{0%{stroke-dashoffset:var(--c4-len,400px)}to{stroke-dashoffset:0}}@keyframes c4-hud-in{0%{opacity:0;transform:translateY(3px) scale(.98)}to{opacity:1;transform:none}}@keyframes c4-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.86)}}@media (prefers-reduced-motion:reduce){.c4-fall{animation:c4-fade-in .16s linear both}.c4-disc.is-win .c4-pulse,.c4-hud-pill,.c4-hud-pill[data-tone=wait] .c4-hud-disc{animation:none}.c4-ghost,.c4-hint,.c4-preview{transition:opacity .12s linear}}.mu{--mu-a:var(--accent,#4e4ee0);--mu-b:#f08a3c;--mu-a-text:var(--accent,#4e4ee0);--mu-b-text:#c05f18;--mu-board:color-mix(in srgb,var(--surface) 86%,var(--accent-soft,#e6e6fb));--mu-line:color-mix(in srgb,var(--accent,#4e4ee0) 38%,var(--border-strong,#b9b6cc));--mu-mill:hsla(0,0%,100%,.95);--mu-mill-shade:rgba(12,10,40,.3);display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:4px 12px 12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}[data-theme=dark] .mu{--mu-b:#f6a262;--mu-b-text:#f6a262;--mu-board:color-mix(in srgb,var(--surface) 90%,#3b406e);--mu-line:color-mix(in srgb,var(--accent,#4e4ee0) 45%,#8a8fb8);--mu-mill-shade:rgba(4,5,18,.45)}.mu-hud{display:flex;align-items:center;justify-content:center;min-height:36px}.mu-hud-pill{display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);font-size:14.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;animation:mu-hud-in .3s var(--ease-out) both}.mu-hud-pill[data-tone=wait]{color:var(--muted)}.mu-hud-text{overflow:hidden;text-overflow:ellipsis;max-width:70vw}.mu-hud-text[data-seat=a],.mu-tray-name[data-seat=a]{color:var(--mu-a-text)}.mu-hud-text[data-seat=b],.mu-tray-name[data-seat=b]{color:var(--mu-b-text)}.mu-hud-stone,.mu-tray-stone{flex:none;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.mu-hud-stone[data-seat=a],.mu-tray-stone[data-seat=a]{background:radial-gradient(circle at 36% 30%,color-mix(in srgb,var(--mu-a) 52%,#fff),var(--mu-a) 55%,color-mix(in srgb,var(--mu-a) 70%,#0b0930))}.mu-hud-stone[data-seat=b],.mu-tray-stone[data-seat=b]{background:radial-gradient(circle at 36% 30%,color-mix(in srgb,var(--mu-b) 55%,#fff),var(--mu-b) 55%,color-mix(in srgb,var(--mu-b) 72%,#3a1406))}.mu-hud-pill[data-tone=wait] .mu-hud-stone{animation:mu-breathe 1.8s ease-in-out infinite}.mu-hud-pair{display:inline-flex}.mu-hud-pair .mu-hud-stone+.mu-hud-stone{margin-left:-6px;box-shadow:0 0 0 2px var(--surface)}.mu-tray{display:flex;align-items:center;gap:10px;width:min(100%,540px);min-height:28px;padding:0 6px;color:var(--muted);font-size:13px;opacity:.7;transition:opacity .2s var(--ease-out)}.mu-tray[data-active]{opacity:1}.mu-tray-name{font-weight:700;max-width:34%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mu-tray-hand{display:inline-flex;flex:1 1;gap:3px}.mu-tray-stone{width:13px;height:13px}.mu-tray-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.mu-stage{position:relative;aspect-ratio:1;width:min(100%,540px,max(260px,calc(100vh - 300px)));width:min(100%,540px,max(260px,calc(100dvh - 300px)));touch-action:manipulation}.mu-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.mu-board{fill:var(--mu-board);stroke:var(--border);stroke-width:2;filter:drop-shadow(0 6px 18px rgba(20,18,60,.12))}.mu-line{stroke:var(--mu-line);stroke-width:5;stroke-linecap:round}.mu-dot{fill:var(--mu-line)}.mu-option{fill:var(--accent);opacity:.35;animation:mu-breathe 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}.mu-mill{stroke:var(--mu-mill);stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--mu-mill-shade))}.mu-mill.is-fresh{animation:mu-fade-in .42s var(--ease-out) .22s both}.mu-trace{fill:none;stroke:var(--mu-line);stroke-width:3;stroke-dasharray:6 7;opacity:.8}.mu-g-a-hi{stop-color:#9d9df3;stop-color:color-mix(in srgb,var(--mu-a) 52%,#fff)}.mu-g-a-mid{stop-color:var(--mu-a)}.mu-g-a-lo{stop-color:#3a3aa8;stop-color:color-mix(in srgb,var(--mu-a) 70%,#0b0930)}.mu-g-b-hi{stop-color:#f7c49b;stop-color:color-mix(in srgb,var(--mu-b) 55%,#fff)}.mu-g-b-mid{stop-color:var(--mu-b)}.mu-g-b-lo{stop-color:#b85f22;stop-color:color-mix(in srgb,var(--mu-b) 72%,#3a1406)}.mu-stone{transform-box:fill-box;transform-origin:50% 50%;transition:transform .18s var(--ease-out),opacity .18s var(--ease-out);filter:drop-shadow(0 2px 3px rgba(10,8,40,.28))}.mu-stone-ring{fill:none;stroke:hsla(0,0%,100%,.18);stroke-width:2.5}.mu-stone.is-picked{transform:scale(1.14);filter:drop-shadow(0 6px 8px rgba(10,8,40,.35))}.mu-stone.is-movable circle:first-child{stroke:color-mix(in srgb,var(--accent) 45%,#fff);stroke-width:4}.mu-stone.is-pending{opacity:.75}.mu-stone.is-target{animation:mu-wobble .9s ease-in-out infinite}.mu-stone.is-target circle:first-child{stroke:#fff;stroke-width:4;stroke-dasharray:8 6}.mu-last{fill:hsla(0,0%,100%,.85)}.mu-drop{transform-box:fill-box;transform-origin:50% 50%;animation:mu-drop .32s var(--ease-spring,cubic-bezier(.3,1.4,.5,1)) both}.mu-slide{animation:mu-slide .36s var(--ease-out) both}.mu-taken{animation:mu-taken .52s var(--ease-out) .16s both;transform-box:fill-box}.mu-points{position:absolute;inset:0}.mu .mu-point,.mu .mu-point:active:not(:disabled),.mu .mu-point:disabled,.mu .mu-point:hover:not(:disabled){position:absolute;width:13%;height:13%;margin:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;opacity:1;transform:translate(-50%,-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.mu-stage.is-live .mu-point{cursor:pointer}.mu .mu-point:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.mu-note{margin:2px 0 0;color:var(--muted);font-size:13px}@keyframes mu-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mu-drop{0%{transform:scale(1.35);opacity:0}to{transform:scale(1);opacity:1}}@keyframes mu-slide{0%{transform:translate(var(--mu-dx,0),var(--mu-dy,0))}to{transform:translate(0)}}@keyframes mu-taken{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(.4)}}@keyframes mu-wobble{0%,to{transform:scale(1)}50%{transform:scale(.92)}}@keyframes mu-hud-in{0%{opacity:0;transform:translateY(3px) scale(.98)}to{opacity:1;transform:none}}@keyframes mu-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.86)}}@media (prefers-reduced-motion:reduce){.mu-drop,.mu-hud-pill,.mu-hud-pill[data-tone=wait] .mu-hud-stone,.mu-option,.mu-slide,.mu-stone.is-target,.mu-taken{animation:none}.mu-taken{display:none}}.bs-root{--bs-a:var(--accent);--bs-b:#ec8537;--bs-water:#eceefa;--bs-water-hover:#e0e3f7;--bs-water-seen:#f5f6fc;--bs-dot:rgba(38,36,70,.34);--bs-dot-soft:rgba(38,36,70,.13);--bs-ember-1:#fff4dc;--bs-ember-2:#ffae4f;--bs-ember-3:#e5473d;--bs-dead:#a33a3a;--bs-splash:rgba(78,78,224,.5);--bs-gap:3px;--bs-tile-r:6px;--bs-lab:18px;--bs-inset:3px;position:relative;width:100%;max-width:1040px;margin:0 auto;color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}html[data-theme=dark] .bs-root{--bs-b:#f5a168;--bs-water:#333955;--bs-water-hover:#3c4363;--bs-water-seen:#2c3149;--bs-dot:rgba(233,235,245,.42);--bs-dot-soft:rgba(233,235,245,.15);--bs-ember-3:#f0584c;--bs-dead:#d86a6a;--bs-splash:rgba(160,160,250,.55)}.bs-root[data-me=a]{--bs-me:var(--bs-a);--bs-foe:var(--bs-b)}.bs-root[data-me=b]{--bs-me:var(--bs-b);--bs-foe:var(--bs-a)}.bs-root [data-seat=a]{--bs-c:var(--bs-a)}.bs-root [data-seat=b]{--bs-c:var(--bs-b)}.bs-hud{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 4px 14px}.bs-hud-main{min-width:0}.bs-title{display:flex;align-items:center;gap:9px;margin:0;font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.02em}.bs-sub{margin:4px 0 0;min-height:1.4em;font-size:13.5px;line-height:1.4;color:var(--muted)}.bs-root[data-layout=narrow] .bs-title{font-size:17px}.bs-root[data-layout=narrow] .bs-sub{font-size:13px}.bs-seat-dot,.bs-turn-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--bs-c);box-shadow:0 0 0 3px color-mix(in srgb,var(--bs-c) 22%,transparent)}.bs-seat-dot{width:8px;height:8px;box-shadow:none}.bs-hud[data-turn=me] .bs-turn-dot{animation:bs-breathe 1.8s ease-in-out infinite}@keyframes bs-breathe{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--bs-c) 26%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--bs-c) 6%,transparent)}}.bs-dots{display:inline-flex;align-self:flex-end;gap:3px;margin-left:-4px;padding-bottom:.38em}.bs-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.25;animation:bs-dot 1.2s var(--ease-in-out) infinite}.bs-dots i:nth-child(2){animation-delay:.15s}.bs-dots i:nth-child(3){animation-delay:.3s}@keyframes bs-dot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:.9;transform:translateY(-2px)}}.bs-chip{display:inline-flex;flex:none;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--muted);font-size:12.5px;font-weight:600;white-space:nowrap}.bs-chip i{width:7px;height:7px;border-radius:50%;background:var(--amber)}.bs-chip[data-state=busy] i{animation:bs-blink 1.6s ease-in-out infinite}.bs-chip[data-state=ready] i{background:var(--green)}@keyframes bs-blink{50%{opacity:.3}}.bs-grid{display:grid;grid-template-columns:var(--bs-lab) minmax(0,1fr);grid-template-rows:var(--bs-lab) auto;width:100%}.bs-grid[data-size=mini]{--bs-lab:12px;--bs-gap:2px;--bs-tile-r:3px;--bs-inset:1.5px}.bs-root[data-layout=narrow] .bs-grid[data-size=main]{--bs-lab:14px;--bs-gap:2.5px;--bs-tile-r:5px;--bs-inset:2.5px}.bs-cols{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-column-gap:var(--bs-gap);column-gap:var(--bs-gap)}.bs-rows{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(10,minmax(0,1fr));grid-row-gap:var(--bs-gap);row-gap:var(--bs-gap)}.bs-cols span,.bs-rows span{display:grid;place-items:center;color:var(--muted);font-size:10.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.7}.bs-cols span{padding-bottom:3px}.bs-rows span{padding-right:4px;justify-items:end}.bs-grid[data-size=mini] .bs-cols span,.bs-grid[data-size=mini] .bs-rows span{font-size:7.5px;padding:0 2px 1px 0}.bs-field{grid-column:2;grid-row:2;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));grid-gap:var(--bs-gap);gap:var(--bs-gap);aspect-ratio:1;border-radius:calc(var(--bs-tile-r) + 2px);outline:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.bs-field[data-interactive]{touch-action:none;cursor:crosshair}.bs-field:focus-visible{box-shadow:0 0 0 3px var(--accent-glow)}.bs-tile{position:relative;border-radius:var(--bs-tile-r);background:var(--bs-water);transition:background-color var(--dur-2) var(--ease-out)}.bs-tile[data-m=miss],.bs-tile[data-m=safe]{background:var(--bs-water-seen)}@media (hover:hover){.bs-field[data-interactive] .bs-tile:not([data-m]):hover{background:var(--bs-water-hover)}}.bs-tile:after{content:"";position:absolute;z-index:2;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.bs-tile[data-m=miss]:after{width:24%;height:24%;background:var(--bs-dot)}.bs-tile[data-m=safe]:after{width:13%;height:13%;background:var(--bs-dot-soft)}.bs-tile[data-m=hit]:after{width:44%;height:44%;background:radial-gradient(circle at 50% 42%,var(--bs-ember-1) 0 15%,var(--bs-ember-2) 42%,var(--bs-ember-3) 74%);box-shadow:0 0 0 1.5px hsla(0,0%,100%,.7),0 0 12px 2px color-mix(in srgb,var(--bs-ember-3) 55%,transparent);animation:bs-ember 2.6s ease-in-out infinite}.bs-grid[data-size=mini] .bs-tile[data-m=hit]:after{box-shadow:0 0 0 1px hsla(0,0%,100%,.7),0 0 6px 1px color-mix(in srgb,var(--bs-ember-3) 55%,transparent);animation:none}@keyframes bs-ember{50%{box-shadow:0 0 0 1.5px hsla(0,0%,100%,.7),0 0 16px 4px color-mix(in srgb,var(--bs-ember-3) 38%,transparent)}}.bs-tile[data-m=dead]:after{width:30%;height:30%;background:var(--bs-dead);box-shadow:0 0 0 1.5px hsla(0,0%,100%,.55)}html[data-theme=dark] .bs-tile[data-m=dead]:after,html[data-theme=dark] .bs-tile[data-m=hit]:after{box-shadow:0 0 0 1.5px rgba(20,22,40,.5),0 0 12px 2px color-mix(in srgb,var(--bs-ember-3) 50%,transparent)}html[data-theme=dark] .bs-tile[data-m=dead]:after{box-shadow:0 0 0 1.5px rgba(20,22,40,.5)}.bs-at{--bs-step:calc((100% + var(--bs-gap)) / 10);position:absolute;left:calc(var(--c) * var(--bs-step));top:calc(var(--r) * var(--bs-step));width:calc(var(--w) * var(--bs-step) - var(--bs-gap));height:calc(var(--h) * var(--bs-step) - var(--bs-gap));pointer-events:none}.bs-ship{z-index:1;transition:left .15s var(--ease-out),top .15s var(--ease-out),width .22s var(--ease-out),height .22s var(--ease-out)}.bs-ship:before{content:"";position:absolute;inset:var(--bs-inset);border-radius:999px;background:radial-gradient(circle closest-side,hsla(0,0%,100%,.55) 0 24%,transparent 30%) 0 0 /calc(100% / var(--len)) 100% repeat-x,linear-gradient(180deg,color-mix(in srgb,var(--bs-c) 72%,#fff),var(--bs-c) 75%);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 3px 8px -2px color-mix(in srgb,var(--bs-c) 55%,transparent);transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-2) var(--ease-out),background var(--dur-3) var(--ease-out),opacity var(--dur-3) var(--ease-out)}.bs-ship[data-vertical]:before{background:radial-gradient(circle closest-side,hsla(0,0%,100%,.55) 0 24%,transparent 30%) 0 0 /100% calc(100% / var(--len)) repeat-y,linear-gradient(90deg,color-mix(in srgb,var(--bs-c) 72%,#fff),var(--bs-c) 75%)}.bs-grid[data-size=mini] .bs-ship:before{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3)}.bs-ship[data-hover]:before{transform:scale(1.04);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 8px 16px -6px color-mix(in srgb,var(--bs-c) 70%,transparent)}.bs-ship[data-look=own-sunk]:before,.bs-ship[data-look=wreck]:before{background:color-mix(in srgb,var(--bs-c) 26%,var(--bs-water));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--bs-c) 60%,transparent)}.bs-ship[data-look=own-sunk]:before{background:color-mix(in srgb,var(--bs-c) 16%,var(--bs-water));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--bs-c) 40%,transparent)}.bs-ship[data-look=ghost]:before{background:color-mix(in srgb,var(--bs-c) 9%,transparent);box-shadow:none;border:1.5px dashed color-mix(in srgb,var(--bs-c) 75%,transparent);animation:bs-reveal .6s var(--ease-out) both}.bs-ship[data-look=wreck]{animation:bs-reveal .5s var(--ease-out) both}.bs-ship[data-look=preview-bad],.bs-ship[data-look=preview]{z-index:3}.bs-ship[data-look=preview-bad]:before,.bs-ship[data-look=preview]:before{background:color-mix(in srgb,var(--bs-c) 30%,transparent);box-shadow:inset 0 0 0 2px var(--bs-c)}.bs-ship[data-look=preview-bad]{--bs-c:var(--red)}.bs-ship[data-shake]{transition:none;animation:bs-shake .42s var(--ease-out) both,bs-fade .65s ease-in forwards}.bs-ship[data-fresh]:before{animation:bs-sink 1s var(--ease-out) both}@keyframes bs-reveal{0%{opacity:0;transform:scale(.92)}}@keyframes bs-sink{0%{transform:scale(1.14);box-shadow:inset 0 0 0 1.5px var(--bs-c),0 0 0 0 color-mix(in srgb,var(--bs-c) 60%,transparent)}45%{box-shadow:inset 0 0 0 1.5px var(--bs-c),0 0 0 10px color-mix(in srgb,var(--bs-c) 0,transparent)}to{transform:scale(1)}}@keyframes bs-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}@keyframes bs-fade{0%,60%{opacity:1}to{opacity:0}}.bs-band{z-index:1;background:color-mix(in srgb,var(--bs-me) 7%,transparent)}.bs-band,.bs-cursor{border-radius:var(--bs-tile-r);transition:left .11s var(--ease-out),top .11s var(--ease-out)}.bs-cursor{z-index:5;background:color-mix(in srgb,var(--bs-me) 16%,transparent);box-shadow:inset 0 0 0 2px var(--bs-me),0 0 0 3px color-mix(in srgb,var(--bs-me) 20%,transparent)}.bs-cursor[data-blocked]{background:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--text) 22%,transparent)}.bs-loupe{z-index:6}.bs-loupe span{position:absolute;left:50%;bottom:calc(100% + 14px);transform:translateX(-50%);padding:5px 11px;border-radius:999px;background:var(--text);color:var(--surface);box-shadow:var(--shadow-md);font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;animation:bs-pop .18s var(--ease-out) both}@keyframes bs-pop{0%{opacity:0;transform:translate(-50%,4px) scale(.9)}}.bs-pending{z-index:4;border-radius:50%;box-shadow:inset 0 0 0 2px var(--bs-me);animation:bs-pending .9s ease-in-out infinite}@keyframes bs-pending{50%{transform:scale(.6);opacity:.4}}.bs-recent{z-index:3;border-radius:var(--bs-tile-r);box-shadow:inset 0 0 0 2px var(--bs-c);animation:bs-recent 4.2s var(--ease-out) forwards}@keyframes bs-recent{0%{opacity:0}72%,8%{opacity:1}to{opacity:0}}.bs-impact{z-index:4}.bs-impact:after,.bs-impact:before{content:"";position:absolute;inset:0;border-radius:50%;opacity:0}.bs-impact[data-kind=miss]:after,.bs-impact[data-kind=miss]:before{border:2px solid var(--bs-splash);animation:bs-ripple .85s var(--ease-out) forwards}.bs-impact[data-kind=miss]:after{animation-delay:.14s}.bs-impact[data-kind=hit]:before,.bs-impact[data-kind=sunk]:before{background:radial-gradient(circle,rgba(255,246,222,.95) 0 18%,rgba(255,164,72,.75) 44%,rgba(229,71,61,0) 70%);animation:bs-flash .7s var(--ease-out) forwards}.bs-impact[data-kind=hit]:after,.bs-impact[data-kind=sunk]:after{border:2px solid color-mix(in srgb,var(--bs-ember-3) 75%,transparent);animation:bs-ripple .75s .05s var(--ease-out) forwards}.bs-impact[data-kind=sunk]:before{animation:bs-flash-big .95s var(--ease-out) forwards}.bs-impact[data-kind=sunk]:after{animation:bs-ripple-big 1s .05s var(--ease-out) forwards}@keyframes bs-ripple{0%{opacity:.95;transform:scale(.2)}to{opacity:0;transform:scale(1.9)}}@keyframes bs-ripple-big{0%{opacity:.95;transform:scale(.3)}to{opacity:0;transform:scale(3.4)}}@keyframes bs-flash{0%{opacity:1;transform:scale(.3)}55%{opacity:.85}to{opacity:0;transform:scale(2.3)}}@keyframes bs-flash-big{0%{opacity:1;transform:scale(.3)}50%{opacity:.9}to{opacity:0;transform:scale(3.2)}}.bs-battle[data-layout=wide]{max-width:900px;margin:0 auto}.bs-panes{display:flex;flex-direction:column;gap:12px}.bs-battle[data-layout=wide] .bs-panes{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;grid-gap:22px;gap:22px}.bs-pane{--bs-ring:var(--bs-me);position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "grid" "fleet";grid-row-gap:10px;row-gap:10px;padding:12px 16px 14px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}html[data-theme=dark] .bs-pane,html[data-theme=dark] .bs-setup-board,html[data-theme=dark] .bs-waiting-board{background:linear-gradient(180deg,hsla(0,0%,100%,.035),transparent 38%),var(--surface)}.bs-pane[data-role=own]{--bs-ring:var(--bs-foe)}.bs-pane[data-active]{border-color:color-mix(in srgb,var(--bs-ring) 45%,var(--border));box-shadow:var(--shadow-md),0 0 0 3px color-mix(in srgb,var(--bs-ring) 12%,transparent)}.bs-pane[data-role=target]{view-transition-name:bs-target}.bs-pane[data-role=own]{view-transition-name:bs-own}::view-transition-group(bs-own),::view-transition-group(bs-target){animation-duration:.42s;animation-timing-function:var(--ease-out)}.bs-pane-grid{grid-area:grid;min-width:0}.bs-pane-head{grid-area:head;display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;padding-left:var(--bs-lab)}.bs-pane-title{display:inline-flex;align-items:center;gap:7px;min-width:0;overflow:hidden;font-size:14px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.bs-pane-count{flex:none;color:var(--muted);font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bs-pane-count b{color:var(--text);font-weight:700}.bs-root[data-layout=narrow] .bs-pane{padding:10px 10px 12px 3px}.bs-root[data-layout=narrow] .bs-pane[data-size=main] .bs-pane-head{padding-left:14px}.bs-pane[data-size=mini]{grid-template-columns:minmax(0,52%) minmax(0,1fr);grid-template-areas:"grid head" "grid fleet";grid-template-rows:auto 1fr;column-gap:14px;row-gap:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.bs-pane[data-size=mini] .bs-pane-head{flex-direction:column;align-items:flex-start;gap:2px;padding:16px 0 0}.bs-pane[data-size=mini]:after{content:"";position:absolute;top:12px;right:12px;width:14px;height:14px;opacity:.45;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 2.5h4v4M13.5 2.5 9 7M6.5 13.5h-4v-4M2.5 13.5 7 9'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 2.5h4v4M13.5 2.5 9 7M6.5 13.5h-4v-4M2.5 13.5 7 9'/%3E%3C/svg%3E") center /contain no-repeat}.bs-pane[data-size=mini]:active{transform:scale(.99)}.bs-pane[data-size=mini]:focus-visible{outline:none;box-shadow:var(--shadow-sm),0 0 0 3px var(--accent-glow)}.bs-fleet{grid-area:fleet;display:flex;flex-wrap:wrap;gap:7px 12px;margin:0;padding:0 0 0 var(--bs-lab);list-style:none}.bs-root[data-layout=narrow] .bs-pane[data-size=main] .bs-fleet{padding-left:14px}.bs-fleet[data-stack]{flex-direction:column;align-items:flex-start;gap:5px;padding:0}.bs-fleet li{position:relative;display:flex;gap:2px;transition:opacity var(--dur-3) var(--ease-out)}.bs-fleet i{width:9px;height:9px;border-radius:2.5px;background:var(--bs-c);transition:background-color var(--dur-3) var(--ease-out)}.bs-fleet[data-stack] i{width:8px;height:8px}.bs-fleet i:first-child{border-radius:5px 2.5px 2.5px 5px}.bs-fleet i:last-child{border-radius:2.5px 5px 5px 2.5px}.bs-fleet i[data-hit]{background:var(--bs-ember-3)}.bs-fleet li[data-sunk]{opacity:.38}.bs-fleet li[data-sunk] i{background:var(--muted)}.bs-fleet li[data-sunk]:after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:1.5px;border-radius:1px;background:var(--text);transform:rotate(-9deg)}.bs-setup[data-layout=wide]{max-width:780px;margin:0 auto}.bs-setup-body{display:grid;grid-gap:14px;gap:14px}.bs-setup[data-layout=wide] .bs-setup-body{grid-template-columns:minmax(0,1fr) 264px;align-items:start;gap:24px}.bs-setup-board,.bs-waiting-board{padding:12px 16px 16px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.bs-root[data-layout=narrow] .bs-setup-board,.bs-root[data-layout=narrow] .bs-waiting-board{padding:10px 10px 12px 3px}.bs-setup-side{display:flex;flex-direction:column;gap:12px}.bs-dock-head{display:flex;align-items:center;gap:8px;min-height:24px;color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bs-dock-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button.bs-textbtn,button.bs-textbtn:hover:not(:disabled){margin-left:auto;padding:3px 4px;background:none;box-shadow:none;color:var(--accent);font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;transform:none}@media (hover:hover){button.bs-textbtn:hover:not(:disabled){text-decoration:underline}}.bs-dock{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:7px;gap:7px}.bs-root[data-layout=narrow] .bs-dock{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}button.bs-dock-item,button.bs-dock-item:hover:not(:disabled){--bs-dock-bg:var(--surface);display:flex;align-items:center;gap:11px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bs-dock-bg);box-shadow:var(--shadow-sm);color:var(--text);font-size:13.5px;font-weight:600;text-align:left;transition:background-color var(--dur-1) ease,border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}@media (hover:hover){button.bs-dock-item[data-state=free]:hover:not(:disabled){--bs-dock-bg:var(--hover)}}button.bs-dock-item[data-state=selected],button.bs-dock-item[data-state=selected]:hover:not(:disabled){--bs-dock-bg:color-mix(in srgb,var(--bs-c) 8%,var(--surface));border-color:var(--bs-c);box-shadow:0 0 0 3px color-mix(in srgb,var(--bs-c) 20%,transparent)}button.bs-dock-item[data-state=placed],button.bs-dock-item[data-state=placed]:hover:not(:disabled){--bs-dock-bg:var(--surface-2);box-shadow:none;color:var(--muted)}.bs-root[data-layout=narrow] button.bs-dock-item{flex-direction:column;align-items:flex-start;gap:7px;padding:9px 10px;font-size:12.5px}.bs-dock-ship{display:flex;flex:none;gap:2px}.bs-dock-ship i{width:10px;height:10px;border-radius:3px;background:var(--bs-c);transition:background-color var(--dur-2) var(--ease-out)}.bs-dock-ship i:first-child{border-radius:5px 3px 3px 5px}.bs-dock-ship i:last-child{border-radius:3px 5px 5px 3px}.bs-dock-item[data-state=placed] .bs-dock-ship i{background:color-mix(in srgb,var(--bs-c) 30%,var(--surface-2))}.bs-dock-name{flex:1 1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bs-dock-size{color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bs-root[data-layout=narrow] .bs-dock-size{display:none}.bs-rule{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}.bs-actions{display:flex;flex-wrap:wrap;gap:8px}.bs-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}.bs-btn svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bs-dice-icon circle{fill:currentColor;stroke:none}.bs-rotate-icon{transition:transform var(--dur-3) var(--ease-spring)}.bs-rotate-icon[data-vertical]{transform:rotate(90deg)}.bs-done{flex:1 1 110px;min-height:38px}.bs-setup[data-layout=wide] .bs-done{flex-basis:100%;margin-top:4px;min-height:42px}.bs-waiting{max-width:480px;margin:0 auto}.bs-waiting .bs-ship:before{animation:bs-idle 3.2s ease-in-out infinite}@keyframes bs-idle{50%{transform:translateY(-1px)}}.bs-curtain{display:grid;place-items:center;min-height:min(560px,72vh);padding:24px 0}.bs-curtain-card{width:min(100%,380px);padding:32px 24px 26px;border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center;animation:bs-rise .5s var(--ease-out) both}@keyframes bs-rise{0%{opacity:0;transform:translateY(10px) scale(.98)}}.bs-avatar{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,var(--bs-c),color-mix(in srgb,var(--bs-c) 58%,#1a1033));box-shadow:0 12px 30px -12px var(--bs-c);color:#fff;font-size:22px;font-weight:700;letter-spacing:0}.bs-curtain-caption{margin:16px 0 4px;color:var(--muted);font-size:13px;font-weight:600}.bs-curtain .bs-title{justify-content:center;font-size:22px}.bs-curtain .bs-sub{max-width:290px;margin:8px auto 22px}.bs-ready{min-width:180px;padding:12px 22px;font-size:15px}@media (prefers-reduced-motion:reduce){.bs-root *,.bs-root :after,.bs-root :before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.bs-recent{animation:none!important}}.rx{--rx-a:var(--accent);--rx-b:#ee8436;--rx-go:#2f9e69;--rx-fake:#f1bd3b;--rx-fake-ink:#3d2c00;--rx-foul:#d9474c;--rx-radius:28px;position:relative;display:flex;flex-direction:column;gap:12px;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}[data-theme=dark] .rx{--rx-b:#f6a262;--rx-go:#34a672;--rx-fake:#e9b949;--rx-foul:#e0575c}.rx [data-seat=a]{--rx-seat:var(--rx-a)}.rx [data-seat=b]{--rx-seat:var(--rx-b)}.rx-hud{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;padding:0 4px}.rx-hud-player{display:flex;align-items:center;gap:8px;min-width:0}.rx-hud-player.is-right{justify-content:flex-end}.rx-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.rx-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--rx-seat,var(--accent))}.rx-hud-mid{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.rx-hud-round{font-size:13px;font-weight:700;letter-spacing:-.01em}.rx-hud-best{font-size:12px;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rx-hud-best b{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--text)}.rx-hud-best .rx-dot{width:6px;height:6px}.rx-pills{display:inline-flex;flex:none;gap:4px}.rx-pill{display:block;width:16px;height:6px;border-radius:99px;background:var(--border-strong);transition:background-color var(--dur-2) var(--ease-out)}.rx-pill.is-on{background:var(--rx-seat);animation:rx-pill-pop var(--dur-3) var(--ease-spring)}@keyframes rx-pill-pop{0%{transform:scaleX(.4)}to{transform:none}}.rx-arena{position:relative;display:grid;grid-gap:10px;gap:10px;height:min(calc(100vh - 190px),620px);height:min(calc(100dvh - 190px),620px);min-height:280px}.rx[data-layout=side] .rx-arena{grid-template-columns:1fr 1fr}.rx[data-layout=stack] .rx-arena{grid-template-rows:1fr 1fr;gap:8px;height:min(calc(100vh - 150px),760px);height:min(calc(100dvh - 150px),760px);min-height:420px}.rx-pad{position:relative;overflow:hidden;min-width:0;min-height:0;border-radius:var(--rx-radius);border:1px solid var(--border);background-color:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;touch-action:none;container-type:size;transition:background-color var(--dur-3) var(--ease-out),border-color var(--dur-3) var(--ease-out),color var(--dur-2) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}.rx-pad:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 0,hsla(0,0%,100%,.4),transparent 62%)}[data-theme=dark] .rx-pad:before{background:radial-gradient(120% 80% at 50% 0,hsla(0,0%,100%,.07),transparent 62%)}.rx-pad[data-flip]{transform:rotate(180deg)}.rx[data-phase=wait] .rx-pad[data-state=idle]{background-color:color-mix(in srgb,var(--surface) 95%,var(--rx-seat))}.rx[data-phase=fake] .rx-pad[data-state=idle]{--muted:rgba(61,44,0,.72);--border-strong:rgba(61,44,0,.22);background-color:var(--rx-fake);border-color:transparent;color:var(--rx-fake-ink);transition:none}.rx[data-phase=go] .rx-pad[data-state=idle]{--muted:hsla(0,0%,100%,.82);--border-strong:hsla(0,0%,100%,.35);background-color:var(--rx-go);border-color:transparent;color:#fff;transition:none}.rx-pad[data-state=foul]{--muted:hsla(0,0%,100%,.85);--border-strong:hsla(0,0%,100%,.35);background-color:var(--rx-foul);border-color:transparent;color:#fff;transition:none}.rx-pad[data-state=result][data-win]{border-color:var(--rx-seat);box-shadow:0 0 0 1px var(--rx-seat),var(--shadow-md)}.rx-stage{position:absolute;inset:0}.rx-pad[data-state=foul] .rx-stage{animation:rx-shake .42s var(--ease-out)}@keyframes rx-shake{0%,to{transform:none}15%{transform:translateX(-10px)}30%{transform:translateX(8px)}45%{transform:translateX(-6px)}60%{transform:translateX(4px)}78%{transform:translateX(-2px)}}.rx-l{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:44px 20px;text-align:center;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-3) var(--ease-out),visibility 0s linear var(--dur-2)}.rx-pad[data-state=foul] .rx-l-foul,.rx-pad[data-state=result] .rx-l-result,.rx-pad[data-state=tapped] .rx-l-tapped,.rx[data-phase=connecting] .rx-pad[data-state=idle] .rx-l-connecting,.rx[data-phase=fake] .rx-pad[data-state=idle] .rx-l-fake,.rx[data-phase=go] .rx-pad[data-state=idle] .rx-l-go,.rx[data-phase=intro] .rx-pad[data-state=idle] .rx-l-intro,.rx[data-phase=paused] .rx-pad[data-state=idle] .rx-l-paused,.rx[data-phase=wait] .rx-pad[data-state=idle] .rx-l-wait{opacity:1;visibility:visible;transform:none;transition-delay:0s}.rx-pad[data-state=foul] .rx-l,.rx[data-phase=fake] .rx-pad[data-state=idle] .rx-l,.rx[data-phase=go] .rx-pad[data-state=idle] .rx-l{transition:none}.rx-l strong{font-size:24px;font-size:clamp(20px,7cqmin,38px);font-weight:700;letter-spacing:-.025em;line-height:1.15}.rx-l>span:not(.rx-big){max-width:34ch;font-size:14px;line-height:1.4;color:var(--muted)}.rx-kicker{font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.rx-kicker,.rx-l>.rx-kicker{font-size:12px}.rx .rx-now{font-size:64px;font-size:clamp(52px,24cqmin,150px);font-weight:800;letter-spacing:-.045em;line-height:1}.rx .rx-fake,.rx .rx-foul{font-size:44px;font-size:clamp(34px,14cqmin,88px);font-weight:800;letter-spacing:-.04em;line-height:1}.rx-pulse{position:relative;display:block;width:12px;height:12px;margin-bottom:6px;border-radius:50%;background:var(--rx-seat,var(--accent));animation:rx-pulse 1.8s var(--ease-in-out) infinite}.rx-pulse:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px solid var(--rx-seat,var(--accent));opacity:0;animation:rx-ring 1.8s var(--ease-out) infinite}@keyframes rx-pulse{0%,to{transform:scale(.85);opacity:.55}50%{transform:scale(1.1);opacity:1}}@keyframes rx-ring{0%{transform:scale(.55);opacity:.45}to{transform:scale(1.6);opacity:0}}.rx .rx-big{display:inline-flex;align-items:baseline;gap:3px;font-size:44px;font-size:clamp(34px,13cqmin,72px);font-weight:800;line-height:1;letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.rx .rx-big small{font-size:.36em;font-weight:600;letter-spacing:0;color:var(--muted)}.rx .rx-big.is-foul{color:var(--red)}.rx .rx-big.is-calm,.rx .rx-big.is-foul{font-size:clamp(24px,8cqmin,40px);letter-spacing:-.025em}.rx .rx-big.is-calm{color:var(--muted)}.rx-result{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(100%,520px)}.rx-l .rx-result-head{font-size:20px;font-size:clamp(17px,5cqmin,26px)}.rx-result-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;width:100%}.rx-col{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:16px 10px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface-2);transition:opacity var(--dur-3) var(--ease-out),background-color var(--dur-3) var(--ease-out)}.rx-col[data-win]{border-color:color-mix(in srgb,var(--rx-seat) 45%,transparent);background:color-mix(in srgb,var(--rx-seat) 11%,var(--surface));box-shadow:var(--shadow-sm)}.rx-col[data-win] .rx-big{color:var(--rx-seat)}.rx-col[data-lose]{opacity:.62}.rx-col-name{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--muted)}.rx-col-note{min-height:20px;font-size:12px;color:var(--muted)}.rx-badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700;color:#fff;background:var(--rx-seat)}.rx-result-foot{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.rx-progress{display:block;width:64px;height:3px;overflow:hidden;border-radius:99px;background:var(--border)}.rx-progress i{display:block;height:100%;background:var(--muted);transform-origin:left center;animation:rx-progress var(--rx-ms,2.6s) linear forwards}@keyframes rx-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.rx-half{display:flex;flex-direction:column;align-items:center;gap:12px}.rx-l .rx-half-head{font-size:18px;font-size:clamp(16px,5cqmin,26px)}.rx-pad[data-win] .rx-half .rx-big,.rx-pad[data-win] .rx-half-head{color:var(--rx-seat)}.rx .rx-half .rx-big{font-size:clamp(40px,17cqmin,104px)}.rx .rx-half .rx-big.is-calm,.rx .rx-half .rx-big.is-foul{font-size:clamp(28px,10cqmin,56px)}.rx-half-vs{font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rx-notice{position:absolute;top:14px;left:50%;z-index:2;max-width:calc(100% - 28px);padding:7px 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:99px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);font-size:13px;font-weight:600;color:var(--text);transform:translateX(-50%);animation:rx-drop var(--dur-3) var(--ease-spring);pointer-events:none}@keyframes rx-drop{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translateX(-50%)}}.rx-foot{position:absolute;left:0;right:0;bottom:16px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;font-size:13px;color:var(--muted);pointer-events:none;transition:opacity var(--dur-2) var(--ease-out)}.rx-pad[data-state=foul] .rx-foot,.rx-pad[data-state=result] .rx-foot,.rx[data-layout=single][data-phase=fake] .rx-foot,.rx[data-layout=single][data-phase=go] .rx-foot{opacity:0;transition:none}.rx-foot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.rx-key{display:inline-grid;place-items:center;min-width:50px;height:50px;padding:0 12px;border-radius:12px;border:solid color-mix(in srgb,currentColor 22%,transparent);border-width:1px 1px 3px;background:color-mix(in srgb,currentColor 5%,transparent);font-family:inherit;font-size:22px;font-weight:700;line-height:1;color:var(--text)}.rx[data-phase=fake] .rx-pad[data-state=idle] .rx-key,.rx[data-phase=go] .rx-pad[data-state=idle] .rx-key{color:inherit}.rx-mini{top:14px;left:16px;right:16px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:600;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}.rx-mini,.rx-sr{position:absolute}.rx-sr{width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width:560px){.rx{--rx-radius:24px;gap:10px}.rx-pill{width:12px}.rx-hud{gap:8px}.rx-col{padding:14px 8px 12px}}@media (prefers-reduced-motion:reduce){.rx-notice,.rx-pad[data-state=foul] .rx-stage,.rx-pill.is-on,.rx-progress i,.rx-pulse,.rx-pulse:after{animation:none}.rx-l{transform:none}}.nb{display:flex;flex-direction:column;gap:16px;min-width:0}.nb-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}[data-theme=dark] .nb-card{background:linear-gradient(180deg,hsla(0,0%,100%,.035),transparent 38%),var(--surface)}.nb-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.nb-card-head h2{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}.nb-card-head span{font-size:12.5px;color:var(--muted);text-align:right}.nb-kicker{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.nb-link,.nb-link:hover:not(:disabled){display:inline;padding:2px 4px;margin:0 -4px 0 2px;border-radius:6px;background:none;color:var(--accent);font-size:inherit;font-weight:650;box-shadow:none;transform:none}.nb-link:hover:not(:disabled){text-decoration:underline;text-underline-offset:2px}.nb-avatar{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;font-size:11.5px;font-weight:700;color:#fff;background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#120d33))}.nb-avatar.sm{width:22px;height:22px;font-size:9.5px}.nb-home{display:flex;flex-direction:column;gap:16px;animation:nb-fade-up var(--dur-3) var(--ease-out)}.nb-head h1{margin:0 0 4px;font-size:28px;font-weight:800;letter-spacing:-.03em}.nb-head p{margin:0;font-size:14px;color:var(--muted)}.nb-hero{display:flex;flex-direction:column;gap:18px;padding:22px;overflow:hidden}.nb-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 70% at 100% 0,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%)}.nb-hero>*{position:relative}.nb-hero-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px}.nb-stat{display:flex;flex-direction:column;gap:4px;min-width:0}.nb-level,.nb-streak{display:inline-flex;align-items:baseline;font-size:52px;font-weight:800;line-height:1;letter-spacing:-.045em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.nb-fact-val small,.nb-level small,.nb-team-level small{margin-left:1px;font-size:.38em;font-weight:650;letter-spacing:-.01em;color:var(--muted)}.nb-streak{font-size:46px;gap:6px}.nb-flame{font-size:.62em;transform:translateY(-.08em)}.nb-streak[data-zero]{color:var(--muted)}.nb-streak[data-zero] .nb-flame,.nb-team-streak[data-zero]{filter:grayscale(1);opacity:.5}.nb-stat-sub{font-size:13px;color:var(--muted)}.nb-stat-streak[data-risk] .nb-stat-sub{color:var(--amber-fg);font-weight:600}.nb-ring{position:relative;flex:none}.nb-ring svg{display:block;overflow:visible}.nb-ring-seg{stroke:var(--border-strong);transition:stroke var(--dur-3) var(--ease-out)}.nb-ring-seg.is-on{stroke:var(--accent)}.nb-ring[data-done] .nb-ring-seg.is-on{stroke:var(--green)}.nb-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center}.nb-ring-text strong{font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-ring-text strong small{font-size:.6em;font-weight:650;color:var(--muted)}.nb-ring-text>span{font-size:11.5px;color:var(--muted)}.nb-ring-check{width:28px;height:28px;fill:none;stroke:var(--green);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;animation:nb-pop var(--dur-3) var(--ease-spring)}.nb-risk{margin:-4px 0 0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--amber-fg);font-size:13.5px;line-height:1.4}.nb-seg{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;padding:3px;border-radius:14px;background:var(--hover)}.nb-seg-item,.nb-seg-item:hover:not(:disabled){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:52px;padding:6px 10px;border-radius:11px;background:transparent;color:var(--muted);box-shadow:none;transform:none}.nb-seg-item:hover:not(:disabled){color:var(--text)}.nb-seg-item.is-on,.nb-seg-item.is-on:hover:not(:disabled){background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.nb-seg-item strong{font-size:14.5px;font-weight:700}.nb-seg-item span{font-size:12px;font-weight:500;color:var(--muted)}.nb-voice{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:-6px 2px 0;font-size:13px;line-height:1.45;color:var(--muted)}.nb-voice[data-warn]{color:var(--amber-fg)}.nb-start-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.nb-start{min-width:240px;min-height:54px;padding:14px 26px;border-radius:14px;font-size:16px}.nb-start-meta{font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-unsaved{margin:-4px 0 0;font-size:13px;color:var(--red-fg)}.nb-close{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--green) 32%,transparent);background:color-mix(in srgb,var(--green) 9%,var(--surface));animation:nb-fade-up var(--dur-3) var(--ease-out)}.nb-close-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.nb-close-head strong{font-size:17px;font-weight:750;letter-spacing:-.015em;color:var(--green-fg)}.nb-close-head span{font-size:13.5px;color:var(--text)}.nb-close-facts{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px;color:var(--muted)}.nb-close-facts b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-close-team{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 0 0;list-style:none;border-top:1px solid color-mix(in srgb,var(--green) 22%,transparent);font-size:13.5px}.nb-close-team li{display:flex;align-items:center;gap:8px}.nb-cols{display:grid;grid-gap:16px;gap:16px}@media (min-width:820px){.nb-cols{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}}.nb-chart{position:relative;margin:4px -2px 0}.nb-chart svg{display:block;max-width:100%}.nb-chart-grid{stroke:var(--border);stroke-width:1}.nb-chart-xlabel,.nb-chart-ylabel{fill:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-chart-area-top{stop-color:var(--accent);stop-opacity:.18}.nb-chart-area-bottom{stop-color:var(--accent);stop-opacity:0}.nb-chart-line{fill:none;stroke:var(--accent);stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}.nb-chart-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2}.nb-chart-dot.is-today{fill:var(--accent);stroke:var(--surface);stroke-width:2.5}.nb-chart-empty{position:absolute;left:50%;top:44%;width:max-content;max-width:86%;margin:0;padding:6px 12px;border-radius:99px;border:1px solid var(--border);background:var(--surface);font-size:12.5px;color:var(--muted);text-align:center;transform:translate(-50%,-50%)}.nb-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.nb-facts>div{display:flex;flex-direction:column;gap:4px;min-width:0}.nb-facts span{font-size:12px;line-height:1.3;color:var(--muted)}.nb-fact-val{display:inline-flex;align-items:baseline;font-size:20px;font-weight:750;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.nb-team{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.nb-team-row{display:grid;grid-template-columns:16px 32px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:12px}.nb-team-row+.nb-team-row:not([data-me]){border-top-color:var(--border);border-top-left-radius:0;border-top-right-radius:0}.nb-team-row[data-me]{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.nb-rank{font-size:12px;font-weight:700;color:var(--muted);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-team-main{display:flex;flex-direction:column;gap:2px;min-width:0}.nb-team-name{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;font-size:14.5px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.nb-team-name em{flex:none;padding:1px 7px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-style:normal;font-weight:700}.nb-team-sub{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-team-streak{color:var(--text);font-weight:600}.nb-team-today[data-state=done]{color:var(--green-fg);font-weight:650}.nb-team-today[data-state=some]{color:var(--text)}.nb-team-today[data-state=risk]{color:var(--amber-fg)}.nb-team-level{display:inline-flex;align-items:baseline;font-size:22px;font-weight:800;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.nb-team-empty{margin:10px 2px 0;font-size:12.5px;color:var(--muted)}.nb-howto{padding:0}.nb-howto summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-radius:var(--radius);font-size:15px;font-weight:700;list-style:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nb-howto summary::-webkit-details-marker{display:none}.nb-howto summary svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--dur-2) var(--ease-out)}.nb-howto[open] summary svg{transform:rotate(180deg)}.nb-howto ol{display:flex;flex-direction:column;gap:8px;margin:0;padding:0 20px;list-style:none;counter-reset:nb-step;animation:nb-fade-up var(--dur-2) var(--ease-out)}.nb-howto li{counter-increment:nb-step;display:grid;grid-template-columns:22px 1fr;grid-gap:10px;gap:10px;font-size:14px;line-height:1.5;color:color-mix(in srgb,var(--text) 86%,var(--muted))}.nb-howto li:before{content:counter(nb-step);display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.nb-howto-note{margin:14px 20px 18px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:13px;line-height:1.5;color:var(--muted)}.nb-play{--nb-size:min(100%,440px,max(240px,calc(100vh - 380px)));display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px;margin:0 auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;animation:nb-fade-up var(--dur-2) var(--ease-out)}@supports (height:100dvh){.nb-play{--nb-size:min(100%,440px,max(240px,calc(100dvh - 380px)))}}@media (max-width:860px){.nb-play{--nb-size:min(100%,440px,max(220px,calc(100vh - 480px - env(safe-area-inset-bottom))))}@supports (height:100dvh){.nb-play{--nb-size:min(100%,440px,max(220px,calc(100dvh - 480px - env(safe-area-inset-bottom))))}}}.nb-play-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:14px;gap:14px}.nb-play-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0}.nb-play-title strong{font-size:22px;font-weight:800;letter-spacing:-.03em}.nb-play-title>span{font-size:13px;color:var(--muted)}.nb-play-title .nb-pill{align-self:center;padding:2px 8px;border-radius:99px;background:var(--amber-soft);color:var(--amber-fg);font-size:11.5px;font-weight:650}.nb-play-count{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-play-count small{font-size:.85em;font-weight:600;color:var(--muted)}.nb-icon-btn,.nb-icon-btn:hover:not(:disabled){display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:none;transform:none}.nb-icon-btn:hover:not(:disabled){background:var(--hover)}.nb-icon-btn svg{width:18px;height:18px;fill:currentColor}.nb-icon-btn:disabled{opacity:.4}.nb-beat{height:4px;overflow:hidden;border-radius:99px;background:var(--border)}.nb-beat i{display:block;height:100%;border-radius:inherit;background:var(--accent-fill);transform-origin:left center;animation:nb-beat var(--nb-beat,3s) linear forwards}.nb-beat[data-warm] i{background:var(--muted);opacity:.55}@keyframes nb-beat{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.nb-stage{position:relative;align-self:center;width:var(--nb-size)}.nb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%;aspect-ratio:1/1;padding:12px;border-radius:28px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.nb-cell{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--border);background:var(--surface-2);transition:box-shadow .42s var(--ease-out),border-color .42s var(--ease-out)}.nb-cell:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 90% at 50% 20%,hsla(0,0%,100%,.32),transparent 60%),var(--accent);opacity:0;transform:scale(.9);transition:opacity .34s var(--ease-out),transform .44s var(--ease-out)}.nb-cell[data-on]{border-color:transparent;box-shadow:0 10px 30px -8px var(--accent-glow);transition-duration:.12s}.nb-cell[data-on]:after{opacity:1;transform:none;transition:opacity .1s var(--ease-out),transform .26s var(--ease-spring)}.nb-center{display:grid;place-items:center;border-color:transparent;background:transparent}.nb-center:after{display:none}.nb-fix{display:block;width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.nb-letter{font-size:clamp(30px,9vw,50px);font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--accent);animation:nb-letter .16s var(--ease-out)}@keyframes nb-letter{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.nb-count{position:absolute;inset:0;pointer-events:none}.nb-count,.nb-count span{display:grid;place-items:center}.nb-count span{width:112px;height:112px;border-radius:50%;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 84%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);font-size:54px;font-weight:800;letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;animation:nb-count .8s var(--ease-out) both}@keyframes nb-count{0%{opacity:0;transform:scale(.72)}22%{opacity:1;transform:none}82%{opacity:1;transform:none}to{opacity:.2;transform:scale(.94)}}.nb-paused{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;border-radius:28px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;animation:nb-fade-in var(--dur-2) var(--ease-out)}.nb-paused strong{font-size:24px;font-weight:800;letter-spacing:-.03em}.nb-paused>span{max-width:30ch;margin-bottom:6px;font-size:14px;line-height:1.45;color:var(--muted)}.nb-paused-go,.nb-paused-stop{min-width:200px;min-height:50px;border-radius:14px;font-size:15px}.nb-paused small{font-size:12px;color:var(--muted)}.nb-play-hint{min-height:2.7em;margin:0;padding:0 8px;font-size:13.5px;line-height:1.35;text-align:center;color:var(--muted)}.nb-keys{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.nb-keys[data-dual]{grid-template-columns:repeat(2,minmax(0,1fr))}.nb-key{--nb-key-bg:var(--surface);--nb-key-line:var(--border-strong);--nb-key-edge:var(--border-strong);--nb-key-ink:var(--text)}.nb-key,.nb-key:hover:not(:disabled){position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:78px;padding:10px 12px;border-radius:20px;border:1px solid var(--nb-key-line);background:var(--nb-key-bg);color:var(--nb-key-ink);box-shadow:0 4px 0 var(--nb-key-edge),var(--shadow-sm);transform:translateY(0);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .18s var(--ease-out),border-color .18s var(--ease-out),color .18s var(--ease-out),opacity var(--dur-2) var(--ease-out),transform .11s var(--ease-out),box-shadow .11s var(--ease-out)}@media (hover:hover){.nb-key:not([data-fb]):not([data-latched]):hover:not(:disabled){--nb-key-line:color-mix(in srgb,var(--accent) 35%,var(--border-strong))}}.nb-key:active:not(:disabled),.nb-key[data-down],.nb-key[data-down]:hover:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--nb-key-edge),0 0 0 transparent;transition-duration:40ms}.nb-key[data-idle]{opacity:.55}.nb-key[data-latched]{--nb-key-bg:color-mix(in srgb,var(--accent) 10%,var(--surface));--nb-key-line:color-mix(in srgb,var(--accent) 50%,var(--border-strong));--nb-key-edge:color-mix(in srgb,var(--accent) 40%,var(--border-strong))}.nb-key[data-fb=hit]{--nb-key-bg:color-mix(in srgb,var(--green) 14%,var(--surface));--nb-key-line:color-mix(in srgb,var(--green) 55%,transparent);--nb-key-edge:color-mix(in srgb,var(--green) 45%,var(--border-strong))}.nb-key[data-fb=fa]{--nb-key-bg:color-mix(in srgb,var(--red) 12%,var(--surface));--nb-key-line:color-mix(in srgb,var(--red) 50%,transparent);--nb-key-edge:color-mix(in srgb,var(--red) 40%,var(--border-strong))}.nb-key[data-fb=miss]{--nb-key-line:color-mix(in srgb,var(--amber) 70%,transparent);--nb-key-edge:color-mix(in srgb,var(--amber) 50%,var(--border-strong))}.nb-key-label{font-size:17px;font-weight:700;letter-spacing:-.01em}.nb-key-sub{display:flex;align-items:center;justify-content:center;height:20px;font-size:12.5px}.nb-key-sub kbd{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:6px;border:solid var(--border-strong);border-width:1px 1px 2px;background:var(--surface-2);font-family:inherit;font-size:11.5px;font-weight:700;color:var(--muted)}.nb-key-sub b{font-weight:700;animation:nb-fade-in .16s var(--ease-out)}.nb-key[data-fb=hit] .nb-key-sub b{color:var(--green-fg)}.nb-key[data-fb=fa] .nb-key-sub b{color:var(--red-fg)}.nb-key[data-fb=miss] .nb-key-sub b{color:var(--amber-fg)}@media (hover:none) and (pointer:coarse){.nb-key-sub kbd{visibility:hidden}}.nb-result{gap:14px;width:100%;max-width:560px;margin:0 auto;padding:26px 22px 22px;text-align:center;animation:nb-fade-up var(--dur-3) var(--ease-out)}.nb-result,.nb-result-score{display:flex;flex-direction:column;align-items:center}.nb-result-score{gap:4px}.nb-result-score strong{font-size:64px;font-weight:800;line-height:1;letter-spacing:-.05em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;animation:nb-pop var(--dur-3) var(--ease-spring)}.nb-result-score span{font-size:13px;color:var(--muted)}.nb-verdict{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:14.5px;font-weight:650;line-height:1.3;text-align:left}.nb-result[data-trend=up] .nb-verdict{background:var(--green-soft);color:var(--green-fg)}.nb-result[data-trend=down] .nb-verdict{background:var(--amber-soft);color:var(--amber-fg)}.nb-trend{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.nb-mods{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px;gap:10px;width:100%}.nb-mod{padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);text-align:left}.nb-mod-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.nb-mod-top span{font-size:13px;font-weight:650;color:var(--muted)}.nb-mod-top strong{font-size:22px;font-weight:800;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-bar{position:relative;height:6px;margin:10px 0 8px;border-radius:99px;background:var(--border)}.nb-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent-fill);transform-origin:left center;animation:nb-grow .7s var(--ease-out)}.nb-bar b{position:absolute;top:-3px;width:2px;height:12px;border-radius:1px;background:var(--border-strong);transform:translateX(-1px)}.nb-mod-counts{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12.5px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nb-goal-banner{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--green) 30%,transparent);background:var(--green-soft);color:var(--green-fg);animation:nb-fade-up var(--dur-3) var(--ease-out)}.nb-goal-banner strong{font-size:16px;font-weight:750}.nb-goal-banner span{font-size:13.5px}.nb-result-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;font-size:13px;color:var(--muted)}.nb-dots{display:inline-flex;gap:5px}.nb-dots i{display:block;width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.nb-dots i.is-on{background:var(--accent-fill)}.nb-save[data-state=saved]{color:var(--green-fg)}.nb-save[data-state=saved]:before{content:"✓ "}.nb-save[data-state=failed]{color:var(--red-fg)}.nb-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin-top:4px}.nb-action{flex:1 1 200px;max-width:280px;min-height:54px;padding:12px 22px;border-radius:14px;font-size:15.5px}@keyframes nb-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes nb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nb-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}@keyframes nb-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:560px){.nb-hero{padding:18px;gap:16px}.nb-hero-stats{gap:12px}.nb-level{font-size:42px}.nb-streak{font-size:38px}.nb-start{flex:1 1 100%;min-width:0}.nb-start-row{justify-content:center;text-align:center}.nb-card{padding:16px}.nb-howto{padding:0}.nb-howto summary{padding:15px 16px}.nb-howto ol{padding:0 16px}.nb-howto-note{margin:12px 16px 16px}.nb-grid{gap:8px;padding:10px;border-radius:24px}.nb-cell{border-radius:14px}.nb-paused{border-radius:24px}.nb-result-score strong{font-size:56px}}@media (max-width:380px){.nb-hero-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nb-hero-stats .nb-ring{grid-column:1/-1;justify-self:center}}@media (prefers-reduced-motion:reduce){.nb-bar i,.nb-close,.nb-goal-banner,.nb-home,.nb-howto ol,.nb-key-sub b,.nb-letter,.nb-paused,.nb-play,.nb-result,.nb-result-score strong,.nb-ring-check{animation:none}.nb-count span{animation-name:nb-fade-in}.nb-cell:after{transform:none}}