.ludo-board{--u:calc(100cqw / 15);background:var(--g-board);width:100%;height:100%;box-shadow:var(--shadow-2);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:3.33333%;position:relative;container-type:size}.ludo-art{width:100%;height:100%;display:block;position:absolute;inset:0}.ludo-art__bg{fill:var(--g-board)}.ludo-art__edge{fill:none;stroke:var(--g-frame);stroke-width:3px;vector-effect:non-scaling-stroke}.ludo-yard__fill{fill:var(--yard)}.ludo-yard__nest{fill:var(--g-nest);stroke:var(--g-frame);stroke-width:2px;vector-effect:non-scaling-stroke;transition:stroke var(--dur-2) var(--ease)}.ludo-yard__spot{fill:color-mix(in oklab, var(--yard) 22%, var(--g-nest));stroke:var(--yard);stroke-width:1.5px;vector-effect:non-scaling-stroke}.ludo-sq{fill:var(--g-track);stroke:var(--g-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.ludo-sq[data-start],.ludo-sq--home{fill:var(--yard)}.ludo-sq[data-safe]{fill:var(--g-safe)}.ludo-tri{fill:var(--yard)}.ludo-tri[data-face=top]{fill:color-mix(in oklab, var(--yard) 85%, var(--g-shine))}.ludo-tri[data-face=left]{fill:color-mix(in oklab, var(--yard) 93%, var(--g-shine))}.ludo-tri[data-face=bottom]{fill:color-mix(in oklab, var(--yard) 94%, var(--scrim))}.ludo-seam{fill:none;stroke:var(--g-seam);stroke-width:1.5px;vector-effect:non-scaling-stroke}.ludo-center{fill:none;stroke:var(--g-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.ludo-star{fill:var(--g-star)}.ludo-star--start{fill:var(--start-star)}.ludo-arrow{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ludo-arrow--edge{stroke:var(--g-arrow);stroke-width:5px}.ludo-arrow--entry{stroke:var(--yard);stroke-width:2.5px}.ludo-art [data-unused]{opacity:.32}.ludo-board[data-turn="0"] .ludo-yard[data-corner="0"] .ludo-yard__nest,.ludo-board[data-turn="1"] .ludo-yard[data-corner="1"] .ludo-yard__nest,.ludo-board[data-turn="2"] .ludo-yard[data-corner="2"] .ludo-yard__nest,.ludo-board[data-turn="3"] .ludo-yard[data-corner="3"] .ludo-yard__nest{stroke:var(--g-hint);stroke-width:3px}.ludo-board[data-winner="0"] .ludo-tri[data-corner="0"],.ludo-board[data-winner="1"] .ludo-tri[data-corner="1"],.ludo-board[data-winner="2"] .ludo-tri[data-corner="2"],.ludo-board[data-winner="3"] .ludo-tri[data-corner="3"]{stroke:var(--g-hint);stroke-width:3px;vector-effect:non-scaling-stroke}.ludo-trail,.ludo-last{pointer-events:none;width:6.66667%;height:6.66667%;position:absolute}.ludo-trail{z-index:1;background:color-mix(in srgb, var(--c) 30%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent)}.ludo-last{z-index:5;transform:translate(-50%,-50%)}.ludo-ghost{z-index:6;width:calc(.8 * var(--u));aspect-ratio:1;border:max(2px, calc(.07 * var(--u))) dashed var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.ludo-token{--pin-w:calc(var(--size) * var(--u) * 1.1);z-index:2;width:max(calc(var(--size) * var(--u)), min(var(--tap), calc(var(--hit) * var(--u))));aspect-ratio:1;color:inherit;transition:translate var(--dur-2) var(--ease);pointer-events:none;cursor:default;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.ludo-token:before,.ludo-token:after{grid-area:1/1}.ludo-token[data-hidden]{visibility:hidden}.ludo-token[data-movable]{z-index:4;pointer-events:auto;cursor:pointer}.ludo-token:focus-visible{outline:var(--focus-w) solid var(--accent-ring);outline-offset:1px}.ludo-token__pin{width:var(--pin-w);aspect-ratio:40/52;transition:transform var(--dur-2) var(--ease);position:absolute;top:50%;left:50%;transform:translate(-50%,-74%)}.ludo-pin{width:100%;height:100%;display:block;overflow:visible}.ludo-pin__ground{fill:color-mix(in oklab, var(--scrim) 28%, transparent)}.ludo-pin__body{fill:var(--c);stroke:var(--g-token-edge);stroke-width:2.6px;stroke-linejoin:round}.ludo-pin__shade{fill:color-mix(in oklab, var(--scrim) 18%, transparent)}.ludo-pin__shine{fill:color-mix(in oklab, var(--g-shine) 70%, transparent)}.ludo-token__letter{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:max(7px, calc(var(--pin-w) * .34));color:var(--on);line-height:1;position:absolute;top:27%;left:50%;transform:translate(-50%,-50%)}.ludo-token__letter:before{content:attr(data-l);content:attr(data-l) / ""}.ludo-token__count:before{content:attr(data-n);content:attr(data-n) / ""}.ludo-token__count{min-width:max(12px, calc(.4 * var(--u)));height:max(12px, calc(.4 * var(--u)));border:1.5px solid var(--g-board);border-radius:var(--r-pill);background:var(--g-badge);color:var(--g-on-badge);font-family:var(--font-body);font-size:max(8px, calc(.28 * var(--u)));font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;place-items:center;padding-inline:2px;line-height:1;display:grid;position:absolute;top:-6%;right:-36%}.ludo-token__shield{width:max(10px, calc(.34 * var(--u)));aspect-ratio:12/14;position:absolute;bottom:2%;left:-16%}.ludo-token__shield svg{width:100%;height:100%;display:block;overflow:visible}.ludo-token__shield path{fill:var(--g-badge);stroke:var(--g-on-badge);stroke-width:1.4px;stroke-linejoin:round}.ludo-token[data-movable]:before,.ludo-token[data-target]:before{content:"";width:calc(var(--size) * var(--u) * 1.05);aspect-ratio:1;border:max(2px, calc(.08 * var(--u))) solid var(--g-hint);pointer-events:none;border-radius:50%}.ludo-token[data-target]:before{border-color:var(--danger);border-style:dashed}.ludo-token[data-lift]{z-index:5}.ludo-token[data-lift] .ludo-token__pin{transform:translate(-50%,-88%)scale(1.1)}.ludo-token[data-aim]{z-index:7}.ludo-token[data-aim]:before{border-style:double;border-width:max(4px, calc(.14 * var(--u)))}.ludo-token[data-aim] .ludo-token__pin{transform:translate(-50%,-96%)scale(1.25)}.ludo-token[data-hop],.ludo-token[data-strike]{z-index:6}.ludo-token[data-strike] .ludo-token__pin{transform:translate(-82%,-80%)}.ludo-token[data-shake] .ludo-token__pin{transform:translate(-18%,-68%)}.ludo-token[data-hop]{transition:translate var(--hop) linear}.ludo-token[data-fly]{z-index:5;transition:translate var(--fly) var(--ease-out)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .ludo-token[data-movable]:after{content:"";width:calc(var(--size) * var(--u));aspect-ratio:1;border:2px solid var(--g-hint);animation:ludo-pulse 1.3s var(--ease-out) infinite;pointer-events:none;border-radius:50%}:root:not([data-motion=reduce]) .ludo-token[data-movable]:not([data-aim],[data-lift]) .ludo-token__pin{animation:ludo-bob .9s var(--ease) infinite alternate}:root:not([data-motion=reduce]) .ludo-token[data-hop=a] .ludo-token__pin{animation:ludo-hop-a var(--hop) ease-out}:root:not([data-motion=reduce]) .ludo-token[data-hop=b] .ludo-token__pin{animation:ludo-hop-b var(--hop) ease-out}:root:not([data-motion=reduce]) .ludo-token[data-shake] .ludo-token__pin{animation:ludo-shake var(--strike) linear}:root:not([data-motion=reduce]) .ludo-token[data-fly] .ludo-token__pin{animation:ludo-fly var(--fly) var(--ease-out)}}@media (prefers-reduced-motion:reduce){:root[data-motion=full] .ludo-token[data-movable]:after{content:"";width:calc(var(--size) * var(--u));aspect-ratio:1;border:2px solid var(--g-hint);animation:ludo-pulse 1.3s var(--ease-out) infinite;pointer-events:none;border-radius:50%}:root[data-motion=full] .ludo-token[data-movable]:not([data-aim],[data-lift]) .ludo-token__pin{animation:ludo-bob .9s var(--ease) infinite alternate}:root[data-motion=full] .ludo-token[data-hop=a] .ludo-token__pin{animation:ludo-hop-a var(--hop) ease-out}:root[data-motion=full] .ludo-token[data-hop=b] .ludo-token__pin{animation:ludo-hop-b var(--hop) ease-out}:root[data-motion=full] .ludo-token[data-shake] .ludo-token__pin{animation:ludo-shake var(--strike) linear}:root[data-motion=full] .ludo-token[data-fly] .ludo-token__pin{animation:ludo-fly var(--fly) var(--ease-out)}}.ludo-burst,.ludo-confetti{z-index:7;pointer-events:none;width:0;height:0;position:absolute}.ludo-burst__ray{left:calc(-.05 * var(--u));top:calc(-.05 * var(--u));width:calc(.1 * var(--u));height:calc(.42 * var(--u));border-radius:var(--r-pill);background:var(--c);box-shadow:0 0 0 1px var(--g-token-edge);transform-origin:50% 0;transform:rotate(var(--a)) translateY(calc(.3 * var(--u)));opacity:0;position:absolute}.ludo-confetti__bit{left:calc(-.09 * var(--u));top:calc(-.18 * var(--u));width:max(4px, calc(.18 * var(--u)));height:max(7px, calc(.36 * var(--u)));background:var(--c);opacity:0;border-radius:1px;position:absolute}.ludo-confetti__bit[data-shape=square]{height:max(4px, calc(.18 * var(--u)))}.ludo-confetti__bit[data-tone=light]{background:var(--g-shine);box-shadow:0 0 0 1px var(--c)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .ludo-burst__ray{animation:ludo-burst var(--strike) var(--ease-out)}:root:not([data-motion=reduce]) .ludo-confetti__bit{animation:.9s cubic-bezier(.2,.6,.35,1) backwards ludo-confetti}}@media (prefers-reduced-motion:reduce){:root[data-motion=full] .ludo-burst__ray{animation:ludo-burst var(--strike) var(--ease-out)}:root[data-motion=full] .ludo-confetti__bit{animation:.9s cubic-bezier(.2,.6,.35,1) backwards ludo-confetti}}.ludo-roll{--g-die-edge:var(--c);z-index:3;width:max(var(--tap), calc(2.1 * var(--u)));aspect-ratio:1;border-radius:var(--r-md);color:inherit;transition:translate var(--dur-3) var(--ease);touch-action:manipulation;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.ludo-roll[aria-disabled=true]{pointer-events:none}.ludo-roll:not([aria-disabled=true]){cursor:pointer}.ludo-roll:focus-visible{outline:var(--focus-w) solid var(--accent-ring);outline-offset:2px}.ludo-roll .kit-die{--die:calc(1.3 * var(--u));--die-bw:max(2px, calc(.1 * var(--u)))}.ludo-roll[data-ready] .kit-die{box-shadow:0 0 0 max(3px, calc(.12 * var(--u))) color-mix(in srgb, var(--c) 40%, transparent), var(--shadow-2)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .ludo-roll[data-ready] .kit-die:not([data-rolling]){animation:ludo-ready 1.2s var(--ease) infinite alternate}:root:not([data-motion=reduce]) .ludo-roll[data-ready][data-bonus] .kit-die:not([data-rolling]){animation:ludo-die-hop .56s var(--ease-out), ludo-ready 1.2s var(--ease) .56s infinite alternate}}@media (prefers-reduced-motion:reduce){:root[data-motion=full] .ludo-roll[data-ready] .kit-die:not([data-rolling]){animation:ludo-ready 1.2s var(--ease) infinite alternate}:root[data-motion=full] .ludo-roll[data-ready][data-bonus] .kit-die:not([data-rolling]){animation:ludo-die-hop .56s var(--ease-out), ludo-ready 1.2s var(--ease) .56s infinite alternate}}@media (hover:hover) and (pointer:fine){.ludo-roll[data-ready]:hover .kit-die{transform:scale(1.06)}}.ludo-bonus{z-index:5;padding:max(2px, calc(.06 * var(--u))) max(6px, calc(.22 * var(--u)));border:2px solid var(--c);border-radius:var(--r-pill);background:var(--g-badge);color:var(--g-on-badge);font-family:var(--font-display);font-size:max(11px, calc(.42 * var(--u)));font-weight:var(--fw-bold);white-space:nowrap;pointer-events:none;line-height:1.15;position:absolute;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .ludo-bonus{animation:ludo-bonus .52s var(--ease-out)}:root:not([data-motion=reduce]) .ludo-bonus[data-kind=six]{animation:ludo-bonus .52s var(--ease-out), ludo-pulse-badge .9s var(--ease) .52s 2}}@media (prefers-reduced-motion:reduce){:root[data-motion=full] .ludo-bonus{animation:ludo-bonus .52s var(--ease-out)}:root[data-motion=full] .ludo-bonus[data-kind=six]{animation:ludo-bonus .52s var(--ease-out), ludo-pulse-badge .9s var(--ease) .52s 2}}.ludo-note{z-index:8;max-width:86%;padding:var(--sp-2) var(--sp-4);border:2px solid var(--c);border-radius:var(--r-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-3);font-size:clamp(var(--fs-sm), 3.8cqw, 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;width:max-content;animation:ludo-note var(--dur-3) var(--ease-out);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ludo-home-count{font-size:var(--fs-sm);color:var(--text-muted);position:relative}.ludo-result{font-size:var(--fs-sm);color:var(--text-muted);text-align:center;text-wrap:balance;margin:0}.ludo-result__seat{white-space:nowrap}@keyframes ludo-pulse{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.75)}}@keyframes ludo-bob{to{transform:translate(-50%,-82%)}}@keyframes ludo-hop-a{50%{transform:translate(-50%,-104%)scale(1.06)}}@keyframes ludo-hop-b{50%{transform:translate(-50%,-104%)scale(1.06)}}@keyframes ludo-shake{0%,to{transform:translate(-18%,-68%)}15%{transform:translate(-34%,-68%)rotate(-14deg)}35%{transform:translate(-2%,-68%)rotate(12deg)}55%{transform:translate(-30%,-68%)rotate(-9deg)}75%{transform:translate(-8%,-68%)rotate(6deg)}}@keyframes ludo-fly{45%{transform:translate(-50%,-150%)scale(1.15)rotate(-12deg)}}@keyframes ludo-burst{0%{opacity:1;transform:rotate(var(--a)) translateY(calc(.2 * var(--u))) scaleY(.4)}60%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(calc(.62 * var(--u))) scaleY(1)}}@keyframes ludo-confetti{0%{opacity:1;transform:translate(0)rotate(0)scale(.6)}70%{opacity:1}to{opacity:0;transform:translate(calc(var(--dx) * 1.1 * var(--u)), calc((var(--dy) + .6) * 1.1 * var(--u))) rotate(var(--rot)) scale(1)}}@keyframes ludo-ready{to{transform:scale(1.07)}}@keyframes ludo-die-hop{40%{transform:translateY(-28%)rotate(-10deg)scale(1.08)}70%{transform:translateY(0)rotate(4deg)}}@keyframes ludo-bonus{0%{opacity:0;transform:translate(-50%,-20%)scale(.6)}60%{transform:translate(-50%,-50%)scale(1.12)}}@keyframes ludo-pulse-badge{50%{transform:translate(-50%,-50%)scale(1.12)}}@keyframes ludo-note{0%{opacity:0;transform:translate(-50%,-30%)}}@media (aspect-ratio>=5/4) and (height<=520px){.kit-stage:has(.ludo-board) .kit-strip{gap:var(--sp-1);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kit-stage:has(.ludo-board) .kit-strip>li{min-width:0}}@media not all and (aspect-ratio>=5/4){.kit-stage:has(.ludo-board) .kit-strip:is([data-count="3"],[data-count="4"]){grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.kit-stage:has(.ludo-board) .kit-strip:is([data-count="3"],[data-count="4"])>li{min-width:0}.kit-stage:has(.ludo-board) .kit-strip[data-count="3"]>li:last-child{grid-column:1/-1}}@media (width>=600px) and ((aspect-ratio<5/4)){.kit-stage:has(.ludo-board) .kit-strip:is([data-count="3"],[data-count="4"]){grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.kit-stage:has(.ludo-board) .kit-strip[data-count="3"]>li:last-child{grid-column:auto}}@media (aspect-ratio>=5/4){.kit-body[data-split]:has(.ludo-board[data-players="2"]){grid-template-areas:"board top""board bottom""board actions""board panel""board side"}}@media (height<=700px) and ((aspect-ratio<5/4)){.kit-over:has(.ludo-result):has(.kit-over__ranking) .kit-over__hero{display:none}}@media (height<=700px){.kit-over:has(.ludo-result) :is(.kit-over__ranking,.kit-score-list){gap:0}.kit-over:has(.ludo-result) .kit-score-list .kit-score__n{font-size:var(--fs-lg);line-height:var(--lh-snug)}.kit-over:has(.ludo-result):has(.kit-over__ranking) .kit-over__tally{padding-block:var(--sp-2)}}@media (height<=520px){.kit-over:has(.ludo-result):has(.kit-over__ranking) .kit-dialog__body{justify-content:center;align-items:center;column-gap:var(--sp-6);grid-template-columns:auto auto;display:grid}.kit-over:has(.ludo-result):has(.kit-over__ranking) .kit-over__reason{grid-area:1/1/auto/-1}.kit-over:has(.ludo-result) .kit-over__ranking{margin:var(--sp-2) 0 0;grid-area:2/1}.kit-over:has(.ludo-result):has(.kit-over__ranking) .kit-over__tally{min-width:0;padding-block:var(--sp-1);flex-direction:column;grid-area:2/2;align-items:stretch;gap:0}.kit-over:has(.ludo-result):has(.kit-over__ranking) :is(.kit-over__ranking,.kit-score-list) li{line-height:var(--lh-snug)}.kit-over:has(.ludo-result):has(.kit-over__ranking) .kit-dialog__footer{margin-top:var(--sp-2)}.kit-over:has(.ludo-result):has(.kit-over__ranking) .ludo-result{margin-top:var(--sp-2);grid-area:3/1/auto/-1}}
