@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/ludo-chaos-3d/assets/press-start-2p-latin-ClsvrIBJ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#05050f;--fg:#eef2ff;--fg-muted:#a9b3dc;--fg-on-accent:#080a18;--surface:#10132a;--surface-2:#1a1f3d;--surface-3:#080a18;--surface-edge:#2b3466;--surface-lip:#ffffff1f;--ui-border:#7fb4dc;--accent:#1f7ac4;color:var(--fg);font-family:"Press Start 2P",system-ui,sans-serif}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body,#root{background:var(--bg);-webkit-user-select:none;user-select:none;width:100%;height:100%;margin:0;padding:0;overflow:hidden}.overlay{z-index:10;box-sizing:border-box;pointer-events:auto;-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:safe center;align-items:center;gap:22px;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay>*{pointer-events:auto;flex-shrink:0}.panel{background:var(--surface);border:2px solid var(--ui-border);border-radius:14px;padding:26px 30px;box-shadow:0 0 30px #00000073}.overlay.scrim:before{content:"";pointer-events:none;background:radial-gradient(70% 55% at 50% 45%,#05050fe6 0%,#05050fb3 45%,#05050f00 80%);position:absolute;inset:0}.menu-card{background:var(--surface);border:2px solid var(--ui-border);border-radius:18px;flex-direction:column;align-items:center;gap:20px;max-width:min(440px,92vw);padding:34px 40px;display:flex;box-shadow:0 0 40px #0000008c,inset 0 0 24px #ffffff0d}.menu-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.title{letter-spacing:2px;text-align:center;text-shadow:0 0 16px #4d7cff,0 0 32px #ff2d6e88;font-size:34px;line-height:1.4}.subtitle{color:var(--fg-muted);text-align:center;text-shadow:0 0 8px #05050fe6;font-size:11px;line-height:1.8}.neon-btn{background:linear-gradient(180deg, var(--surface-2), var(--surface));cursor:pointer;letter-spacing:1px;box-shadow:inset 0 1px 0 var(--surface-lip), 0 6px 18px #00000073;border-radius:10px;font-family:inherit;transition:transform 80ms,box-shadow .15s,background .15s}.neon-btn:hover:not(:disabled){background:linear-gradient(180deg, var(--surface-2), var(--surface-2));box-shadow:inset 0 1px 0 var(--surface-lip), 0 10px 24px #00000080;transform:translateY(-2px)}.neon-btn:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 6px #00000073}.neon-btn:disabled{opacity:.35;cursor:not-allowed}.hud{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.turn-chip{background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--surface-lip), 0 6px 18px #00000073;border:2px solid;border-radius:10px;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex}.seat-medallion{background:var(--surface-3);border:2px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.pglyph{width:16px;height:16px;display:block}.seat-plate{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;max-width:34vw;padding:3px 8px;overflow:hidden}.die-pips{border:2px solid #00000059;border-radius:7px;flex:none;width:34px;height:34px;display:inline-flex;box-shadow:inset 0 -2px 4px #00000040}.die-pips svg{width:100%;height:100%;display:block}.die-pips.dim{opacity:.3}.hud-actions{align-items:center;gap:14px;display:flex}.action-dock{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--surface-edge);box-shadow:inset 0 1px 0 var(--surface-lip), 0 10px 28px #0000008c;border-radius:14px;align-items:center;gap:14px;padding:8px 16px;display:flex}.throw-flag{color:#21e6c1;letter-spacing:.5px;font-size:9px}@media (width<=600px){.hud{gap:8px;padding:8px 10px}.turn-chip{gap:7px;padding:7px 10px;font-size:10px}.turn-chip .seat-medallion{width:20px;height:20px}.turn-chip .pglyph{width:12px;height:12px}.turn-chip .seat-plate{padding:2px 6px}.hud .neon-btn{padding:8px 12px!important;font-size:10px!important}.hud .action-dock .neon-btn{min-height:48px;padding:14px 30px!important;font-size:13px!important}.action-dock .die-pips{width:40px;height:40px}}.seat-row{grid-template-columns:20px 1fr auto;align-items:center;gap:12px;padding:8px 0;font-size:11px;display:grid}.seat-name{background:var(--surface-2);border:1px solid var(--ui-border);color:var(--fg);border-radius:6px;width:100%;padding:7px 9px;font-family:inherit;font-size:10px}.rules-row{color:var(--fg-muted);justify-content:space-between;align-items:center;gap:14px;padding:6px 0;font-size:9px;line-height:1.6;display:flex}.rule-label{flex-direction:column;gap:2px;display:flex}.rule-hint{color:var(--fg-muted);font-size:8px;line-height:1.4}.toggle{cursor:pointer;border:2px solid var(--ui-border);background:var(--surface-3);border-radius:20px;flex:none;width:46px;height:24px;transition:background .15s,border-color .15s;position:relative}.toggle.on{background:#14543f;border-color:#21e6c1}.toggle .knob{background:var(--fg);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle.on .knob{transform:translate(22px)}.seg{border:1px solid var(--ui-border);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-family:inherit;font-size:9px}.seg button.active{color:#05050f;background:#21e6c1}.confetti{z-index:9;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti span{opacity:0;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.3,.6,.7,1);animation-iteration-count:1;animation-fill-mode:forwards;display:block;position:absolute;top:-6%}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}8%{opacity:1}to{transform:translate(var(--drift), 110vh) rotate(var(--rot));opacity:.9}}.win-pop{animation:.6s cubic-bezier(.2,1.4,.4,1) both win-pop}@keyframes win-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.standings{flex-direction:column;gap:6px;width:min(280px,80vw);margin:4px 0 18px;display:flex}.standing-row{background:var(--surface);border:1px solid;border-radius:10px;align-items:center;gap:10px;padding:7px 12px;display:flex}.standing-place{text-align:center;width:22px;font-size:15px}.standing-name{letter-spacing:.5px;font-size:12px;font-weight:700}.rules-panel{flex-direction:column;width:min(440px,92vw);max-height:78vh;display:flex}.rules-scroll{margin-top:6px;padding-right:6px;overflow-y:auto}.rule-block{text-align:left;border-bottom:1px solid #1c2348;padding:8px 0}.rule-h{letter-spacing:1px;margin-bottom:6px;font-size:12px}.rule-body{color:var(--fg-muted);font-size:9px;line-height:1.9}.lb-list{flex-direction:column;gap:4px;max-height:52vh;display:flex;overflow-y:auto}.lb-row{background:var(--surface-2);border:1.5px solid #0000;border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:9px 10px;font-size:11px;display:grid}.lb-rank{text-align:center;font-size:13px}.lb-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-wins{color:var(--fg);font-size:12px}.theme-picker{justify-content:center;align-items:center;gap:12px;display:flex}.theme-swatch{cursor:pointer;border:2px solid #ffffff40;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .1s,border-color .15s,box-shadow .15s}.theme-swatch:hover{transform:translateY(-2px)scale(1.08)}.theme-swatch.active{border-color:#fff;box-shadow:0 0 12px,0 0 4px #fff}.lang-picker{justify-content:center;align-items:center;gap:8px;display:flex}.lang-chip{letter-spacing:1px;border:2px solid var(--ui-border);background:var(--surface);color:var(--fg-muted);cursor:pointer;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:9px;transition:transform .1s,border-color .15s,color .15s}.lang-chip:hover{color:var(--fg);transform:translateY(-2px)}.lang-chip.active{color:var(--fg);border-color:#21e6c1;box-shadow:0 0 12px #21e6c155}.lang-fab{left:14px;bottom:calc(64px + var(--tip-bar-h,0px));z-index:13;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:fixed}.lang-fab-btn{border:2px solid var(--ui-border);background:linear-gradient(180deg, var(--surface-2), var(--surface));height:42px;box-shadow:inset 0 1px 0 var(--surface-lip), 0 6px 18px #00000073;color:var(--fg);letter-spacing:1px;cursor:pointer;border-radius:10px;padding:0 12px;font-family:inherit;font-size:10px;line-height:1;transition:transform 80ms,border-color .15s}.lang-fab-btn:hover{border-color:#21e6c1;transform:translateY(-2px)}.lang-fab-backdrop{z-index:-1;position:fixed;inset:0}.lang-fab-menu{flex-direction:column;gap:6px;display:flex}.mute-btn{left:14px;bottom:calc(14px + var(--tip-bar-h,0px));z-index:12;border:2px solid var(--ui-border);background:linear-gradient(180deg, var(--surface-2), var(--surface));width:42px;height:42px;box-shadow:inset 0 1px 0 var(--surface-lip), 0 6px 18px #00000073;color:var(--fg);cursor:pointer;border-radius:10px;font-size:18px;line-height:1;transition:transform 80ms,border-color .15s;position:fixed}.vibrate-btn{left:64px;bottom:calc(14px + var(--tip-bar-h,0px));z-index:12;border:2px solid var(--ui-border);background:linear-gradient(180deg, var(--surface-2), var(--surface));width:42px;height:42px;box-shadow:inset 0 1px 0 var(--surface-lip), 0 6px 18px #00000073;color:var(--fg);cursor:pointer;border-radius:10px;font-size:18px;line-height:1;transition:transform 80ms,border-color .15s;position:fixed}.vibrate-btn:hover,.mute-btn:hover{border-color:#21e6c1;transform:translateY(-2px)}.announce-stack{z-index:11;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:18%;left:50%;transform:translate(-50%)}.announce{background:var(--surface);text-align:center;border:2px solid;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:10px 20px;animation:1.7s ease-out forwards announce-pop;display:flex;box-shadow:0 0 18px}.announce-main{letter-spacing:2px;text-shadow:0 0 10px;font-size:16px}.announce-sub{letter-spacing:1px;color:var(--fg-muted);font-size:8px}@keyframes announce-pop{0%{opacity:0;transform:scale(.6)translateY(8px)}12%{opacity:1;transform:scale(1.08)translateY(0)}22%{transform:scale(1)translateY(0)}78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-26px)}}.hud-bottom{z-index:12;padding:0 96px 16px;padding-bottom:calc(max(16px, env(safe-area-inset-bottom)) + var(--tip-bar-h,0px));pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.hud-bottom>*{pointer-events:auto}.pick-hint{z-index:10;letter-spacing:2px;text-align:center;background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--surface-lip), 0 0 14px currentColor, 0 8px 22px #00000080;text-shadow:0 0 8px;pointer-events:none;border:2px solid;border-radius:10px;padding:10px 18px;font-size:12px;animation:1.1s ease-in-out infinite pick-pulse}@keyframes pick-pulse{0%,to{opacity:.6}50%{opacity:1}}.pool-bar{z-index:10;background:linear-gradient(180deg, var(--surface-2), var(--surface));max-width:92vw;box-shadow:inset 0 1px 0 var(--surface-lip), 0 10px 28px #0000008c;border:2px solid;border-radius:12px;align-items:center;gap:10px;padding:8px 14px;display:flex}.pool-label{letter-spacing:2px;opacity:.85;font-size:10px}.pool-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pool-chip{cursor:pointer;border:2px solid;border-radius:8px;justify-content:center;align-items:center;min-width:30px;height:34px;padding:0 4px;font-size:20px;line-height:1;transition:transform .1s,background .1s,box-shadow .1s;display:inline-flex}.pool-chip:disabled{cursor:default}.pool-chip:not(:disabled):hover{transform:translateY(-2px)}.pool-chip .die-pips{border-width:1px;border-radius:5px;width:22px;height:22px}.pool-chip.sel{box-shadow:0 0 10px #ffffff8c}.pool-sum{letter-spacing:1px;font-variant-numeric:tabular-nums;margin-left:4px;font-size:12px}@media (width<=480px){.pool-bar{gap:6px;padding:6px 10px}.pool-chip{min-width:26px;height:30px;font-size:17px}}@media (width<=600px){.hud-bottom{padding-left:8px;padding-right:8px;padding-bottom:calc(max(124px, calc(112px + env(safe-area-inset-bottom))) + var(--tip-bar-h,0px))}}.leader-chip{z-index:9;letter-spacing:1px;background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--surface-lip), 0 0 10px currentColor, 0 6px 18px #00000073;pointer-events:none;border:2px solid;border-radius:999px;align-items:center;gap:7px;max-width:92vw;padding:5px 12px;font-size:11px;display:flex;position:fixed;top:58px;left:50%;transform:translate(-50%)}.leader-chip .crown{font-size:13px}.leader-chip .leader-name{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-weight:700;overflow:hidden}.leader-chip .leader-tag{text-shadow:0 0 6px;font-size:9px}.leader-chip.near-win{animation:.9s ease-in-out infinite leader-throb}@keyframes leader-throb{0%,to{box-shadow:0 0 8px}50%{box-shadow:0 0 20px}}@media (width<=600px){.leader-chip{padding:4px 10px;font-size:10px;top:84px}}.view-controls{right:14px;bottom:calc(14px + var(--tip-bar-h,0px));z-index:12;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}.view-cam-btn{border:2px solid var(--ui-border);background:linear-gradient(180deg, var(--surface-2), var(--surface));height:42px;box-shadow:inset 0 1px 0 var(--surface-lip), 0 6px 18px #00000073;color:var(--fg);letter-spacing:1px;cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:10px;line-height:1;transition:transform 80ms,border-color .15s;display:flex}.view-cam-btn:hover{transform:translateY(-2px)}.view-cam-icon{font-size:16px}.view-cam-label{font-weight:700}.view-zoom{gap:8px;display:flex}.view-zoom-btn{border:2px solid var(--ui-border);background:linear-gradient(180deg, var(--surface-2), var(--surface));width:42px;height:42px;box-shadow:inset 0 1px 0 var(--surface-lip), 0 6px 18px #00000073;color:var(--fg);cursor:pointer;border-radius:10px;font-size:22px;line-height:1;transition:transform 80ms,border-color .15s}.view-zoom-btn:hover:not(:disabled){border-color:#21e6c1;transform:translateY(-2px)}.view-zoom-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes tipGlow{0%,to{text-shadow:0 0 6px #ffb547b3;box-shadow:0 0 7px #ffb54766,inset 0 0 10px #00000059}50%{text-shadow:0 0 12px #ffb547;box-shadow:0 0 18px #ffb547e6,inset 0 0 10px #00000059}}.tip-glow{animation:2.4s ease-in-out infinite tipGlow}@media (prefers-reduced-motion:reduce){.tip-glow{animation:none}}.menu-legal-row{text-align:center;margin-top:6px;padding:0 62px;display:block}.menu-legal{letter-spacing:.08em;color:currentColor;opacity:.55;font-size:9px;line-height:1;text-decoration:none;display:inline-block}.menu-legal:hover,.menu-legal:focus-visible{opacity:1;text-decoration:underline}.screen-fade{animation:.22s ease-out both screen-in}@keyframes screen-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.screen-fade{animation:none}}.menu-controls{z-index:12;pointer-events:none;position:fixed;inset:0}.menu-plaque-btn{color:#0000;font:inherit;cursor:pointer;pointer-events:auto;text-indent:-200vw;white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:0;position:absolute;overflow:hidden}.menu-plaque-btn:focus-visible{outline:3px solid var(--fg);outline-offset:3px}.menu-bar{z-index:11;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:2px solid var(--ui-border);flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.menu-bar-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.menu-tagline{color:var(--fg-muted);text-align:center;margin:0;font-size:9px;line-height:1.8}@media (height<=520px){.menu-bar{padding:6px 10px calc(6px + env(safe-area-inset-bottom));gap:4px}.menu-bar .menu-tagline,.menu-bar .menu-legal-row{display:none}.menu-bar-row{gap:6px}}.menu-legal-row{color:var(--fg-muted);text-align:center;font-size:8px;line-height:1.7}.tip-bar{bottom:0}body[data-menu-bar="1"] .tip-bar{bottom:var(--menu-bar-h,96px)}.seat-row.add-seat{opacity:.85}.add-seat-btn{text-align:left;letter-spacing:1px;border:2px dashed var(--ui-border);background:var(--surface-2);color:var(--fg-muted);cursor:pointer;border-radius:8px;grid-column:2/span 2;padding:8px 10px;font-family:inherit;font-size:10px}.add-seat-btn:hover{color:var(--fg);border-color:#21e6c1}.overlay-actions{padding-bottom:env(safe-area-inset-bottom);gap:14px;display:flex}
