:root{color-scheme:light;--paper:#f5f3ed;--ink:#25443c;--muted:#7f8e80;--line:#dce2d4;--green:#248774;--red:#d77567;--yellow:#d5ac4f;--blue:#719eaf;--sage:#e7ecdd;font:14px 'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);background-image:radial-gradient(ellipse at 80% 5%,#e6ebdc88,transparent 60%)}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none;touch-action:manipulation}button:disabled{cursor:default;opacity:.42}button:hover:not(:disabled){filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #cda151;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.shell{max-width:1160px;margin:auto;padding:0 38px}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:1.7px;font-weight:850}.brand small{display:block;color:var(--muted);font-size:6px;letter-spacing:2px;margin-top:5px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:12px;transform:rotate(-6deg);font-size:29px;position:relative}.brand-mark>span{position:absolute;right:2px;top:0;font-size:13px;color:#d8e9a1}.header-motto{font-size:8px;letter-spacing:1.5px;background:#e9edde;border:1px solid #d4dec7;border-radius:30px;padding:11px 17px;font-weight:750}.header-motto span{margin-left:10px;color:var(--green)}.header-actions{display:flex;gap:7px}.header-actions button{min-height:40px;padding:8px 12px;font-size:11px}.header-actions button>span{color:var(--muted);margin-left:4px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:33px 0 27px}.eyebrow{font-size:8px;letter-spacing:1.5px;font-weight:750;margin:0}.eyebrow>span{color:#d5a255;font-size:17px;vertical-align:-2px;margin-right:5px}h1{font:800 67px/1.1 'Trebuchet MS','Segoe UI',sans-serif;letter-spacing:-3.5px;margin:9px 0 13px}h1>span{color:var(--green)}h1>sup{font-size:33px;letter-spacing:0;color:var(--yellow);margin-left:10px;vertical-align:14px}.intro p:last-child{color:var(--muted);font-size:12px;margin:0}.edition,.tiny-pill{font-size:8px;letter-spacing:1px;border:1px solid #d2ddc3;border-radius:30px;background:#e8eedf;padding:10px 14px;font-weight:700;color:#70855f}.edition i{font-style:normal;color:#aaa17a;margin:0 7px}.entry-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:26px;align-items:stretch}.entry-card{background:#fffdf7;border:1px solid var(--line);border-radius:21px;padding:30px}.entry-card>.eyebrow{font-size:7px;color:var(--muted)}h2{font-family:'Trebuchet MS','Segoe UI',sans-serif;letter-spacing:-1px;line-height:1.15}.entry-card h2{font-size:38px;margin:17px 0 15px;letter-spacing:-1.5px}.entry-card h2 em{font-style:normal;color:var(--green)}.muted{color:var(--muted);font-size:11px;line-height:1.7}.entry-card>.muted{margin-bottom:27px}label,legend{display:block;font-size:10px;font-weight:700;color:#6c806b;margin-bottom:8px}input{width:100%;height:45px;border:1px solid #d8e0ce;border-radius:10px;padding:10px 12px;color:var(--ink);background:#f7f8f0;min-width:0}input::placeholder{color:#a2ae98}fieldset{margin:0 0 19px;padding:0;border:0}.tabs{display:flex;border-bottom:1px solid var(--line);gap:21px;margin:22px 0}.tabs button{font-size:11px;min-height:40px;padding:7px 0;color:#97a28c;border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);font-weight:750}.capacity{display:flex;gap:8px}.capacity label{flex:1;position:relative;margin:0}.capacity input{position:absolute;opacity:0;width:1px;height:1px}.capacity span{display:grid;place-items:center;min-height:44px;border-radius:9px;border:1px solid #dce4d3;background:#eef3e6;color:#8b9e76;font-size:16px}.capacity input:checked+span{border-color:var(--green);background:#e1eee4;color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.capacity input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:3px}.primary{width:100%;min-height:47px;border-radius:11px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:700;font-size:12px;padding:12px 17px;box-shadow:0 3px 0 #196b5d}.primary>span{font-size:22px}.secondary{min-height:44px;border:1px solid #cbd8bf;border-radius:10px;padding:9px 15px;background:#edf2e4;color:#68845e;font-size:11px;font-weight:650;white-space:nowrap}.form-message{min-height:17px;font-size:10px;line-height:1.6;color:#a76b4c;margin:15px 0 0}.code-input{font-size:20px;letter-spacing:5px;text-transform:uppercase;margin-bottom:18px}.preview-panel{background:#e5ebda;border:1px solid #d4deca;border-radius:21px;padding:23px 26px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.preview-top,.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.preview-top .eyebrow{font-size:6px;color:#819475}.tiny-pill{font-size:6px;padding:7px 9px}.preview-board{width:100%;max-width:425px;align-self:center;margin:23px 0;transform:rotate(-2deg);filter:drop-shadow(0 12px 13px #40553b20)}.ludo-board{width:100%;height:auto;display:block;aspect-ratio:1;user-select:none;-webkit-user-select:none;touch-action:manipulation}.preview-bottom p{font-size:10px;line-height:1.8;color:#8b997c;text-align:center}.preview-bottom p strong{font-weight:600;color:#6c835d}.color-dots{display:flex;gap:4px}.color-dots i{width:8px;height:8px;border-radius:50%;background:var(--red)}.color-dots i:nth-child(2){background:#64a185}.color-dots i:nth-child(3){background:var(--yellow)}.color-dots i:nth-child(4){background:var(--blue)}.spark{font-size:28px;color:#b8ad71}footer{border-top:1px solid var(--line);margin-top:32px;padding:22px 0;display:flex;align-items:center;gap:16px;color:#a1ac94;font-size:7px}footer>span{font-size:16px;letter-spacing:-1px;font-weight:800;color:#839774}footer p{flex:1;line-height:1.7}footer i{font-style:normal;margin:0 5px}footer small{font-size:6px;letter-spacing:.6px;white-space:nowrap}footer b{color:#b5b78d;margin:0 6px}.text-button{min-height:44px;font-size:11px;color:#7f9472;padding:8px 10px}.waiting-card{max-width:850px;margin:0 auto;background:#fffdf8;border:1px solid var(--line);border-radius:22px;padding:28px}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-heading .eyebrow{color:#95a483;font-size:7px}.room-heading h2{font-size:32px;margin:12px 0 25px}.invite-layout{display:flex;gap:25px;align-items:center;margin-bottom:25px}.room-code-card{background:#e7efdd;border:1px solid #d2dfc4;border-radius:14px;padding:21px 26px;text-align:center;min-width:240px}.room-code-card>span,.room-code-card>small{display:block;color:#829b6d;font-size:8px;letter-spacing:1.3px}.room-code-card>strong{display:block;font-size:30px;letter-spacing:5px;margin:12px 0;color:#3f795e}.invite-copy{flex:1;min-width:0}.copy-row{display:flex;gap:8px}.copy-row input{font-size:10px}.invite-copy .muted{font-size:10px}.invite-copy .text-button{padding-left:0}.waiting-members{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:23px}.waiting-member{position:relative;background:#f0f4e9;border:1px solid #dee6d5;border-radius:12px;padding:20px 9px;text-align:center;min-height:106px}.waiting-member>span{font-size:26px;color:#7e9e72}.waiting-member strong{display:block;margin:8px 0 5px;font-size:12px;overflow-wrap:anywhere}.waiting-member small{color:#92a381;font-size:8px}.waiting-member.empty{border-style:dashed;background:#f7f8f2;color:#aab49e}.kick{position:absolute;right:0;top:0;min-width:34px;min-height:34px;font-size:17px;color:#aa8172}.start-game{max-width:310px;margin:auto}.centered{text-align:center}.table-layout{max-width:610px;margin:20px auto 0}.table-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 4px}.table-top>div{display:flex;align-items:center;gap:15px}.table-label{font-size:9px;letter-spacing:1.1px;font-weight:800}.table-label i{font-style:normal;color:var(--yellow);margin-left:5px}.table-code{min-height:40px;font-size:7px;letter-spacing:1px;color:#94a285}.table-code strong{font-size:9px;color:#6c8d64;margin:0 3px}.players{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.player{position:relative;border:1px solid #dce4d4;background:#fdfcf6;border-radius:11px;padding:10px 8px;min-height:58px;overflow:hidden}.player.active{border-color:var(--player-color);box-shadow:inset 0 -3px 0 var(--player-color);background:#fffdf7}.player.you::after{content:'ANDA';position:absolute;right:6px;top:5px;font-size:5px;font-weight:750;letter-spacing:.5px;color:#8d9e7e}.player strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:3px}.player strong>i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--player-color);margin-right:4px}.player small{display:block;color:#99a68b;font-size:8px;margin:5px 0 0 11px}.player.offline{opacity:.6}.board-shell{position:relative;border-radius:13px;overflow:hidden;box-shadow:0 8px 24px #354d3114;background:#eff1e4}.token.legal{cursor:pointer}.token.legal .legal-ring{animation:pulse 1.3s ease-in-out infinite}.turn-panel{background:#fffdf8;border:1px solid #dce3d4;border-radius:15px;padding:15px;display:flex;gap:17px;align-items:center;margin-top:12px}.roll-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:86px;min-height:101px;font-size:9px;font-weight:750;color:#4d7f64;background:#e9f0df;border:1px solid #d6e2c9;border-radius:12px;padding:12px}.roll-button:disabled{opacity:.72}.dice{width:51px;height:51px;border-radius:11px;background:#fffdf3;box-shadow:0 3px 0 #cbd7bb,0 4px 8px #45613d12;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:9px;gap:3px}.dice i{border-radius:50%;background:#578267;visibility:hidden}.dice[data-value="1"] i:nth-child(5),.dice[data-value="2"] i:nth-child(1),.dice[data-value="2"] i:nth-child(9),.dice[data-value="3"] i:nth-child(1),.dice[data-value="3"] i:nth-child(5),.dice[data-value="3"] i:nth-child(9),.dice[data-value="4"] i:nth-child(1),.dice[data-value="4"] i:nth-child(3),.dice[data-value="4"] i:nth-child(7),.dice[data-value="4"] i:nth-child(9),.dice[data-value="5"] i:nth-child(1),.dice[data-value="5"] i:nth-child(3),.dice[data-value="5"] i:nth-child(5),.dice[data-value="5"] i:nth-child(7),.dice[data-value="5"] i:nth-child(9),.dice[data-value="6"] i:nth-child(1),.dice[data-value="6"] i:nth-child(3),.dice[data-value="6"] i:nth-child(4),.dice[data-value="6"] i:nth-child(6),.dice[data-value="6"] i:nth-child(7),.dice[data-value="6"] i:nth-child(9){visibility:visible}.dice.rolling{animation:roll .36s ease}.turn-copy{flex:1;min-width:0}.turn-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.turn-heading h2{font-size:23px;margin:0}.timer{color:#8c9e7c;font-size:10px;white-space:nowrap}.timer.low{color:#be8058}.turn-copy>p{font-size:10px;line-height:1.6;color:#86977c;margin:6px 0 12px}.pieces{display:flex;gap:7px}.piece-button{min-width:44px;height:44px;flex:1;border:1px solid #dce3d3;border-radius:9px;background:#eef2e7;font-size:13px;font-weight:800;position:relative;color:var(--player-color,#879a78)}.piece-button:not(:disabled){border-color:var(--player-color);box-shadow:inset 0 -2px 0 var(--player-color)}.piece-button small{font-size:8px;margin-left:4px}.activity{border-top:1px solid var(--line);margin-top:16px;color:#8a9b7d;padding:0 4px}.activity summary{min-height:44px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:10px;list-style:none}.activity ol{font-size:10px;line-height:1.9;padding-left:19px;margin:0 0 15px}.winner-overlay{position:absolute;inset:0;background:#f2f5e7e8;backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px}.winner-card{text-align:center;max-width:300px;width:100%}.winner-card .eyebrow{font-size:6px;color:#839a70}.winner-star{font-size:65px;color:#d0a654;display:block;margin:15px 0}.winner-card h2{font-size:33px;overflow-wrap:anywhere;margin:0 0 13px}.winner-card>p{font-size:11px;line-height:1.7;color:#8c9c7d;margin-bottom:25px}.winner-card .primary{text-align:left}.connection{position:sticky;top:0;z-index:5;padding:11px 15px;border-radius:0 0 10px 10px;background:#f1dfbf;border:1px solid #dbc496;color:#866331;font-size:11px;text-align:center}.toast{position:fixed;z-index:20;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100% - 28px);padding:13px 20px;background:#294f42f0;border:1px solid #56866a;color:#f6f9ec;border-radius:12px;box-shadow:0 5px 20px #23402b20;font-size:12px;line-height:1.6;text-align:center}dialog{border:1px solid #d3ddc8;background:#fafbf3;color:var(--ink);border-radius:20px;box-shadow:0 25px 100px #2a45354d;width:calc(100% - 30px);max-width:520px;max-height:85svh;padding:25px}dialog::backdrop{background:#243e34a6;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-head .eyebrow{font-size:7px;color:#829971}.dialog-head button{width:40px;height:40px;background:#e9efdf;border-radius:50%;font-size:24px;color:#8aa072}dialog h2{font-size:32px;margin:10px 0 20px}.rules-list{padding-left:20px;font-size:12px;color:#7f9174;line-height:1.85}.rules-list li{padding-left:5px;margin:12px 0}.rules-list strong{color:#4c785c}dialog>p{color:#819477;font-size:12px;line-height:1.8}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.danger{background:#b87562;color:#fff;min-height:44px;border-radius:9px;padding:10px 17px;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.in-game .intro{display:none}@keyframes pulse{50%{opacity:.35}}@keyframes roll{0%,100%{transform:rotate(0)}30%{transform:rotate(-15deg)}65%{transform:rotate(12deg)}}
@media(max-width:850px){.shell{padding:0 24px}.entry-layout{grid-template-columns:310px minmax(0,1fr);gap:18px}.entry-card{padding:24px}.preview-panel{padding:20px 16px}.header-motto{display:none}.preview-top .eyebrow{font-size:5px}.preview-top .tiny-pill{font-size:5px}.preview-bottom .color-dots{display:none}.intro h1{font-size:60px}.invite-layout{gap:18px}.room-code-card{min-width:210px;padding:20px}.copy-row{flex-wrap:wrap}.copy-row input{flex:1 1 100%}.copy-row button{width:100%}}
@media(max-width:650px){.shell{padding:0 14px}.site-header{height:65px;gap:8px}.brand{font-size:11px;letter-spacing:1.2px;gap:7px}.brand-mark{width:30px;height:30px;border-radius:10px;font-size:24px}.brand-mark>span{font-size:10px}.brand small{font-size:5px;letter-spacing:1.3px}.header-actions{gap:0}.header-actions button{font-size:10px;padding:8px}.header-actions #sound>span{display:none}.intro{padding:24px 0 21px;gap:8px;align-items:flex-end}.intro .eyebrow{font-size:5.5px;letter-spacing:.8px}.eyebrow>span{font-size:13px}.intro h1{font-size:46px;letter-spacing:-2.8px;margin:9px 0}.intro h1>sup{font-size:23px;vertical-align:10px;margin-left:7px}.intro p:last-child{font-size:9px;max-width:225px;line-height:1.7}.edition{font-size:6px;letter-spacing:.5px;padding:7px 9px;margin-bottom:5px;white-space:nowrap}.edition i{margin:0 3px}.entry-layout{display:flex;flex-direction:column;gap:15px}.entry-card{padding:23px;border-radius:16px}.entry-card h2{font-size:31px;margin:12px 0}.entry-card h2 br{display:none}.entry-card h2 em{margin-left:4px}.entry-card>.muted{font-size:10px;margin:10px 0 21px}.entry-card>.eyebrow{font-size:6px;letter-spacing:1px}.tabs{margin:17px 0}.preview-panel{padding:17px 21px;border-radius:16px}.preview-board{max-width:310px;margin:18px 0}.preview-top .eyebrow{font-size:5.5px}.preview-top .tiny-pill{font-size:5.5px}.preview-bottom .color-dots{display:flex}.preview-bottom p{font-size:9px}.preview-bottom .spark{font-size:23px}footer{margin-top:24px;padding:18px 0;gap:9px}footer>span{font-size:13px}footer p{font-size:6px;margin:0}footer small{font-size:5px;letter-spacing:0}footer i{margin:0 3px}footer b{margin:0 3px}.waiting-card{padding:19px 16px;border-radius:16px}.room-heading h2{font-size:25px;margin:9px 0 22px}.room-heading .eyebrow{font-size:5.5px;letter-spacing:1px}.room-heading>.text-button{font-size:9px;padding-right:0}.invite-layout{display:block;margin-bottom:20px}.room-code-card{padding:16px;min-width:0;margin-bottom:18px}.room-code-card>strong{font-size:31px;margin:8px 0}.room-code-card>span,.room-code-card>small{font-size:7px}.copy-row{flex-wrap:nowrap}.copy-row input{flex:1 1 auto}.copy-row button{width:auto;font-size:9px;padding:8px 10px}.invite-copy>.muted{font-size:9px}.waiting-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.waiting-member{padding:14px 7px;min-height:91px}.waiting-member strong{font-size:11px}.kick{min-width:40px;min-height:40px}.table-layout{margin-top:6px;max-width:none}.in-game .shell{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.in-game .site-header{height:47px;padding:0 10px}.table-top{margin-bottom:5px;padding:0 8px}.table-top>div{gap:8px}.table-top>.text-button{font-size:9px;min-height:34px}.table-code{min-height:34px;font-size:6px;letter-spacing:.5px}.table-code strong{font-size:8px}.table-label{font-size:8px;letter-spacing:.6px}.players{gap:4px;padding:0 5px;margin-bottom:6px}.player{min-height:47px;padding:8px 5px;border-radius:8px}.player strong{font-size:9px;padding-top:2px}.player small{font-size:6px;margin-top:4px;margin-left:8px}.player strong>i{width:5px;height:5px;margin-right:3px}.player.you::after{font-size:4px;right:4px;top:3px}.board-shell{border-radius:0;box-shadow:none}.turn-panel{margin:8px 5px 0;padding:10px;gap:12px;border-radius:12px}.roll-button{min-width:73px;min-height:94px;padding:8px;font-size:8px;gap:8px}.dice{width:45px;height:45px;border-radius:10px;padding:8px;gap:3px}.turn-heading h2{font-size:19px;letter-spacing:-.6px}.turn-copy>p{font-size:8px;margin:5px 0 9px}.timer{font-size:8px}.pieces{gap:5px}.piece-button{height:44px;min-width:36px;font-size:12px}.piece-button small{font-size:7px;margin-left:2px}.activity{margin:10px 10px 0;padding:0 4px}.activity summary{font-size:9px;min-height:40px}.activity ol{font-size:9px}.winner-overlay{padding:15px}.winner-card{max-width:250px}.winner-card h2{font-size:27px}.winner-star{font-size:47px;margin:10px 0}.winner-card .eyebrow{font-size:5px}.winner-card>p{font-size:10px;margin-bottom:16px}.connection{font-size:9px;padding:8px;border-radius:0}.in-game footer{margin:16px 10px 0}.toast{font-size:10px;padding:10px 15px;bottom:14px}dialog{padding:21px}dialog h2{font-size:27px}.rules-list{font-size:11px}.dialog-head .eyebrow{font-size:6px}.dialog-buttons{gap:7px}.dialog-buttons button{font-size:10px;padding:9px 11px}}
@media(max-width:360px){.header-actions button{font-size:9px;padding:6px}.intro h1{font-size:40px}.intro p:last-child{font-size:8px}.edition{font-size:5px;padding:7px}.entry-card{padding:20px}.entry-card h2{font-size:28px}.turn-panel{gap:9px;padding:8px}.turn-heading h2{font-size:16px}.turn-copy>p{font-size:7.5px}.pieces{gap:4px}.piece-button{min-width:30px}.roll-button{min-width:67px}.player strong{font-size:8px}.table-top>div{gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.dice{position:relative}.dice[data-value='0']::after{content:'?';position:absolute;inset:0;display:grid;place-items:center;font-size:25px;color:#99ad86}.players[data-count='2']{grid-template-columns:repeat(2,minmax(0,1fr))}.players[data-count='3']{grid-template-columns:repeat(3,minmax(0,1fr))}.header-actions #sound[aria-pressed='true']{color:var(--green)}

@media(max-width:650px) and (max-height:650px){.in-game .site-header{height:40px}.table-top{margin-bottom:3px}.table-top>.text-button,.table-code{min-height:28px}.player{min-height:42px;padding:6px 5px}.players{margin-bottom:4px}.turn-panel{padding:8px;margin-top:6px}}
