.BoardSettings-module__QkKs-q__open{border:1px solid var(--accent-border-subtle);background:var(--accent-soft);color:var(--accent-text);font:600 11px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:9px 14px;display:flex}.BoardSettings-module__QkKs-q__open:hover{background:var(--accent-soft-strong);color:var(--text-strong)}.BoardSettings-module__QkKs-q__panel{z-index:var(--z-drawer);background:var(--surface-drawer);border-left:1px solid var(--border-default);width:318px;max-width:88vw;height:100%;box-shadow:var(--shadow-drawer);transition:transform var(--duration-slow) var(--ease-standard);visibility:hidden;font-family:var(--font-display);color:var(--text-primary);flex-direction:column;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.BoardSettings-module__QkKs-q__panel.BoardSettings-module__QkKs-q__on{visibility:visible;transform:none}.BoardSettings-module__QkKs-q__head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.BoardSettings-module__QkKs-q__head span{font:600 11px/1 var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-text)}.BoardSettings-module__QkKs-q__close{background:var(--surface-control);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;border:0;border-radius:4px;font-size:15px;line-height:1}.BoardSettings-module__QkKs-q__close:active,.BoardSettings-module__QkKs-q__close:hover{background:var(--surface-hover);color:var(--text-primary)}.BoardSettings-module__QkKs-q__body{flex:1;padding:8px 20px 28px;overflow-y:auto}.BoardSettings-module__QkKs-q__sec{font:600 10px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-muted);margin:20px 0 6px}.BoardSettings-module__QkKs-q__row{border-bottom:1px solid var(--border-subtle);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;display:flex}.BoardSettings-module__QkKs-q__row p{color:var(--text-primary);margin:0;font-size:13px;line-height:1.35}.BoardSettings-module__QkKs-q__row small{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.BoardSettings-module__QkKs-q__sw{border:1px solid var(--border-strong);background:var(--surface-sunken);border-radius:11px;flex-shrink:0;width:38px;height:21px;transition:background .18s,border-color .18s;position:relative}.BoardSettings-module__QkKs-q__sw:after{content:"";background:var(--text-muted);border-radius:50%;width:15px;height:15px;transition:transform .18s cubic-bezier(.4,0,.2,1),background .18s;position:absolute;top:2px;left:2px}.BoardSettings-module__QkKs-q__row input{opacity:0;pointer-events:none;position:absolute}.BoardSettings-module__QkKs-q__row input:checked+.BoardSettings-module__QkKs-q__sw{background:color-mix(in srgb, var(--accent) 45%, transparent);border-color:var(--accent-border)}.BoardSettings-module__QkKs-q__row input:checked+.BoardSettings-module__QkKs-q__sw:after{background:var(--text-strong);transform:translate(17px)}.BoardSettings-module__QkKs-q__row.BoardSettings-module__QkKs-q__off{opacity:.4;cursor:default}.BoardSettings-module__QkKs-q__foot{border-top:1px solid var(--border-subtle);padding:14px 20px}.BoardSettings-module__QkKs-q__reset{border:1px solid var(--border-strong);width:100%;color:var(--text-secondary);font:600 11px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:10px}.BoardSettings-module__QkKs-q__reset:hover{color:var(--text-primary);background:var(--surface-hover)}.BoardSettings-module__QkKs-q__veil{z-index:var(--z-drawer-veil);background:var(--surface-overlay);opacity:0;visibility:hidden;transition:opacity .28s;position:fixed;inset:0}.BoardSettings-module__QkKs-q__veil.BoardSettings-module__QkKs-q__on{opacity:1;visibility:visible}@media (pointer:coarse){.BoardSettings-module__QkKs-q__open{min-height:var(--tap-min)}.BoardSettings-module__QkKs-q__close{width:var(--tap-min);height:var(--tap-min)}.BoardSettings-module__QkKs-q__sw{border-radius:13px;width:44px;height:26px}.BoardSettings-module__QkKs-q__sw:after{width:20px;height:20px}.BoardSettings-module__QkKs-q__row input:checked+.BoardSettings-module__QkKs-q__sw:after{transform:translate(18px)}.BoardSettings-module__QkKs-q__reset{min-height:44px}}@media not (min-width:768px){.BoardSettings-module__QkKs-q__panel{width:100%;max-width:none;height:auto;max-height:82dvh;padding-bottom:var(--safe-bottom);border-left:none;border-top:1px solid var(--border-default);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;top:auto;bottom:0;transform:translateY(100%)}.BoardSettings-module__QkKs-q__head{padding:14px 12px 12px 20px}.BoardSettings-module__QkKs-q__row p{font-size:14px}.BoardSettings-module__QkKs-q__row small{font-size:12px}.BoardSettings-module__QkKs-q__sec{font-size:11px}}
.nb-root{width:100%;max-width:1056px;font-family:var(--font-numeric);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0 auto;display:block;position:relative}.nb-scale{transform-origin:0 0}.nb-log{border:1px solid rgb(var(--nb-accent-rgb) / .18);background:var(--nb-log-bg);border-radius:8px;flex-direction:column;width:296px;max-height:718px;margin-right:20px;display:none;position:absolute;top:0;right:100%;overflow:hidden;box-shadow:0 20px 50px #00000080}.nb-root.with-log{width:calc(100% - 316px);margin-left:316px;margin-right:0}.nb-root.with-log .nb-log{display:flex}@media not (min-width:768px){.nb-root.with-log{width:100%;margin-bottom:262px;margin-left:0}.nb-root.with-log .nb-log{width:auto;max-height:250px;margin-right:0;top:calc(100% + 12px);left:0;right:0}.nb-root.nb-contain.with-log{margin-bottom:0}.nb-root.nb-contain.with-log .nb-log{display:none}}.nb-log-h{letter-spacing:.14em;text-transform:uppercase;color:var(--nb-accent);border-bottom:1px solid rgb(var(--nb-accent-rgb) / .16);justify-content:space-between;align-items:center;padding:14px 16px;font-size:11px;display:flex}.nb-log-cols{letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--nb-text-rgb) / .35);border-bottom:1px solid rgb(var(--nb-accent-rgb) / .1);grid-template-columns:26px 1fr 1fr;gap:8px;padding:9px 16px;font-size:10px;display:grid}.nb-log-cols b{font-weight:600}.nb-log-body{font:12px/1.5 var(--font-mono);color:rgb(var(--nb-text-rgb) / .8);padding:6px 8px 12px;overflow-y:auto}.nb-log-row{border-radius:4px;grid-template-columns:26px 1fr 1fr;gap:8px;padding:5px 8px;display:grid}.nb-log-row:nth-child(odd){background:#ffffff07}.nb-log-row.live{background:rgb(var(--nb-sum-rgb) / .12);color:var(--nb-text-bright)}.nb-log-row i{color:rgb(var(--nb-text-rgb) / .3);font-style:normal}.nb-log-empty{color:rgb(var(--nb-text-rgb) / .3);padding:14px 10px;font-size:12px}.nb-frame{box-sizing:border-box;border:1px solid var(--nb-frame-edge);background:var(--nb-frame-fill);border-radius:8px;width:1056px;height:718px;padding:16px;box-shadow:0 24px 60px #0000008c,inset 0 1px #ffc88c26,inset 0 -2px #0009}.nb-felt{box-sizing:border-box;background:radial-gradient(ellipse at center, var(--nb-felt-hi) 0%, var(--nb-felt) 100%);border-radius:4px;width:100%;height:100%;padding:18px 12px;box-shadow:inset 0 4px 16px #0009,inset 0 0 0 1px #00000080}.nb-play{touch-action:pinch-zoom;width:1000px;height:650px;position:relative}.nb-play svg.nb-board{display:block;position:absolute;inset:0}.nb-pt{opacity:.92}.nb-pt.a{fill:var(--nb-point-a)}.nb-pt.b{fill:var(--nb-point-b)}.nb-layer{position:absolute;inset:0}.nb-nums{opacity:0;transition:opacity .2s;overflow:visible}.nb-root.nb-shownums .nb-nums{opacity:1}.nb-num{font:600 11px/13px var(--font-numeric);letter-spacing:.06em;color:rgb(var(--nb-text-rgb) / .42);position:absolute;transform:translate(-50%)}.nb-num.home{color:rgb(var(--nb-accent-rgb) / .85)}.nb-layer[data-tags]{z-index:250}.nb-hits{z-index:300;position:absolute;inset:0}.nb-hit{cursor:default;position:absolute}.nb-hit.can{cursor:grab}.nb-hl{opacity:0;pointer-events:none;border-radius:6px;transition:opacity .18s;position:absolute}.nb-hl.on{opacity:1}.nb-hl.src{background:radial-gradient(ellipse at 50% 20%, rgb(var(--nb-accent-rgb) / .22), rgb(var(--nb-accent-rgb) / 0) 70%);box-shadow:inset 0 0 0 1px rgb(var(--nb-accent-rgb) / .35)}.nb-hl.dst{background:radial-gradient(ellipse at 50% 20%, rgb(var(--nb-move-rgb) / .28), rgb(var(--nb-move-rgb) / 0) 72%);box-shadow:inset 0 0 0 1.5px rgb(var(--nb-move-rgb) / .6)}.nb-hl.sum{background:radial-gradient(ellipse at 50% 20%, rgb(var(--nb-sum-rgb) / .3), rgb(var(--nb-sum-rgb) / 0) 72%);box-shadow:inset 0 0 0 1.5px rgb(var(--nb-sum-rgb) / .7)}.nb-hl.hit{background:radial-gradient(ellipse at 50% 20%, rgb(var(--nb-hit-rgb) / .3), rgb(var(--nb-hit-rgb) / 0) 72%);box-shadow:inset 0 0 0 1.5px rgb(var(--nb-hit-rgb) / .7)}.nb-tag{box-sizing:border-box;letter-spacing:.02em;min-width:26px;height:26px;color:var(--nb-move-ink);background:rgb(var(--nb-move-rgb));opacity:0;pointer-events:none;white-space:nowrap;border-radius:13px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:700;transition:opacity .16s,transform .16s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;transform:translate(-50%,-50%)scale(.6);box-shadow:0 2px 8px #00000080}.nb-tag.on{opacity:1;transform:translate(-50%,-50%)scale(1)}.nb-tag.hit{background:rgb(var(--nb-hit-rgb));color:var(--nb-hit-ink)}.nb-tag.sum{background:rgb(var(--nb-sum-rgb));color:var(--nb-sum-ink)}.nb-ck{pointer-events:none;will-change:transform;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;left:0}.nb-ck.w{background:var(--nb-checker-w);border:1px solid var(--nb-checker-w-border);color:var(--nb-checker-w-text);box-shadow:0 2px 4px #0006,inset 0 -2px 3px #0000004d,inset 0 2px 2px #ffffff26}.nb-ck.b{background:var(--nb-checker-b);border:1px solid var(--nb-checker-b-border);color:var(--nb-checker-b-text);box-shadow:0 2px 4px #0006,inset 0 -2px 3px #0000004d,inset 0 2px 2px #ffffff1f}.nb-ck.off{border-radius:3px;width:46px;height:12px;transition:width .2s,height .2s;box-shadow:0 1px 2px #0000008c,inset 0 1px #ffffff40,inset 0 -1px #00000059}.nb-ck.off.w{background:var(--nb-checker-w-flat)}.nb-ck.off.b{background:var(--nb-checker-b-flat)}.nb-ck.top{cursor:grab}.nb-ck.lift{cursor:grabbing;z-index:99;filter:drop-shadow(0 16px 18px #0000008c)}.nb-ck.pulse{box-shadow:0 2px 4px #0006, 0 0 0 2px rgb(var(--nb-accent-rgb) / .55), inset 0 -2px 3px #0000004d}.nb-tray{box-sizing:border-box;letter-spacing:1px;width:60px;height:650px;color:rgb(var(--nb-text-rgb) / .45);background:linear-gradient(#0006,#0000008c);border:1px solid #0009;border-radius:3px;flex-direction:column;justify-content:space-between;align-items:center;padding:6px;font-size:10px;display:flex;position:absolute;top:0}.nb-tray.can-off{box-shadow:inset 0 0 0 2px rgb(var(--nb-move-rgb) / .7)}.nb-tray .v{writing-mode:vertical-rl;transform:rotate(180deg)}.nb-pip{flex-direction:column;align-items:center;gap:2px;line-height:1;display:flex}.nb-pip b{font:600 17px/1 var(--font-numeric);letter-spacing:0;color:var(--nb-text)}.nb-pip.b b{color:var(--nb-checker-b-pip)}.nb-pip i{letter-spacing:.04em;color:rgb(var(--nb-text-rgb) / .4);font-size:10px;font-style:normal}.nb-pip i.lead{color:var(--nb-lead)}.nb-pip i.behind{color:var(--nb-behind)}.nb-pip:before{content:"";border-radius:50%;width:11px;height:11px;margin-bottom:3px;box-shadow:inset 0 0 0 1px #00000080}.nb-pip.w:before{background:var(--nb-checker-w-mini)}.nb-pip.b:before{background:var(--nb-checker-b-mini)}.nb-bar{background:var(--nb-bar-fill);border-left:1px solid #0009;border-right:1px solid #0009;width:64px;height:650px;position:absolute;top:0;left:468px}.nb-cube{background:var(--nb-cube);width:38px;height:38px;color:var(--nb-cube-ink);font:800 15px/1 var(--font-numeric);cursor:pointer;z-index:320;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:transform .45s cubic-bezier(.34,1.3,.5,1),box-shadow .2s;display:flex;position:absolute;top:0;left:500px;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0000008c,inset 0 1px #ffffffb3}.nb-cube.idle{opacity:.45;cursor:not-allowed}.nb-cube.idle:hover{box-shadow:0 4px 10px #0000008c,inset 0 1px #ffffffb3}.nb-cube:hover{box-shadow:0 4px 10px #0000008c, 0 0 0 2px rgb(var(--nb-sum-rgb) / .8), inset 0 1px 0 #ffffffb3}.nb-cube:active{transform:translate(-50%,-50%)scale(.94)}.nb-modal{z-index:400;background:var(--nb-veil);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:absolute;inset:0}.nb-modal.on{opacity:1;pointer-events:auto}.nb-card{text-align:center;background:var(--nb-card-bg);border:1px solid rgb(var(--nb-accent-rgb) / .35);border-radius:10px;min-width:340px;max-width:460px;padding:26px 28px;transition:transform .22s cubic-bezier(.34,1.3,.5,1);transform:translateY(10px)scale(.97);box-shadow:0 30px 70px #000000a6}.nb-modal.on .nb-card{transform:none}.nb-card p{color:var(--nb-text);text-wrap:pretty;margin:0 0 20px;font-size:16px;line-height:1.45}.nb-card p b{color:rgb(var(--nb-sum-rgb))}.nb-card .row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.nb-card .nb-btn.primary{background:var(--nb-btn-warm);color:var(--nb-btn-warm-ink);border-color:#0000004d}.nb-card .nb-btn.primary:hover{background:var(--nb-btn-warm-hover)}.nb-think{justify-content:center;gap:6px;padding:4px 0 2px;display:flex}.nb-think i{background:var(--nb-accent);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite nb-dot}.nb-think i:nth-child(2){animation-delay:.15s}.nb-think i:nth-child(3){animation-delay:.3s}@keyframes nb-dot{0%,80%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.nb-toast{z-index:410;background:var(--nb-toast-bg);border:1px solid rgb(var(--nb-accent-rgb) / .3);color:var(--nb-text);opacity:0;pointer-events:none;white-space:nowrap;border-radius:20px;padding:10px 18px;font-size:13px;transition:opacity .2s,transform .2s;position:absolute;bottom:26px;left:50%;transform:translate(-50%,8px)}.nb-toast.on{opacity:1;transform:translate(-50%)}.nb-logo{z-index:2;pointer-events:none;letter-spacing:4px;width:408px;height:70px;color:rgb(var(--nb-text-rgb) / .25);justify-content:center;align-items:center;font-size:18px;font-style:italic;display:flex;position:absolute;top:290px}.nb-dice{z-index:6;justify-content:center;align-items:center;gap:14px;width:408px;height:70px;transition:left .35s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:290px;left:532px}.nb-die{background:var(--nb-die);border-radius:8px;width:44px;height:44px;transition:opacity .2s,transform .2s;position:relative;box-shadow:0 4px 12px #00000080,inset 0 -3px #0000002e,inset 0 2px #ffffff80}.nb-die.spent{opacity:.3;transform:scale(.86)}.nb-die i{background:var(--nb-die-pip);border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;position:absolute;box-shadow:inset 0 1px 1px #0006}@keyframes nb-tumble{0%{transform:rotate(0)scale(1)}30%{transform:rotate(-22deg)scale(1.12)}60%{transform:rotate(18deg)scale(1.06)}to{transform:rotate(0)scale(1)}}.nb-die.roll{animation:.5s nb-tumble}.nb-die.dark{background:var(--nb-die-dark);box-shadow:0 4px 12px #0000008c,inset 0 -3px #0006,inset 0 2px #ffffff24}.nb-die.dark i{background:var(--nb-die-dark-pip);box-shadow:inset 0 -1px 1px #00000059}.nb-open{z-index:8;pointer-events:none;opacity:0;transition:opacity .22s;position:absolute;inset:0}.nb-root.nb-opening .nb-open{opacity:1}.nb-odie{position:absolute;top:314px}.nb-odie[data-oc=b]{left:242px}.nb-odie[data-oc=w]{left:714px}.nb-root.nb-opening .nb-dice,.nb-root.nb-opening .nb-roll,.nb-root.nb-opening .nb-actions,.nb-root.nb-opening .nb-cube{opacity:0;pointer-events:none}.nb-roll{white-space:nowrap;z-index:330;opacity:0;pointer-events:none;border:1px solid rgb(var(--nb-accent-rgb) / .4);background:var(--nb-btn-roll);color:var(--nb-accent-bright);font:600 12px/1 var(--font-numeric);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:24px;padding:11px 18px;transition:opacity .2s,transform .3s cubic-bezier(.34,1.3,.5,1),left .35s cubic-bezier(.4,0,.2,1),background .15s;position:absolute;top:325px;transform:translate(-50%,-50%)scale(.9);box-shadow:0 8px 20px #00000080}.nb-roll.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.nb-roll:hover{background:var(--nb-btn-roll-hover)}.nb-roll:active{transform:translate(-50%,-50%)scale(.96)}.nb-actions{z-index:330;background:var(--nb-actions-bg);box-shadow:0 10px 26px #00000073, inset 0 0 0 1px rgb(var(--nb-accent-rgb) / .14);opacity:0;pointer-events:none;border-radius:12px;gap:10px;padding:14px 16px;transition:opacity .2s,transform .28s cubic-bezier(.34,1.3,.5,1),left .35s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:378px;transform:translate(-50%)translateY(6px)}.nb-actions.on{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.nb-act{white-space:nowrap;border:1px solid rgb(var(--nb-accent-rgb) / .3);font:600 11px/1 var(--font-numeric);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:var(--nb-btn-dark);color:rgb(var(--nb-text-rgb) / .75);border-radius:8px;padding:11px 16px;transition:background .15s,color .15s}.nb-act.hidden{display:none}.nb-act:hover{background:var(--nb-btn-dark-hover);color:var(--nb-accent-bright)}.nb-ok{border-color:rgb(var(--nb-sum-rgb) / .65);background:var(--nb-btn-warm);color:var(--nb-btn-warm-ink)}.nb-ok:hover{background:var(--nb-btn-warm-hover)}.nb-root.nb-edit .nb-dice,.nb-root.nb-edit .nb-roll,.nb-root.nb-edit .nb-actions,.nb-root.nb-edit .nb-cube{opacity:0;pointer-events:none}.nb-root.nb-edit .nb-hit{cursor:crosshair}.nb-play-btn{background:var(--nb-btn-warm);color:var(--nb-btn-warm-ink);border-color:#0000004d}.nb-play-btn:hover{background:var(--nb-btn-warm-hover)}.nb-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}@media not (min-width:768px){.nb-controls{gap:8px 10px}.nb-controls .nb-btn{padding:11px 12px;font-size:11px}.nb-status{flex-basis:100%;order:-1}}.nb-btn{appearance:none;border:1px solid rgb(var(--nb-accent-rgb) / .35);background:var(--nb-btn);color:var(--nb-accent);font:600 13px/1 var(--font-numeric);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:12px 20px;transition:background .15s,transform .1s,border-color .15s}.nb-btn:hover{background:var(--nb-btn-hover);border-color:rgb(var(--nb-accent-rgb) / .6)}.nb-btn:active{transform:translateY(1px)}.nb-btn.ghost{color:var(--text-muted);border-color:var(--border-strong);background:0 0}.nb-btn.ghost:hover{color:var(--accent-text);background:var(--surface-control)}.nb-status{color:var(--text-tertiary);letter-spacing:.02em;font-size:13px}.nb-status b{color:var(--accent-text);font-weight:600}.nb-dot{vertical-align:-1px;border-radius:50%;width:11px;height:11px;margin-right:9px;display:inline-block;box-shadow:0 1px 3px #00000080}.nb-dot.w{background:var(--nb-checker-w-mini)}.nb-dot.b{background:var(--nb-checker-b-mini);border:1px solid var(--nb-frame-hi)}.nb-score{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-left:auto;font-size:13px}.nb-root.nb-contain{max-width:none}.nb-root.nb-nocontrols .nb-controls{display:none}
