@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2) format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2) format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}:root{--brand-indigo: #1F1A4D;--brand-cream: #FFF8EC;--brand-orange: #FF6B35;--brand-yellow: #FFD23F;--brand-teal: #2EC4B6;--brand-blue: #3D5AFE;--brand-white: #FFFFFF;--player-1: #FF6B35;--player-2: #2EC4B6;--player-3: #FFD23F;--player-4: #3D5AFE;--battle-sea-bg: #C9D1FF;--battle-sea-cell: #E8EBFF;--battle-sea-grid: #9EACFE;--battle-air-bg: #ABE7E2;--battle-air-cell: #E2F7F5;--battle-air-grid: #2CB3AC;--battle-land-bg: #FFDF7C;--battle-land-cell: #FFF1CD;--battle-land-grid: #BC9B43;--font-heading: "Fredoka", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--fw-body-bold: 700;--fw-heading: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--border-width: 3px;--border-width-thin: 2px;--size-tap-min: 48px;--size-icon-stroke: 3px;--size-mascot-outline: 8px;--dur-fast: .12s;--dur-base: .22s;--dur-slow: .45s;--dur-lid-pop: 1.2s;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--press-offset: 5px;--shadow-press: 0 5px 0 0 var(--press-shadow);--shadow-press-lg: 0 8px 0 0 var(--press-shadow);--shadow-pressed: 0 0 0 0 var(--press-shadow);--shadow-card: 0 6px 0 0 var(--press-shadow);--fs-display: 40px;--lh-display: 44px;--fw-display: 700;--ff-display: var(--font-heading);--fs-h1: 32px;--lh-h1: 38px;--fw-h1: 700;--ff-h1: var(--font-heading);--fs-h2: 24px;--lh-h2: 30px;--fw-h2: 700;--ff-h2: var(--font-heading);--fs-h3: 20px;--lh-h3: 26px;--fw-h3: 600;--ff-h3: var(--font-heading);--fs-body-lg: 18px;--lh-body-lg: 28px;--fw-body-lg: 400;--ff-body-lg: var(--font-body);--fs-body: 16px;--lh-body: 24px;--fw-body: 400;--ff-body: var(--font-body);--fs-small: 14px;--lh-small: 20px;--fw-small: 700;--ff-small: var(--font-body);--fs-label: 12px;--lh-label: 16px;--fw-label: 800;--ff-label: var(--font-body);--ls-label: .08em;--fs-button: 18px;--lh-button: 24px;--fw-button: 600;--ff-button: var(--font-heading)}:root,:root[data-theme=light]{--c-bg: #FFF8EC;--c-surface: #FFFFFF;--c-surface-sunk: #FFEFD6;--c-text: #1F1A4D;--c-text-muted: #726C88;--c-border: #1F1A4D;--c-primary: #FF6B35;--c-on-primary: #1F1A4D;--c-secondary: #2EC4B6;--c-on-secondary: #1F1A4D;--c-highlight: #FFD23F;--c-on-highlight: #1F1A4D;--c-link: #3D5AFE;--c-on-link: #FFFFFF;--c-accent-text: #C24B1F;--c-success-text: #187E76;--c-press-shadow: #1F1A4D;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--c-bg: #1F1A4D;--c-surface: #2C2568;--c-surface-sunk: #16123A;--c-text: #FFF8EC;--c-text-muted: #BCB5BC;--c-border: #FFF8EC;--c-primary: #FF6B35;--c-on-primary: #1F1A4D;--c-secondary: #2EC4B6;--c-on-secondary: #1F1A4D;--c-highlight: #FFD23F;--c-on-highlight: #1F1A4D;--c-link: #94A4FE;--c-on-link: #1F1A4D;--c-accent-text: #FF6B35;--c-success-text: #2EC4B6;--c-press-shadow: #0F0C2E;color-scheme:dark}}:root[data-theme=dark]{--c-bg: #1F1A4D;--c-surface: #2C2568;--c-surface-sunk: #16123A;--c-text: #FFF8EC;--c-text-muted: #BCB5BC;--c-border: #FFF8EC;--c-primary: #FF6B35;--c-on-primary: #1F1A4D;--c-secondary: #2EC4B6;--c-on-secondary: #1F1A4D;--c-highlight: #FFD23F;--c-on-highlight: #1F1A4D;--c-link: #94A4FE;--c-on-link: #1F1A4D;--c-accent-text: #FF6B35;--c-success-text: #2EC4B6;--c-press-shadow: #0F0C2E;color-scheme:dark}@media(prefers-reduced-motion:reduce){:root{--dur-fast: .12s;--dur-base: .12s;--dur-slow: .12s;--press-offset: 0px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--c-bg);color:var(--c-text);font:var(--fw-body) var(--fs-body) / var(--lh-body) var(--font-body)}h1,h2,h3{margin:0;font-family:var(--font-heading);color:var(--c-text)}h1{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-h1)}h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-h2)}h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-h3)}a{color:var(--c-link)}:focus-visible{outline:var(--border-width) solid var(--c-link);outline-offset:3px}.label{font-size:var(--fs-label);line-height:var(--lh-label);font-weight:var(--fw-label);letter-spacing:var(--ls-label);text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--size-tap-min);min-width:var(--size-tap-min);padding:0 var(--space-6);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-pill);background:var(--c-primary);color:var(--c-on-primary);font:var(--fw-button) var(--fs-button) / var(--lh-button) var(--font-heading);box-shadow:var(--shadow-press);cursor:pointer;text-decoration:none;transition:transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast) var(--ease-bounce)}.btn:active{transform:translateY(var(--press-offset));box-shadow:var(--shadow-pressed)}.btn--secondary{background:var(--c-secondary);color:var(--c-on-secondary)}.btn--cream{background:var(--brand-cream);color:var(--brand-indigo)}.card{background:var(--c-surface);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-6)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--tight{gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row--between{justify-content:space-between}.screen{width:100%;max-width:480px;margin:0 auto;min-height:100dvh;padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-6),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));display:flex;flex-direction:column;gap:var(--space-4)}.btn{gap:var(--space-2);text-align:center}.btn--full{width:100%}.btn--small{padding:0 var(--space-4);font-size:var(--fs-body);line-height:var(--lh-body)}.btn:disabled,.btn[aria-disabled=true]{background:var(--c-surface-sunk);color:var(--c-text-muted);box-shadow:none;cursor:not-allowed}.btn--cream{border-color:var(--c-border)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:32px;padding:0 var(--space-3);border:var(--border-width-thin) solid var(--c-border);border-radius:var(--radius-pill);background:var(--c-surface);color:var(--c-text);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body)}.chip--highlight{background:var(--c-highlight);color:var(--c-on-highlight)}.chip--secondary{background:var(--c-secondary);color:var(--c-on-secondary)}.chip--warn{background:var(--c-primary);color:var(--c-on-primary)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.input{min-height:var(--size-tap-min);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-lg);background:var(--brand-white);color:var(--brand-indigo);font:var(--fw-body) var(--fs-body-lg) / var(--lh-body) var(--font-body);width:100%}.input::placeholder{color:#726c88}.banner-slot{min-height:0}.banner{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3) var(--space-4);border:var(--border-width-thin) solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body);animation:pop var(--dur-base) var(--ease-bounce)}.banner svg{flex:none;margin-top:1px}.banner--info svg{color:var(--c-link)}.banner--good{background:var(--c-secondary);color:var(--c-on-secondary)}.banner--oops svg{color:var(--c-accent-text)}.timer{display:flex;flex-direction:column;gap:var(--space-1)}.timer__text{display:flex;align-items:center;gap:var(--space-1);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body)}.timer--low .timer__text{color:var(--c-accent-text)}.timer__track{height:14px;border:var(--border-width-thin) solid var(--c-border);border-radius:var(--radius-pill);background:var(--c-surface);overflow:hidden}.timer__fill{height:100%;background:var(--c-secondary);transition:width .25s linear}.timer--low .timer__fill{background:var(--c-primary)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3) 0 var(--space-2);border:var(--border-width-thin) solid var(--c-border);border-radius:var(--radius-pill);background:var(--c-surface);color:var(--c-text);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body)}.badge--active{background:var(--c-highlight);color:var(--c-on-highlight);box-shadow:0 3px 0 0 var(--c-press-shadow)}.badge__score{margin-left:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--brand-indigo);color:var(--brand-cream)}.mascot{display:inline-block;line-height:0}.mascot img{display:block;max-width:100%;height:auto}.mascot__dark{display:none!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .mascot__light{display:none!important}:root:not([data-theme=light]) .mascot__dark{display:block!important}}:root[data-theme=dark] .mascot__light{display:none!important}:root[data-theme=dark] .mascot__dark{display:block!important}.dialog{width:min(92vw,420px);margin:auto;padding:var(--space-6);color:var(--c-text)}.dialog[open]{display:flex;flex-direction:column;gap:var(--space-4)}.dialog::backdrop{background:#1f1a4d99}.dialog__body{display:flex;flex-direction:column;gap:var(--space-3)}.dialog h2:focus{outline:none}.dialog--wide{width:min(96vw,760px)}.dialog__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.switch{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--size-tap-min);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-text);font:var(--fw-body-bold) var(--fs-body) / var(--lh-body) var(--font-body);text-align:left;cursor:pointer}.switch__label{flex:1}.switch__track{width:52px;height:28px;padding:2px;border:var(--border-width-thin) solid var(--c-border);border-radius:var(--radius-pill);background:var(--c-surface-sunk)}.switch__thumb{display:block;width:20px;height:20px;border-radius:50%;background:var(--c-text);transition:transform var(--dur-fast) var(--ease-bounce)}.switch[aria-checked=true] .switch__track{background:var(--c-secondary)}.switch[aria-checked=true] .switch__thumb{transform:translate(24px);background:var(--brand-indigo)}.score-pop{display:inline-block;font:var(--fw-display) var(--fs-display) / var(--lh-display) var(--font-heading);color:var(--c-accent-text);animation:pop var(--dur-slow) var(--ease-bounce)}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:50}.confetti__bit{position:absolute;top:-16px;width:10px;height:14px;border:2px solid var(--brand-indigo);border-radius:3px;opacity:0;animation:confetti-fall 1.8s var(--ease-out) forwards}.confetti__bit--round{width:12px;height:12px;border-radius:50%}@keyframes confetti-fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--drift),110vh) rotate(540deg);opacity:1}}@media(prefers-reduced-motion:reduce){.confetti{display:none}.banner,.score-pop{animation:fade-in .12s linear}.switch__thumb,.timer__fill,.btn{transition:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.only-dark{display:none!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .only-light{display:none!important}:root:not([data-theme=light]) .only-dark{display:block!important}}:root[data-theme=dark] .only-light{display:none!important}:root[data-theme=dark] .only-dark{display:block!important}.field__hint{color:var(--c-text-muted);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body)}.field__error{color:var(--c-accent-text);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body)}.input[aria-invalid=true]{border-color:var(--c-accent-text)}.input--area{min-height:96px;resize:vertical}.input--select{appearance:none;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1A4D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-size:20px 20px;background-repeat:no-repeat}.home__tag{text-align:center;margin-top:auto;color:var(--c-text-muted)}.muted{color:var(--c-text-muted);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body);margin:0}.intro{display:flex;gap:var(--space-4);align-items:center}.intro p{margin:0}.tiles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.tile{display:flex;align-items:center;gap:var(--space-4);width:100%;min-height:96px;padding:var(--space-3) var(--space-4);text-align:left;color:var(--c-text);cursor:pointer;font:inherit;transition:transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast) var(--ease-bounce)}.tile:active:not(:disabled){transform:translateY(var(--press-offset));box-shadow:var(--shadow-pressed)}.tile:disabled{cursor:not-allowed;background:var(--c-surface-sunk);box-shadow:none}.tile__text{display:flex;flex-direction:column;flex:1;min-width:0}.tile__name{font:var(--fw-h2) var(--fs-h3) / var(--lh-h3) var(--font-heading)}.tile__line{font:var(--fw-body) var(--fs-small) / var(--lh-small) var(--font-body);color:var(--c-text-muted)}.tile__soon{margin-top:var(--space-2)}.btn--icon{padding:0;width:var(--size-tap-min)}.seg{display:flex;gap:var(--space-2)}.seg--stack{flex-direction:column}.seg__item{flex:1;min-height:var(--size-tap-min);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-text);font:var(--fw-button) var(--fs-body) / var(--lh-body) var(--font-heading);cursor:pointer;text-align:center}.seg__item--tall{display:flex;flex-direction:column;text-align:left}.seg__title{font:var(--fw-button) var(--fs-body-lg) / var(--lh-body) var(--font-heading)}.seg__line{font:var(--fw-body) var(--fs-small) / var(--lh-small) var(--font-body)}.seg__item[aria-pressed=true]{background:var(--c-highlight);color:var(--c-on-highlight);box-shadow:var(--shadow-press)}.names{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.clue-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.clue{margin:0;font:var(--fw-heading) var(--fs-h2) / var(--lh-h2) var(--font-heading)}.earlier{width:100%;font:var(--fw-body) var(--fs-small) / var(--lh-small) var(--font-body)}.earlier summary{min-height:var(--size-tap-min);display:flex;align-items:center;cursor:pointer;font-weight:var(--fw-body-bold)}.earlier ol{margin:0;padding-left:var(--space-6);color:var(--c-text-muted)}.turn{margin:0;font:var(--fw-heading) var(--fs-h3) / var(--lh-h3) var(--font-heading)}.row--equal>*{flex:1 1 0}.buzz-round{max-width:560px;justify-content:space-between}.buzz-top,.buzz-bottom{display:flex;gap:var(--space-3)}.buzz-top .buzzer{transform:rotate(180deg)}.buzz-middle{flex:1}.buzzer{flex:1;min-height:88px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-xl);background:var(--c-surface);color:var(--c-text);box-shadow:var(--shadow-card);cursor:pointer;font:var(--fw-button) var(--fs-body) / var(--lh-body) var(--font-heading);text-align:left}.buzzer:active:not(:disabled){transform:translateY(var(--press-offset));box-shadow:var(--shadow-pressed)}.buzz-top .buzzer:active:not(:disabled){transform:rotate(180deg) translateY(var(--press-offset))}.buzzer:disabled{background:var(--c-surface-sunk);box-shadow:none;cursor:not-allowed}.buzzer__hint{font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body);color:var(--c-text-muted)}.results{align-items:center;text-align:center}.results>.card,.results .stack,.results .scoreboard{width:100%;text-align:left}.result-points{display:flex;align-items:baseline;gap:var(--space-2);margin:0;font:var(--fw-heading) var(--fs-h2) / var(--lh-h2) var(--font-heading)}.scoreboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.center{align-items:center;justify-content:center;text-align:center}.room-share{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.room-code{margin:0;font:var(--fw-display) var(--fs-display) / var(--lh-display) var(--font-heading);letter-spacing:.18em}.qr{border:var(--border-width) solid var(--brand-indigo);border-radius:var(--radius-md);background:var(--brand-white)}.code-field .input{text-transform:uppercase;letter-spacing:.2em;font-family:var(--font-heading)}.reactions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.reaction{display:flex;align-items:center;gap:var(--space-1);min-height:var(--size-tap-min);padding:var(--space-1) var(--space-2);border:var(--border-width-thin) solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-text);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body);cursor:pointer;text-align:left}.reaction img{flex:none}.reaction:active{transform:translateY(2px)}.toasts{position:fixed;top:max(var(--space-3),env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(92vw,420px);display:flex;flex-direction:column;gap:var(--space-2);z-index:60;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--border-width-thin) solid var(--c-border);border-radius:var(--radius-pill);background:var(--c-surface);color:var(--c-text);box-shadow:0 4px 0 0 var(--c-press-shadow);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body);animation:pop var(--dur-base) var(--ease-bounce)}@media(prefers-reduced-motion:reduce){.toast{animation:fade-in .12s linear}}.reveal-image{width:100%;height:auto;max-height:240px;object-fit:contain;border:var(--border-width-thin) solid var(--c-border);border-radius:var(--radius-md);background:var(--brand-white)}.ad{margin-top:var(--space-10);padding:var(--space-2) var(--space-3) var(--space-3);border:2px solid currentColor;border-radius:var(--radius-sm);background:transparent;color:var(--c-text)}.ad__label{display:block;margin-bottom:var(--space-1)}.gate-question{margin:0;font:var(--fw-heading) var(--fs-h2) / var(--lh-h2) var(--font-heading)}.link-button{min-height:var(--size-tap-min);padding:0;border:0;background:none;color:var(--c-link);font:var(--fw-body-bold) var(--fs-body) / var(--lh-body) var(--font-body);text-decoration:underline;text-align:left;cursor:pointer}.parents h2{margin-bottom:var(--space-2)}.parents section{display:flex;flex-direction:column;gap:var(--space-2)}.parents ul{margin:0;padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.parents p{margin:0}.home__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.home__foot .home__tag{margin:0}.install h2{font-size:var(--fs-h3);line-height:var(--lh-h3)}.install p{margin:0}.ludo-board-wrap{width:100%}.ludo-board{width:100%;height:auto;display:block}.ludo-board-wrap--flip{animation:board-flip var(--dur-slow) var(--ease-bounce)}@keyframes board-flip{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(.92)}to{transform:rotate(360deg) scale(1)}}.token{transition:transform var(--dur-slow) var(--ease-bounce);cursor:default}.token--ready{cursor:pointer}.token__number{font:800 .34px var(--font-body);pointer-events:none}.token__ring{fill:none;stroke:var(--brand-indigo);stroke-width:.1;stroke-dasharray:.2 .16;animation:token-pulse .9s var(--ease-out) infinite alternate}@keyframes token-pulse{0%{opacity:.45}to{opacity:1}}.die{flex:none}.die__face{fill:var(--brand-white);stroke:var(--brand-indigo);stroke-width:1.4}.die__pip{fill:var(--brand-indigo)}.die--rolled{animation:die-bounce var(--dur-slow) var(--ease-bounce)}@keyframes die-bounce{0%{transform:rotate(-200deg) scale(.6)}to{transform:rotate(0) scale(1)}}.turn-panel__row{display:flex;align-items:center;gap:var(--space-4)}.turn-panel__actions{flex:1}.turn-panel .turn{margin:0}.move-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.move-button{justify-content:flex-start}.players-strip{gap:var(--space-2)}.player-chip{display:inline-flex;align-items:center;gap:var(--space-1)}.rules h3{margin:0 0 var(--space-1)}.rules ul{margin:0;padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-1)}@media(prefers-reduced-motion:reduce){.token{transition:none}.ludo-board-wrap--flip,.die--rolled{animation:fade-in .12s linear}.token__ring{animation:none}}.players-strip{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.player-chip{min-width:0}.player-chip .badge{min-width:0;max-width:100%}.player-chip .badge{width:100%;padding-top:var(--space-1);padding-bottom:var(--space-1)}.player-chip .badge__name{flex:1;min-width:0;line-height:1.15;overflow-wrap:break-word}.player-chip .badge__score{flex:none}.bot-tag{display:inline-flex;align-items:center;color:var(--c-text-muted)}.ludo-toast{position:fixed;top:max(var(--space-3),env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(92vw,440px);z-index:60;pointer-events:none}.ludo-toast .banner{background:var(--c-surface);box-shadow:0 4px 0 0 var(--c-press-shadow)}.ludo-toast .banner--good{background:var(--c-secondary)}.battle-grid{width:100%;height:auto;display:block;border:var(--border-width) solid var(--c-border);border-radius:var(--radius-lg)}.battle-cursor{animation:token-pulse .9s var(--ease-out) infinite alternate}.battle-tabs{flex:0 1 auto}.battle-tabs .seg__item{min-height:var(--size-tap-min);padding:var(--space-1) var(--space-3);font-size:var(--fs-small)}.aim-pad{display:flex;gap:var(--space-2)}.aim-pad__button{flex:1;padding:0}.tray{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.tray__piece{justify-content:flex-start;text-align:left}.tray__piece[aria-pressed=true]{background:var(--c-highlight);color:var(--c-on-highlight)}.legend{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body)}.legend__item{display:inline-flex;align-items:center;gap:var(--space-1)}.tracker{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-3);font:var(--fw-small) var(--fs-small) / var(--lh-small) var(--font-body)}.tracker__item{display:flex;align-items:center;gap:var(--space-1)}.tracker__item--found{color:var(--c-success-text);font-weight:var(--fw-body-bold)}.pass-screen p{max-width:28ch;margin:0}@media(prefers-reduced-motion:reduce){.battle-cursor{animation:none}}
