.tile-ludo{background:#e3d1ef}
.tile-ludo .game-tile-label{bottom:7%;padding:0 3%;line-height:1.1;text-align:center}
.ludo-setup .pexeso-intro img{width:min(320px,34cqh,60cqw);margin-bottom:12px}
.ludo-setup .pexeso-intro h2{font-size:clamp(25px,3vw,44px)}
.ludo-modes{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.ludo-computer-options button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:70px;min-width:94px;padding:14px 18px}
.ludo-computer-options svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ludo-computer-options .ludo-no-computer{stroke-width:5}
.ludo-modes button{background:#193657;color:white;border:0;border-radius:18px;padding:16px 24px;font-size:25px;font-weight:900}
.ludo-modes button:nth-child(2){background:#ffcf72;color:#193657}.ludo-modes button:nth-child(3){background:#de7666;color:#fff}.ludo-modes button:nth-child(4){background:#79a67e;color:white}
.ludo-panel{min-height:0;color:#193657;gap:0;padding-bottom:0}
.ludo-status{display:flex;align-items:center;justify-content:center;flex:1 0 40px}
.ludo-panel .ludo-help{flex:1 0 60px}
.ludo-players{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ludo-player{background:var(--pawn-color);border:0;min-height:54px;color:#fff;border-radius:14px;display:flex;gap:10px;align-items:center;padding:8px 15px;font-size:16px;font-weight:800;opacity:.65}
.ludo-player[data-ludo-player='1']{color:#193657}.ludo-player.is-playing{opacity:1;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--pawn-color)}.ludo-player strong{font-size:20px}
.ludo-board{position:relative;flex:0 1 auto;min-height:0;width:min(64vh,100%);aspect-ratio:1;margin:0 auto;background:#fff5e1;border:0;border-radius:24px;box-shadow:0 0 0 5px #dfc59a,0 6px 0 5px #b18d5530;touch-action:none;user-select:none}
.ludo-base{position:absolute;width:35%;height:35%;border-radius:20%;opacity:.17;pointer-events:none}.ludo-base-0{left:1%;top:1%;background:#193657}.ludo-base-1{right:1%;top:1%;background:#ffcf72}.ludo-base-2{right:1%;bottom:1%;background:#de7666}.ludo-base-3{left:1%;bottom:1%;background:#79a67e}
.ludo-space{position:absolute;width:6.4%;height:6.4%;transform:translate(-50%,-50%);border:2px solid #cab995;border-radius:50%;background:var(--space-color,#fffaf3);display:grid;place-items:center;transition:box-shadow .15s,background .15s;pointer-events:none}
.ludo-start{font-size:clamp(12px,2vh,30px);color:#fff;line-height:1}.ludo-space[data-track='10'] .ludo-start{transform:rotate(90deg);color:#193657}.ludo-space[data-track='20'] .ludo-start{transform:rotate(180deg)}.ludo-space[data-track='30'] .ludo-start{transform:rotate(270deg)}
.ludo-home{border-color:#fff9;box-shadow:inset 0 0 0 2px #0001}
.ludo-pawn{position:absolute;transform:translate(-50%,-50%);width:7.2%;height:8.4%;padding:0;border:0;background:transparent;touch-action:none;color:var(--pawn-color);z-index:3;cursor:default}
.ludo-pawn svg{width:100%;height:100%;fill:currentColor;stroke:#fff8;stroke-width:2;filter:drop-shadow(0 2px 1px #19365760);pointer-events:none}
.ludo-pawn.can-move{cursor:grab}.ludo-pawn.can-move:before{content:'';position:absolute;inset:-8% -4%;border-radius:45%;background:#fff6;box-shadow:0 0 0 3px #ffdc80,0 0 16px #ffdc80;animation:ludo-glow 1.3s ease-in-out infinite;z-index:-1}
.ludo-pawn.is-dragging{opacity:.2}.ludo-ghost{z-index:12;pointer-events:none;cursor:grabbing;filter:drop-shadow(0 6px 3px #19365740)}
.ludo-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.ludo-route polyline{fill:none;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14 20;opacity:.65}
.ludo-space.ludo-step{box-shadow:0 0 0 3px #ffd575;background:#fff0ae;z-index:2}.ludo-space.ludo-destination{background:#fff;box-shadow:0 0 0 5px #ffbb42,0 0 20px #ffcb66;z-index:2;animation:ludo-glow 1s infinite}.ludo-destination:after{content:'✓';font-size:clamp(14px,2.8vh,38px);color:#193657;font-weight:900}
.ludo-die{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10.5%;height:10.5%;border:6px solid var(--player-color,#193657);border-radius:22%;background:#fff;box-shadow:none;padding:1.3%;z-index:5;touch-action:manipulation;outline:none}
.ludo-pips{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8%;height:100%;width:100%;pointer-events:none}.ludo-pips i{border-radius:50%;background:transparent}.ludo-pips i.lit{background:#193657;box-shadow:inset 0 1px 2px #0004}.ludo-die small{display:none}.ludo-die:enabled{cursor:pointer}.ludo-die:disabled{opacity:1;cursor:default}.ludo-die.is-rolling{animation:ludo-roll .6s linear infinite}
.ludo-help{font-size:15px;text-align:center;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;flex-shrink:0}.ludo-rules-open{border:0;background:#edf0f3;border-radius:12px;padding:8px 14px;font-weight:800}
.ludo-rules{position:relative;width:min(620px,92vw);max-height:85dvh;overflow:auto;background:#fffaf7;color:#193657;border:3px solid white;border-radius:26px;padding:28px}.ludo-rules::backdrop{background:#19365755}.ludo-rules h2{font-size:30px;margin:0 30px 18px 0}.ludo-rules p{font-size:18px;line-height:1.45}.ludo-close{position:absolute;right:12px;top:12px;border:0;border-radius:50%;width:38px;height:38px;background:#edf0f3;font-size:28px}
@keyframes ludo-roll{0%,100%{transform:translate(-50%,-50%) rotate(-14deg) scale(.92)}50%{transform:translate(-50%,-50%) rotate(14deg) scale(1.08)}}
@keyframes ludo-glow{50%{filter:brightness(1.1);opacity:.8}}
@media(max-width:1000px){.ludo-panel .pexeso-toolbar{flex-wrap:wrap}.ludo-players{order:3;width:100%;gap:8px}.ludo-player{font-size:12px;padding:5px 8px;gap:5px}.ludo-player strong{font-size:16px}.ludo-board{width:min(57vh,95%)}.ludo-help{font-size:12px;gap:5px}.ludo-modes button{font-size:20px;padding:12px 18px}.ludo-panel .pexeso-toolbar .pexeso-new{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.ludo-die.is-rolling,.ludo-pawn.can-move:before,.ludo-space.ludo-destination{animation:none}}
@media(max-width:800px){.ludo-player{min-height:44px}}

.ludo-pawn{color:color-mix(in srgb,var(--pawn-color) 82%,#685022 18%)}
.ludo-pawn svg .ludo-shine{fill:#ffffff50;stroke:none}
