.ur-board{--cell:calc(100cqw / 4.2);border:2px solid var(--g-board-edge);border-radius:var(--r-md);background:var(--g-board);width:100%;height:100%;box-shadow:var(--shadow-1);user-select:none;-webkit-tap-highlight-color:transparent;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.2fr);padding:3px;display:grid;position:relative;container-type:size}.ur-cell{grid-row:var(--pr);grid-column:var(--pc);min-width:0;min-height:0;color:inherit;font:inherit;touch-action:manipulation;background:0 0;border:0;border-radius:12%;place-items:center;margin:1.5px;padding:0;display:grid;position:relative}.ur-cell>*{grid-area:1/1}.ur-dicerow{grid-area:1/4/-1;justify-content:center;align-items:center;min-height:0;display:flex}@media (aspect-ratio>=5/4){.ur-board{--cell:calc(100cqw / 8);grid-template-rows:repeat(3,minmax(0,1fr)) minmax(0,.9fr);grid-template-columns:repeat(8,minmax(0,1fr))}.ur-cell{grid-row:var(--lr);grid-column:var(--lc)}.ur-dicerow{grid-area:4/1/auto/-1}}.ur-sq{border:1.5px solid var(--g-square-edge);background:var(--g-square)}.ur-sq[data-rosette]{background:var(--g-rosette-square)}.ur-sq[data-trail]{background:var(--g-trail)}.ur-rosette{width:86%;height:86%}.ur-rosette__petal,.ur-rosette__safe{fill:none;stroke:var(--g-rosette);stroke-width:5px}.ur-rosette__safe{stroke-width:3.5px;stroke-dasharray:7 6}.ur-rosette__heart{fill:var(--g-rosette)}.ur-piece{z-index:1;width:72%;height:72%;position:relative;overflow:visible}.ur-piece[data-seat="0"]{--c:var(--g-player-ivory);--m:var(--g-mark-on-ivory)}.ur-piece[data-seat="1"]{--c:var(--g-player-charcoal);--m:var(--g-mark-on-charcoal)}.ur-piece__body{fill:var(--c);stroke:var(--g-piece-edge);stroke-width:2.5px}.ur-piece__mark{fill:var(--m)}.ur-piece__ring{fill:none;stroke:var(--m);stroke-width:2.5px}.ur-piece--ghost{opacity:.45}.ur-piece--ghost .ur-piece__body{stroke-dasharray:5 4}.ur-piece--chip{width:100%;height:100%}.ur-stack{border:1.5px dashed var(--g-board-edge)}.ur-stack__pieces{flex-wrap:wrap;place-content:center;gap:3%;width:90%;height:90%;display:flex}.ur-piece--mini{aspect-ratio:1;flex:none;width:29%;height:auto}.ur-stack__count{z-index:3;border-radius:var(--r-pill);background:var(--g-board);color:var(--g-count);font-size:clamp(11px, calc(var(--cell) * .24), 18px);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;align-items:center;gap:1px;padding:0 4px;line-height:1.25;display:inline-flex;position:absolute;bottom:4%;right:4%}.ur-stack--start .ur-stack__count{left:4%;right:auto}.ur-stack--finish .ur-stack__pieces{grid-template-columns:repeat(3,29%);align-content:start;display:grid}.ur-stack--finish .ur-piece--mini{width:100%}.ur-cell:after{content:"";z-index:2;pointer-events:none;border-radius:50%;position:absolute;inset:9%}.ur-stack:after{border-radius:14%;inset:5%}.ur-cell[data-movable]:after{border:max(2px, calc(var(--cell) * .045)) dashed var(--g-target)}.ur-cell[data-selected]:after{border:max(3px, calc(var(--cell) * .07)) solid var(--g-target)}.ur-cell[data-dest]{box-shadow:inset 0 0 0 max(3px, calc(var(--cell) * .06)) var(--g-target)}.ur-sq[data-capture]:after{border:max(3px, calc(var(--cell) * .06)) solid var(--danger);inset:4%}.ur-cell:not([aria-disabled=true]){cursor:pointer}.ur-cell:focus-visible,.ur-tray:focus-visible{z-index:3;outline:var(--focus-w) solid var(--accent-ring);outline-offset:1px}@media (hover:hover){.ur-cell[data-movable]:hover:not([data-selected]):after{border-style:solid}}.ur-tray{justify-content:center;align-items:center;gap:calc(var(--cell) * .16);min-width:var(--tap);min-height:var(--tap);width:92%;max-height:100%;padding:calc(var(--cell) * .18) 0;border-radius:var(--r-lg);color:var(--g-count);font:inherit;touch-action:manipulation;background:0 0;border:2px solid #0000;flex-direction:column;display:inline-flex}.ur-tray[data-ready]{border-color:var(--accent-strong);background:var(--accent-soft);color:var(--accent-strong);cursor:pointer}.ur-dice{align-items:center;gap:calc(var(--cell) * .12);flex-direction:column;display:inline-flex}@media (aspect-ratio>=5/4){.ur-tray{gap:calc(var(--cell) * .1);width:auto;max-width:100%;height:92%;padding:0 calc(var(--cell) * .12);flex-direction:row}.ur-dice{gap:calc(var(--cell) * .06);flex-direction:row}}.ur-die{width:min(calc(var(--cell) * .6), 56px);aspect-ratio:40/36;height:auto;overflow:visible}.ur-die__face{fill:var(--g-die-face);stroke:var(--g-die-edge);stroke-width:2.5px;stroke-linejoin:round}.ur-die__edge{fill:none;stroke:var(--g-die-edge);stroke-width:1.5px}.ur-die__mark{fill:var(--g-die-mark)}.ur-tray__total{min-width:1.4ch;font-family:var(--font-display);font-size:clamp(var(--fs-md), calc(var(--cell) * .42), 44px);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;text-align:center;line-height:1}.ur-tray[data-ready] .ur-tray__total{font-size:clamp(var(--fs-sm), calc(var(--cell) * .26), var(--fs-xl))}.ur-note{z-index:8;width:max-content;max-width:88%;padding:var(--sp-2) var(--sp-4);border:2px solid var(--accent-strong);border-radius:var(--r-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-3);font-size:clamp(var(--fs-sm), calc(var(--cell) * .24), var(--fs-lg));font-weight:var(--fw-semibold);line-height:var(--lh-snug);text-align:center;text-wrap:balance;overflow-wrap:anywhere;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ur-off-count{font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.ur-result{color:var(--text-muted);text-align:center;margin:0}@media (prefers-reduced-motion:no-preference){.ur-piece--arrive{animation:ur-arrive var(--dur-3) var(--ease-out)}.ur-dice[data-rolling] .ur-die{animation:ur-tumble .48s var(--ease-out)}.ur-dice[data-rolling] .ur-die:nth-child(2n){animation-delay:40ms}.ur-tray[data-ready]{animation:ur-ready 1.6s var(--ease) infinite}.ur-note{animation:ur-note var(--dur-3) var(--ease-out)}}@keyframes ur-arrive{0%{transform:scale(.55)}}@keyframes ur-tumble{0%{transform:translateY(-30%)rotate(-140deg)scale(.8)}60%{transform:translateY(6%)rotate(12deg)}}@keyframes ur-ready{50%{box-shadow:0 0 0 5px var(--accent-ring)}}@keyframes ur-note{0%{opacity:0;transform:translate(-50%,-40%)}}.kit-stage:has(.ur-board) .kit-strip>li{flex:1 1 0;min-width:0}
