@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2) format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2) format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff) format("woff")}:root{--miludo-ink: #14182B;--miludo-red: #E5372C;--miludo-green: #1FA34A;--miludo-yellow: #FFC61A;--miludo-blue: #1E63E9;--miludo-cream: #FFF9EC;--miludo-green-text: #158A3E;--miludo-green-text-dark: #3DD16F}:root{color-scheme:light;--bg: var(--miludo-cream);--surface: #ffffff;--text: var(--miludo-ink);--outline: var(--miludo-ink);--accent: var(--miludo-green);--accent-text: var(--miludo-green-text);--link: var(--miludo-ink);--font-display: "Baloo 2", system-ui, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--radius: 16px;--outline-width: 3px}:root[data-theme=dark]{color-scheme:dark;--bg: var(--miludo-ink);--surface: #1f2440;--text: var(--miludo-cream);--outline: var(--miludo-cream);--accent-text: var(--miludo-green-text-dark);--link: var(--miludo-green-text-dark)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: var(--miludo-ink);--surface: #1f2440;--text: var(--miludo-cream);--outline: var(--miludo-cream);--accent-text: var(--miludo-green-text-dark);--link: var(--miludo-green-text-dark)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-text-size-adjust:100%}h1,h2,h3,button,.display{font-family:var(--font-display)}.num{font-variant-numeric:tabular-nums}button,a.button{min-height:44px;min-width:44px}:root{--gap: 16px;--muted: color-mix(in srgb, var(--text) 70%, var(--bg));--danger: var(--miludo-red);--danger-text: #b3261e;--chip-bg: var(--surface)}:root[data-theme=dark]{--danger-text: #ff8a80}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--danger-text: #ff8a80}}body{line-height:1.45}a{color:var(--link);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}h1{font-size:1.6rem;margin:0 0 12px;line-height:1.2}h2{font-size:1.2rem;margin:0 0 8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.layout{min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;min-height:56px;border-bottom:var(--outline-width) solid var(--outline);background:var(--bg);position:sticky;top:0;z-index:5}.topbar .logo{display:block;height:auto}.topbar>a:first-child{min-height:44px;display:inline-flex;align-items:center}.balance-chip{font-family:var(--font-display);font-weight:800;color:var(--text);text-decoration:none;border:var(--outline-width) solid var(--outline);border-radius:999px;padding:6px 14px;min-height:44px;display:inline-flex;align-items:center;background:var(--surface)}.page{flex:1;width:100%;max-width:560px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:var(--gap)}.bottombar{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg);border-top:var(--outline-width) solid var(--outline);padding-bottom:env(safe-area-inset-bottom);z-index:5}.bottombar a{min-height:56px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;color:var(--text);text-decoration:none}.bottombar a.active{color:var(--text);font-weight:800;box-shadow:inset 0 -4px 0 var(--accent)}.card{background:var(--surface);border:var(--outline-width) solid var(--outline);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.stack>a:not(.button){min-height:44px;display:inline-flex;align-items:center}.row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.row>.button{flex:1}.row.spread{justify-content:space-between;align-items:center}.button,button.button{font-family:var(--font-display);font-weight:800;font-size:1.05rem;border:var(--outline-width) solid var(--outline);border-radius:14px;padding:10px 18px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;cursor:pointer;color:var(--miludo-ink);background:var(--surface);box-shadow:0 4px 0 var(--outline);transition:transform 80ms}.button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--outline)}.button.primary{background:var(--accent);color:var(--miludo-ink)}.button.secondary{background:var(--surface);color:var(--text)}.button.danger{background:var(--surface);color:var(--danger-text);border-color:var(--danger)}.button.small{min-height:44px;font-size:.95rem;padding:6px 12px;align-self:flex-start}.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.button .sub{font-family:var(--font-body);font-weight:400;font-size:.8rem}.link-button{background:none;border:none;color:var(--link);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;font-family:var(--font-body);font-size:1rem;padding:8px 0;cursor:pointer;align-self:flex-start}.link-button:disabled{opacity:.5}.field{display:flex;flex-direction:column;gap:4px;flex:1}.field-label{font-weight:600}.field-hint,.fine-print{font-size:.875rem;color:var(--muted)}.fine-print>a:only-child{min-height:44px;display:inline-flex;align-items:center}input,select,textarea{font:inherit;font-size:1.05rem;min-height:48px;padding:10px 12px;border:var(--outline-width) solid var(--outline);border-radius:12px;background:var(--bg);color:var(--text);width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,.token:focus-visible{outline:3px solid var(--miludo-blue);outline-offset:2px}.toggle{display:flex;gap:12px;align-items:flex-start;min-height:44px}.toggle input{width:28px;height:28px;min-height:28px;margin-top:2px;accent-color:var(--accent)}.toggle>span{display:flex;flex-direction:column}.choice{border:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.choice legend{font-weight:600;margin-bottom:6px;padding:0}.chip,.tabs button{font-family:var(--font-display);font-weight:800;font-size:1rem;min-height:44px;min-width:64px;padding:6px 14px;border-radius:999px;border:var(--outline-width) solid var(--outline);background:var(--chip-bg);color:var(--text);cursor:pointer}.chip.selected{background:var(--miludo-yellow);color:var(--miludo-ink)}.tabs{display:flex;gap:8px}.banner{border:var(--outline-width) solid var(--outline);border-radius:12px;padding:10px 14px;background:var(--surface)}.banner-warn{background:var(--miludo-yellow);color:var(--miludo-ink)}.banner-warn a{color:var(--miludo-ink);font-weight:700}.banner-error{border-color:var(--danger)}.layout>.banner,.match>.banner,.landing>.banner{margin:8px 16px 0}.error{color:var(--danger-text);font-weight:600;margin:0}.spinner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px}.spinner img{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.age-notice{font-size:.9rem;color:var(--muted);text-align:center;margin:8px 0}.age-notice a{display:inline-block;min-height:44px;line-height:44px}.check{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.check input{width:24px;height:24px;flex:none;accent-color:var(--accent)}.licence-notice{display:block;font-size:.8rem;margin-top:4px}.age-badge{display:inline-block;border:2px solid var(--outline);border-radius:8px;padding:0 6px;font-family:var(--font-display);color:var(--text)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ledger li{border-bottom:1px solid color-mix(in srgb,var(--outline) 25%,transparent);padding-bottom:8px}.plus{color:var(--link);font-weight:700}.minus{font-weight:700}.players{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 16px}.menu{display:flex;flex-direction:column;border:var(--outline-width) solid var(--outline);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.menu a{min-height:56px;display:flex;align-items:center;padding:0 16px;color:var(--text);text-decoration:none;font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--outline) 25%,transparent)}.menu a:last-child{border-bottom:none}.landing{min-height:100dvh;max-width:480px;margin:0 auto;padding:24px 16px;display:flex;flex-direction:column;align-items:stretch;gap:20px}.landing-logo{align-self:center;max-width:100%;height:auto}.steps{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:8px;font-size:1.05rem}.balance-card .big,.big{font-family:var(--font-display);font-weight:800;font-size:2.2rem;line-height:1.1}.terms{border:2px dashed var(--outline);border-radius:12px;padding:10px 12px}.terms p{margin:0}.big-line{font-family:var(--font-display);font-weight:800;font-size:1.3rem}.queue{align-items:center;text-align:center}.match{max-width:560px;margin:0 auto;padding:8px 12px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.match-top{display:grid;gap:8px}.seat-panel{border:var(--outline-width) solid var(--outline);border-radius:14px;padding:8px 10px;background:var(--surface);position:relative}.seat-panel.turn{box-shadow:0 0 0 4px var(--miludo-yellow)}.seat-panel.out{opacity:.55}.seat-name{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:800}.seat-badge{flex:none}.tag{font-family:var(--font-body);font-weight:600;font-size:.75rem;border:2px solid var(--outline);border-radius:999px;padding:0 6px}.seat-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:4px 0 0}.seat-stats div{display:flex;flex-direction:column}.seat-stats dt{font-size:.75rem;color:var(--muted)}.seat-stats dd{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.2rem}.seat-stats dd.low{color:var(--danger-text)}.turn-flag{position:absolute;top:6px;right:8px;font-family:var(--font-display);font-weight:800;font-size:.85rem;background:var(--miludo-yellow);color:var(--miludo-ink);border:2px solid var(--miludo-ink);border-radius:999px;padding:0 8px}.status-line{margin:0;text-align:center;font-weight:600;min-height:1.5em}.tiebreak{text-align:center;font-family:var(--font-display);margin:0}.board{width:100%;height:auto;aspect-ratio:1;display:block;touch-action:manipulation}.board-bg{fill:var(--miludo-cream);stroke:var(--miludo-ink);stroke-width:.12}.ink-line{stroke:var(--miludo-ink);stroke-width:.08}.yard-inner{fill:#fff;stroke:var(--miludo-ink);stroke-width:.08}.yard-slot{fill:none;stroke:var(--miludo-ink);stroke-width:.06;stroke-dasharray:.12 .1}.cell{fill:#fff;stroke:var(--miludo-ink);stroke-width:.05}.safe-star{fill:none;stroke:var(--miludo-ink);stroke-width:.06}.token{transition:transform .22s ease-out}.token-num{font-family:var(--font-display);font-weight:800;font-size:.38px;text-anchor:middle;fill:var(--miludo-ink);pointer-events:none}.token.movable{cursor:pointer}.token .hit{fill:transparent}.token .ring{fill:none;stroke:var(--miludo-ink);stroke-width:.1;stroke-dasharray:.2 .12;animation:ring .9s linear infinite}@keyframes ring{to{stroke-dashoffset:-.64}}.controls{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.die{width:96px;height:96px;min-width:96px;border:none;background:none;padding:0;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:var(--text)}.die svg{width:80px;height:80px}.die:disabled{cursor:default}.die-face{fill:#fff;stroke:var(--miludo-ink);stroke-width:.2}.pip{fill:var(--miludo-ink)}.die.ready svg{animation:nudge 1.4s ease-in-out infinite}.die.ready .die-face{fill:var(--miludo-yellow)}.die.rolling svg{animation:tumble .42s linear infinite}.die-cta{font-family:var(--font-display);font-weight:800;font-size:.85rem}@keyframes tumble{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(.9)}to{transform:rotate(360deg) scale(1)}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.move-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.move-buttons .button{flex-direction:column;min-width:96px;gap:0}.confirm{border:var(--outline-width) solid var(--outline);border-radius:var(--radius);padding:12px;background:var(--surface)}.confirm p{margin-top:0}.result{text-align:center;align-items:stretch}.result.won{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent)}.scores{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.scores li{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;text-align:left;padding:6px 10px;border:2px solid var(--outline);border-radius:10px;font-family:var(--font-display);font-weight:600}.scores li.winner{background:var(--miludo-yellow);color:var(--miludo-ink);font-weight:800}.install-offer{position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));background:var(--surface);border:var(--outline-width) solid var(--outline);border-radius:var(--radius);padding:12px;z-index:10;max-width:536px;margin:0 auto}.install-offer p{margin-top:0}@media(prefers-reduced-motion:reduce){.token,.die.ready svg,.die.rolling svg,.token .ring,.spinner img{animation:none;transition:none}}@media(min-width:720px){.match{max-width:640px}.match-top{grid-auto-flow:column}}.dev-tools{border:2px dashed var(--miludo-blue);border-radius:10px;padding:4px 10px;font-size:.85rem;margin:0}
