:root{--raised:inset 0 1.5px 0 #ffffff8c, inset 1px 0 0 #ffffff2e, inset -1px 0 0 #00000014, inset 0 -4px 0 #0000002e, 0 1px 1px #0000002e, 0 4px 8px -2px #00000047;--raised-strong:inset 0 2px 0 #fff9, inset 1px 0 0 #fff3, inset -1px 0 0 #0000001a, inset 0 -5px 0 #00000038, 0 2px 2px #0003, 0 8px 14px -4px #00000059;--pressed:inset 0 3px 5px #0003, inset 0 1px 1px #0000001f, inset 0 -1px 0 #ffffff4d;--tray:inset 0 4px 10px #00000042, inset 0 -1px 0 #ffffff4d, 0 0 0 1px #ffffff59, 0 1px 0 #fff6, 0 14px 30px -10px #00000059;--sheen:radial-gradient(ellipse 70% 50% at 30% 18%, #ffffff47, #fff0 70%), linear-gradient(180deg, #ffffff29, #fff0 55%);--ambient:radial-gradient(ellipse 70% 45% at 50% 28%, #fff8e673, transparent 70%), radial-gradient(ellipse 120% 60% at 50% 110%, #00000014, transparent 70%);--shade:radial-gradient(ellipse 120% 95% at 50% 40%, transparent 52%, #0000002e)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ambient:radial-gradient(ellipse 80% 60% at 50% 32%, #ffffff0f, transparent 70%);--shade:radial-gradient(ellipse 130% 100% at 50% 40%, transparent 55%, #00000059);--sheen:linear-gradient(180deg, #ffffff1a, #fff0 55%)}}:root[data-theme=dark]{--ambient:radial-gradient(ellipse 80% 60% at 50% 32%, #ffffff0f, transparent 70%);--shade:radial-gradient(ellipse 130% 100% at 50% 40%, transparent 55%, #00000059);--sheen:linear-gradient(180deg, #ffffff1a, #fff0 55%)}@keyframes art-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes art-pulse{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes art-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes art-press{0%{transform:scale(1)}40%{transform:scale(.9)}to{transform:scale(1)}}.art-pop{animation:.22s ease-out art-pop}.art-pulse{animation:.22s ease-out art-pulse}.art-shake{animation:.32s ease-in-out art-shake}.art-press{animation:.18s ease-out art-press}@media (prefers-reduced-motion:reduce){.art-pop,.art-pulse,.art-shake,.art-press{animation:none}}.sound-toggle{background:var(--btn,#00000040);width:36px;min-width:36px;height:36px;color:var(--ink,#fff);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.sound-toggle svg{width:20px;height:20px}.sound-toggle[aria-pressed=true]{opacity:.7}.sound-toggle:focus-visible{outline:3px solid var(--focus,#ffd54a);outline-offset:2px}.dice3d{gap:calc(var(--ds,52px) * .3);display:flex}.dice3d .die{--ds:clamp(38px, 12vw, 58px);width:var(--ds);height:var(--ds);perspective:calc(var(--ds) * 8);display:block;position:relative}.dice3d .cube{transform-style:preserve-3d;transition:transform .95s cubic-bezier(.2,.75,.25,1.05);position:absolute;inset:0}.dice3d .cube.instant{transition:none}.dice3d .face{backface-visibility:hidden;background:radial-gradient(circle at 32% 26%,#fff 0 12%,#f6f3ea 40%,#e4dfd1 100%);border-radius:11%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000001a,inset 2px 2px 3px #ffffffe6,inset -3px -4px 7px #503c1438}.dice3d .face svg{filter:drop-shadow(0 -.6px #00000073)drop-shadow(0 .8px #ffffffe6);width:100%;height:100%;display:block}.dice3d .face .die-face{fill:none;stroke:none}.dice3d .shadow{background:radial-gradient(#00000073,#0000 70%);border-radius:50%;height:18%;position:absolute;bottom:-14%;left:8%;right:8%;transform:translateZ(-1px)}.dice3d .die.empty .cube{visibility:hidden}.dice3d .die.empty{border:2px dashed var(--spot-line);border-radius:18%}.dice3d .die.empty .shadow{display:none}.dice3d.spinning .cube{animation:.55s linear infinite dice3d-spin}.dice3d.spinning .die:nth-child(2) .cube{animation-duration:.47s;animation-direction:reverse}.dice3d.spinning .die:nth-child(3) .cube{animation-duration:.63s}.dice3d.spinning .die{animation:.55s ease-in-out infinite alternate dice3d-hop}@keyframes dice3d-spin{0%{transform:rotateX(0)rotateY(0)rotate(0)}to{transform:rotateX(360deg)rotateY(720deg)rotate(180deg)}}@keyframes dice3d-hop{0%{translate:0}to{translate:0 -10%}}@media (prefers-reduced-motion:reduce){.dice3d.spinning .cube,.dice3d.spinning .die{animation:none}.dice3d .cube{transition:none}}:root{--bg:#e9e2d3;--bg-deep:#c9bca4;--ink:#2a2218;--muted:#6f6453;--focus:#f2a900;--btn:#3c280a1a;--btn-on:#2a2218;--btn-on-ink:#fff;--accent:#c6412f;--accent-ink:#fff;--dialog:#fdf9f1;--dialog-ink:#2a2218;--dialog-line:#0000001f;--cell:#fbf6ea;--cell-line:#50371438;--frame:#8a5a2b;--frame-dark:#4a2c14;--green:#2e9d4f;--yellow:#f2b90f;--blue:#1e6fd9;--red:#e53935;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1f1a14;--bg-deep:#0f0c08;--ink:#f1e9dc;--muted:#b5a894;--btn:#ffe6c81f;--btn-on:#f1e9dc;--btn-on-ink:#1f1a14;--dialog:#2b241c;--dialog-ink:#f1e9dc;--dialog-line:#ffffff24;--cell:#efe6d4;--frame:#6b4320;--frame-dark:#2d1a0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1f1a14;--bg-deep:#0f0c08;--ink:#f1e9dc;--muted:#b5a894;--btn:#ffe6c81f;--btn-on:#f1e9dc;--btn-on-ink:#1f1a14;--dialog:#2b241c;--dialog-ink:#f1e9dc;--dialog-line:#ffffff24;--cell:#efe6d4;--frame:#6b4320;--frame-dark:#2d1a0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ambient), var(--shade), var(--grain,none), radial-gradient(ellipse at 50% 30%, var(--bg), var(--bg-deep));color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app.ld{grid-template:"bar""status""stage"minmax(0,1fr)"foot"/minmax(0,1fr);justify-items:center;gap:6px;height:100dvh;padding:8px 10px 10px;display:grid;position:relative;overflow:hidden}.ld-bar{grid-area:bar;align-items:center;gap:8px;width:min(100%,640px);min-width:0;display:flex}.ld-title{letter-spacing:1px;margin:0 auto 0 0;font:700 18px/1 Georgia,Times New Roman,serif}.btn{font:inherit;color:var(--ink);background:var(--btn);cursor:pointer;min-height:36px;box-shadow:var(--raised);white-space:nowrap;border:0;border-radius:10px;padding:7px 13px}.btn:disabled{opacity:.45;cursor:default}.btn[aria-pressed=true]{background:var(--btn-on);color:var(--btn-on-ink);font-weight:700}.btn:focus-visible,.ld-roll:focus-visible,.pawn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn.primary{background:var(--accent);color:var(--accent-ink);font-weight:700}.ld-hint[hidden]{display:none}.sound-toggle{flex:none;width:36px;height:36px}.ld-status{text-align:center;grid-area:status;min-height:1.3em;margin:0;font-weight:700}.ld-stage{grid-area:stage;place-items:center;width:100%;min-height:0;display:grid;container-type:size}.ld-wrap{--size:min(100cqw, 100cqh, 640px);--cs:calc(var(--size) * .94 / 15);width:var(--size);height:var(--size);position:relative}.ld-board{background:var(--cell);box-shadow:0 0 0 calc(var(--size) * .016) var(--frame), 0 0 0 calc(var(--size) * .026) var(--frame-dark), 0 18px 40px #00000080;border-radius:4px;grid-template-rows:repeat(15,1fr);grid-template-columns:repeat(15,1fr);display:grid;position:absolute;inset:3%}.cell{box-shadow:inset 0 0 0 1px var(--cell-line);position:relative}.cell.col,.cell.start{box-shadow:inset 0 0 0 1px #00000040}.cell.green{background:var(--green)}.cell.yellow{background:var(--yellow)}.cell.blue{background:var(--blue)}.cell.red{background:var(--red)}.cell.safe svg{fill:#50371459;width:72%;height:72%;position:absolute;inset:14%}.cell.safe.start svg{fill:#fff9}.center{background:conic-gradient(from 45deg, var(--blue) 0 25%, var(--red) 25% 50%, var(--green) 50% 75%, var(--yellow) 75%);position:relative;box-shadow:inset 0 0 0 1px #0000004d}.center:after{content:"";background:linear-gradient(45deg,#0000 49.5%,#00000059 49.5% 50.5%,#0000 50.5%),linear-gradient(-45deg,#0000 49.5%,#00000059 49.5% 50.5%,#0000 50.5%);position:absolute;inset:0}.yard{place-items:center;display:grid;position:relative}.yard.green{background:var(--green)}.yard.yellow{background:var(--yellow)}.yard.blue{background:var(--blue)}.yard.red{background:var(--red)}.yard.empty{filter:saturate(.25)brightness(.9)}.yard-pad{background:var(--cell);width:66.67%;height:66.67%;box-shadow:var(--tray);border-radius:12%;grid-template-columns:1fr 1fr;place-items:center;display:grid}.yard-pad .slot{aspect-ratio:1;width:50%;box-shadow:var(--pressed);background:#00000014;border-radius:50%}.yard.turn .yard-pad{box-shadow:var(--tray), 0 0 0 calc(var(--cs) * .12) #fff, 0 0 calc(var(--cs) * .6) #fff;animation:1s ease-in-out infinite alternate ld-glow}@keyframes ld-glow{to{box-shadow:var(--tray), 0 0 0 calc(var(--cs) * .12) #fff9, 0 0 calc(var(--cs) * .2) #fff}}.yard-name,.yard-count{text-align:center;font-size:max(9px, calc(var(--cs) * .42));color:#fff;text-shadow:0 1px 2px #0009;pointer-events:none;font-weight:700;position:absolute;left:0;right:0}.yard-name{top:3%}.yard-count{opacity:.95;font-weight:600;bottom:3%}.yard.yellow .yard-name,.yard.yellow .yard-count{color:#3a2a00;text-shadow:none}.ld-pawns{pointer-events:none;position:absolute;inset:3%}.pawn{width:calc(var(--cs) * .78);height:calc(var(--cs) * 1.05);pointer-events:auto;cursor:default;filter:drop-shadow(0 2px 2px #00000080);background:0 0;border:0;padding:0;transition:width .2s,height .2s;position:absolute;translate:-50% -72%}.pawn.small{width:calc(var(--cs) * .6);height:calc(var(--cs) * .82)}.pawn.mini{width:calc(var(--cs) * .4);height:calc(var(--cs) * .55)}.pawn:before{content:"";background:radial-gradient(ellipse at 35% 30%, color-mix(in srgb, var(--p), #fff 45%), var(--p) 55%, color-mix(in srgb, var(--p), #000 40%));border-radius:50% 50% 22% 22%/60% 60% 18% 18%;height:60%;position:absolute;bottom:0;left:8%;right:8%}.pawn:after{content:"";aspect-ratio:1;background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--p), #fff 60%), var(--p) 55%, color-mix(in srgb, var(--p), #000 35%));border-radius:50%;position:absolute;top:0;left:22%;right:22%}.pawn.red{--p:var(--red)}.pawn.green{--p:var(--green)}.pawn.yellow{--p:var(--yellow)}.pawn.blue{--p:var(--blue)}.pawn.legal{cursor:pointer;filter:drop-shadow(0 0 4px #fff)drop-shadow(0 0 8px #fff)drop-shadow(0 2px 2px #00000080);animation:.7s ease-in-out infinite alternate ld-bounce}.pawn.hint{filter:drop-shadow(0 0 5px var(--focus)) drop-shadow(0 0 12px var(--focus)) drop-shadow(0 2px 2px #00000080)}@keyframes ld-bounce{to{translate:-50% -88%}}.ld-foot{grid-area:foot;align-items:center;gap:14px;width:min(100%,640px);min-height:72px;display:flex}.ld-roll{--ds:52px;cursor:pointer;box-shadow:var(--tray), inset 0 0 0 3px #0000004d;background:radial-gradient(at 50% 30%,#5a2a3a,#2e1420);border:0;border-radius:16px;flex:none;padding:10px 14px 14px;transition:box-shadow .3s}.ld-roll:disabled{cursor:default}.ld-roll.ready{box-shadow:var(--tray), inset 0 0 0 3px #fff, 0 0 18px #fff9;animation:.9s ease-in-out infinite alternate ld-ready}@keyframes ld-ready{to{box-shadow:var(--tray), inset 0 0 0 3px #ffffff80, 0 0 6px #ffffff4d}}.ld-roll[data-color=red]{background:radial-gradient(at 50% 30%,#7a2a24,#3a120e)}.ld-roll[data-color=green]{background:radial-gradient(at 50% 30%,#245c37,#0f2a19)}.ld-roll[data-color=yellow]{background:radial-gradient(at 50% 30%,#8a6a10,#3d2e05)}.ld-roll[data-color=blue]{background:radial-gradient(at 50% 30%,#1f4a8a,#0d2040)}.ld .ld-roll .ld-die.dice.dice3d{filter:none;--ds:inherit;background:0 0;padding:0}.ld .ld-roll .dice3d .die{--ds:inherit}.ld-die .die-pips{fill:#2a1a10}.ld-msg{opacity:.92;flex:1;align-items:center;min-height:2.6em;margin:0;font-size:13px;display:flex}.overlay{z-index:30;background:#1e140880;place-items:center;padding:12px;display:grid;position:absolute;inset:0;overflow:auto}.overlay[hidden]{display:none}.overlay.menu{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay.later{animation:1s step-end both ld-later}@keyframes ld-later{0%{visibility:hidden}}.dialog{background:var(--dialog);color:var(--dialog-ink);text-align:center;border-radius:14px;flex-direction:column;gap:12px;width:min(100%,360px);padding:18px 22px;display:flex;box-shadow:0 10px 40px #00000073}.dialog h2{margin:0;font:700 20px/1.2 Georgia,Times New Roman,serif}.ld-seg{justify-content:space-between;align-items:center;gap:8px;display:flex}.ld-seg-label{color:var(--muted);font-size:13px}.ld-seg-row{gap:4px;display:flex}.btn.seg{min-height:32px;box-shadow:none;border:1px solid var(--dialog-line);padding:6px 12px}.ld-opts{text-align:left;border-top:1px solid var(--dialog-line);flex-direction:column;gap:6px;padding-top:10px;font-size:13px;display:flex}.ld-opt{cursor:pointer;align-items:center;gap:8px;display:flex}.ld-opt input{width:18px;height:18px;accent-color:var(--accent);margin:0}.ld-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ld-actions .btn{min-width:100px}.ld-rank{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ld-rank-row{background:#0000000d;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex}.ld-rank-row.win{box-shadow:inset 0 0 0 2px var(--accent);font-weight:700}.ld-rank-row .dot{background:var(--p);border-radius:50%;width:14px;height:14px;box-shadow:inset 0 -2px #00000040}.ld-rank-row.red{--p:var(--red)}.ld-rank-row.green{--p:var(--green)}.ld-rank-row.yellow{--p:var(--yellow)}.ld-rank-row.blue{--p:var(--blue)}.ld-rank-row span{color:var(--muted);margin-left:auto}@media (max-height:520px){.ld-foot{min-height:0}.ld-roll{--ds:40px;padding:8px 10px 10px}.dialog{gap:6px;padding:10px 14px}.dialog h2{font-size:16px}.ld-opts{gap:2px;padding-top:6px;font-size:12px}}@media (max-height:520px) and (min-aspect-ratio:5/4){#app.ld{--board:min(calc(100dvh - 12px), calc(100vw - 204px), 640px);grid-template-columns:minmax(0, 1fr) var(--board) minmax(0, 1fr);grid-template-rows:auto 1fr;grid-template-areas:"bar stage foot""status stage foot";align-items:start;gap:4px 8px;padding:6px 8px}.ld-bar{flex-direction:column;align-items:flex-start;gap:4px;width:auto}.ld-title{margin:0 0 2px;font-size:15px}.ld-status{text-align:left;justify-self:start;font-size:12px}.ld-stage{height:100%;width:var(--board)}.ld-wrap{--size:var(--board)}.ld-foot{flex-direction:column-reverse;align-self:end;align-items:center;gap:6px;width:auto}.ld-msg{text-align:center;min-height:0;font-size:11px}.btn{min-height:28px;padding:4px 9px}.sound-toggle{width:28px;height:28px}}@media (max-height:300px){#app.ld{--board:min(calc(100dvh - 12px), calc(100vw - 140px))}.ld-roll{--ds:32px;padding:6px 8px 8px}.yard-name,.yard-count{display:none}.overlay{align-items:start;padding:4px}.dialog{gap:4px;padding:6px 10px}.dialog h2{font-size:14px}.ld-opts{display:none}.btn.seg{min-height:26px;padding:3px 9px}.ld-rank{grid-template-columns:1fr 1fr;gap:4px;display:grid}.ld-rank-row{padding:2px 6px;font-size:12px}.ld-actions .btn{min-height:28px;padding:4px 10px}}@media (prefers-reduced-motion:reduce){.ld-roll.ready,.yard.turn .yard-pad,.pawn.legal,.overlay.later{animation:none}.pawn{transition:none}}
