:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--room-shell-pad-inline:clamp(.45rem, 1.2vw + .2rem, 1rem);--topbar-pad-inline:clamp(.8rem, 1vw + .45rem, 1rem);--topbar-gap-x:clamp(.6rem, 1.2vw, 1.5rem);--topbar-gap-y:clamp(.45rem, .8vw, 1rem);--topbar-menu-space:clamp(3.8rem, 2vw + 3rem, 4.45rem);--section-gap:clamp(.75rem, .45vw + .62rem, .95rem);--topbar-strong-size:clamp(.92rem, .35vw + .86rem, 1rem);--topbar-label-size:clamp(.64rem, .18vw + .62rem, .72rem);--menu-btn-size:clamp(44px, 3vw, 50px);--menu-bar-width:clamp(20px, 1.2vw + 16px, 22px);--menu-bar-gap:clamp(4px, .5vw, 5px);--shell-content-width:1140px;--room-stage-width:1120px;--room-sidebar-width:220px;--score-card-width:172px;--score-card-min:172px;--play-area-height:246px;--die-size:82px;--die-selected-lift:8%;--die-selected-lift-mobile:4%;--die-shadow:0 4px 8px #00000073, inset 0 1px 2px var(--die-highlight);--die-hover-shadow:0 8px 16px #0000008c;--die-selected-shadow:0 0 16px #ffd7006b, 0 4px 8px #00000080;--action-btn-shadow:0 4px 12px #00000059;--bust-text-shadow:0 1px 2px #60000059, 0 0 6px #c000002e;--bust-pill-width:clamp(72px, 70cqi, 112px);--bust-pill-height:clamp(34px, 26cqi, 52px);--bust-pill-transform:translate(-50%, -50%);--status-pill-height:2.2rem;--status-pill-pad-inline:.4rem;--theme-font-display:Georgia, serif;--theme-font-body:Georgia, serif;--bg:#09150d;--bg-accent:#4a855240;--bg-accent-soft:#14311f;--bg-deep:#071109;--panel:#0b180fe0;--panel-strong:#102115f2;--border:#74ad7957;--text:#ecdfb7;--muted:#a7b89d;--accent:#efc15a;--accent-strong:gold;--accent-soft:#8fc692;--danger:#c81919;--success:#3d9d47;--primary-button-bg:#3d9d47;--secondary-button-bg:#c69f45;--primary-button-text:#fff;--secondary-button-text:#1a1a00;--shadow:#00000059;--surface:#4a7c4a;--die-bg:color-mix(in srgb, white 82%, var(--text) 18%);--die-border:#93a38e;--die-highlight:#ffffffbf;--die-pip:#223122;--die-selected-bg:color-mix(in srgb, var(--die-bg) 84%, var(--accent-strong) 16%);--die-selected-border:var(--accent-strong);--die-selected-pip:color-mix(in srgb, var(--die-pip) 84%, var(--accent) 16%);--die-selected-ring:color-mix(in srgb, var(--accent-strong) 58%, white 42%);--die-kept-bg:color-mix(in srgb, var(--accent) 72%, white 28%);--die-kept-border:color-mix(in srgb, var(--accent-strong) 30%, var(--accent) 70%);--die-kept-pip:color-mix(in srgb, var(--bg-deep) 82%, black 18%);--die-out-of-play-bg:color-mix(in srgb, var(--die-pip) 68%, var(--bg-deep) 32%);--die-out-of-play-border:color-mix(in srgb, var(--text) 26%, var(--die-border) 74%);--die-out-of-play-pip:color-mix(in srgb, white 84%, var(--die-highlight) 16%)}*{box-sizing:border-box}html,body{background:radial-gradient(circle at top, var(--bg-accent), transparent 40%), linear-gradient(180deg, var(--bg-accent-soft) 0%, var(--bg) 50%, var(--bg-deep) 100%);min-height:100%;color:var(--text);font-family:var(--theme-font-body);margin:0}body{min-height:100vh;line-height:1.4;overflow-x:hidden}select{font:inherit}.theme-slot{isolation:isolate;position:relative}.theme-slot:before{display:none}a{color:inherit;text-decoration:none}button,input{font:inherit}button{background:linear-gradient(180deg, color-mix(in srgb, var(--success) 88%, white) 0%, var(--success) 100%);color:#fff;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb, var(--shadow) 64%, transparent);border:none;border-radius:12px;padding:.95rem 1.2rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s,background-color .18s,border-color .18s}button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}button:hover:not(:disabled){box-shadow:0 14px 28px color-mix(in srgb, var(--shadow) 80%, transparent);transform:translateY(-1px)}input{border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--text) 8%, transparent), color-mix(in srgb, var(--text) 4%, transparent));width:100%;color:var(--text);border-radius:10px;padding:.95rem 1rem;transition:border-color .18s,box-shadow .18s,background-color .18s}input::placeholder{color:color-mix(in srgb, var(--muted) 78%, transparent)}button:focus-visible,input:focus-visible,select:focus-visible{border-color:color-mix(in srgb, var(--accent) 60%, white 10%);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent), 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent);outline:none}input:focus-visible{background:color-mix(in srgb, var(--text) 8%, transparent)}.shell{--shell-content-width:1140px;width:min(100%, var(--shell-content-width));padding:1rem var(--room-shell-pad-inline) 3rem;box-shadow:0 0 0 100vmax color-mix(in srgb, var(--bg-deep) 72%, transparent);margin:0 auto;position:relative}.shell:before{content:"";pointer-events:none;z-index:10;box-shadow:inset 6px 0 0 color-mix(in srgb, var(--bg-deep) 88%, black 12%), inset -6px 0 0 color-mix(in srgb, var(--bg-deep) 88%, black 12%);position:absolute;inset:0}.shell>*{width:min(100%, var(--shell-content-width));margin-left:auto;margin-right:auto}.room-shell{width:100%;padding:1rem var(--room-shell-pad-inline) 3rem;margin:0;position:relative}.game-stage-viewport{width:100%;padding-bottom:.35rem;overflow:auto visible}.game-stage{width:min(100%, var(--room-stage-width));gap:var(--section-gap);min-width:0;margin:0 auto;display:grid;position:relative}.menu-wrap{height:100%;padding-right:var(--topbar-pad-inline);z-index:20;align-items:center;display:flex;position:absolute;top:0;right:0}.hamburger-btn{width:var(--menu-btn-size);height:var(--menu-btn-size);gap:var(--menu-bar-gap);box-shadow:none;background:0 0;border:0;border-radius:0;align-content:center;justify-items:center;padding:0;display:grid}.hamburger-btn span{width:var(--menu-bar-width);background:var(--text);border-radius:999px;height:2px;transition:transform .2s,opacity .2s}.hamburger-btn.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hamburger-menu{border:1px solid var(--border);background:var(--panel-strong);min-width:190px;box-shadow:0 18px 45px var(--shadow);opacity:0;pointer-events:none;transform-origin:100% 0;will-change:transform, opacity;border-radius:16px;gap:.35rem;padding:.4rem;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:58px;right:0;transform:translateY(-10px)scale(.95)}.hamburger-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.menu-item{text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;padding:.8rem .9rem}.menu-item:hover:not(:disabled){background:color-mix(in srgb, var(--text) 6%, transparent)}.menu-item.danger{color:color-mix(in srgb, var(--danger) 62%, white 38%)}.menu-theme-picker{border-bottom:1px solid color-mix(in srgb, var(--border) 36%, transparent);padding:.45rem .55rem .2rem}.menu-theme-picker .theme-picker{min-width:0}.menu-theme-picker .theme-picker span{font-size:.65rem}.menu-theme-picker .theme-picker select{padding:.65rem .75rem}.menu-version{color:color-mix(in srgb, var(--muted) 88%, white 6%);letter-spacing:.14em;text-transform:uppercase;opacity:.84;margin:0;padding:.4rem .8rem .55rem;font-size:.68rem}.hero{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.75rem;display:flex}.home-header{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--panel-strong) 92%, white 4%) 0%, var(--panel) 100%);box-shadow:0 14px 30px var(--shadow);border-radius:18px 0 18px 18px;gap:.4rem;margin:0 0 .75rem;padding:clamp(.8rem,1.4vw,1rem) clamp(1rem,2vw,1.35rem);display:grid;position:relative;overflow:hidden}.home-header>*{z-index:1;position:relative}.home-header-art{-o-object-fit:contain;object-fit:contain;opacity:.12;pointer-events:none;filter:saturate(1.1);z-index:0;width:clamp(6rem,12vw,8rem);max-width:18%;height:auto;position:absolute;bottom:0;right:clamp(-.9rem,-.2vw,-.2rem);transform:rotate(-3deg)}.home-header-copy{gap:.2rem;max-width:28rem;display:grid}.home-header-copy h1{font-family:var(--theme-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:.92}.home-header-eyebrow{letter-spacing:.28em;color:color-mix(in srgb, var(--muted) 82%, var(--accent) 18%);opacity:.88;margin:0;font-size:.58rem}.theme-picker{gap:.35rem;min-width:180px;display:grid}.home-content{width:100%;max-width:1120px;margin:0 auto;padding-inline:1.35rem}.home-shell{box-sizing:border-box;min-height:100dvh;padding-bottom:0}.lobby-shared-intro{text-align:center;grid-column:1/-1;justify-items:center;gap:1.15rem;margin-top:0;margin-bottom:0;padding:.8rem 2.2rem 1.2rem;display:grid}.lobby-shared-intro p{margin:0}.lobby-shared-name{width:min(100%,480px);margin:0}.lobby-name-input-wrap{position:relative}.lobby-shared-name input{text-align:center;padding-right:2.6rem}.lobby-shared-name.is-demanding-attention .lobby-name-label{color:color-mix(in srgb, var(--accent) 88%, white 12%);text-shadow:0 0 12px color-mix(in srgb, var(--accent) 42%, transparent)}.lobby-shared-name input.is-demanding-attention,.lobby-shared-name input[aria-invalid=true]{border-color:color-mix(in srgb, var(--accent) 82%, white 18%);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 24%, transparent), color-mix(in srgb, var(--danger) 18%, transparent)), color-mix(in srgb, var(--text) 8%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 62%, transparent), 0 0 0 8px color-mix(in srgb, var(--danger) 20%, transparent), 0 0 28px color-mix(in srgb, var(--accent) 38%, transparent);animation:.26s ease-in-out 3 lobbyNameDemandPulse}.lobby-name-clear{width:1.25rem;height:1.25rem;box-shadow:none;color:color-mix(in srgb, var(--muted) 82%, white 8%);font:inherit;cursor:pointer;opacity:.9;background:0 0;border:0;place-items:center;padding:.1rem;font-size:1rem;line-height:1;display:grid;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.lobby-name-clear:hover:not(:disabled),.lobby-name-clear:active:not(:disabled),.lobby-name-clear:focus-visible{box-shadow:none;color:var(--text);opacity:1;transform:translateY(-50%)}.lobby-name-label{color:color-mix(in srgb, var(--accent) 82%, white 18%);letter-spacing:.2em;font-size:.96rem}.lobby-form-panel h2{margin:0;font-size:clamp(1.35rem,.7vw + 1.15rem,1.7rem)}.difficulty-picker{gap:.55rem;display:grid}.difficulty-label{color:color-mix(in srgb, var(--accent-soft) 72%, white 8%);letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:700}.difficulty-options{gap:.5rem;display:flex}.difficulty-option{background:color-mix(in srgb, var(--panel-strong) 72%, transparent);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);color:color-mix(in srgb, var(--muted) 88%, white 12%);letter-spacing:.08em;cursor:pointer;border-radius:10px;flex:1;padding:.55rem .5rem;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.difficulty-option:hover{background:color-mix(in srgb, var(--panel-strong) 88%, var(--text) 7%);border-color:color-mix(in srgb, var(--accent) 55%, var(--border));color:color-mix(in srgb, var(--text) 92%, white 8%)}.difficulty-option.selected{background:color-mix(in srgb, var(--success) 18%, transparent);border-color:color-mix(in srgb, var(--success) 55%, transparent);color:color-mix(in srgb, var(--success) 78%, white 22%)}.home-menu-wrap{z-index:2;align-items:center;gap:.65rem;width:max-content;max-width:none;height:auto;margin:0;padding-right:0;display:flex;position:absolute;top:clamp(1rem,1.6vw,1.4rem);right:clamp(.8rem,1.4vw + .3rem,1.4rem)}.home-menu-wrap .hamburger-menu{min-width:min(240px,100vw - 2rem);top:calc(100% + .55rem)}.menu-compact-status{color:color-mix(in srgb, var(--muted) 88%, white 12%);white-space:nowrap;align-items:baseline;gap:.45rem;padding:.35rem 0;display:inline-flex}.menu-compact-status-label{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}.menu-compact-status strong{color:color-mix(in srgb, var(--text) 92%, white 8%);font-variant-numeric:tabular-nums;font-size:1rem}.theme-picker span{color:var(--accent-soft);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.theme-picker select{border:1px solid var(--border);background:var(--panel-strong);width:100%;color:var(--text);border-radius:10px;padding:.75rem .9rem}.theme-picker select:hover{background:color-mix(in srgb, var(--accent) 60%, var(--panel-strong));color:color-mix(in srgb, var(--bg-deep) 75%, black 25%);border-color:color-mix(in srgb, var(--accent) 74%, white 10%)}.theme-picker select option{background:color-mix(in srgb, var(--panel-strong) 92%, black 8%);color:color-mix(in srgb, var(--text) 94%, white 6%)}.theme-picker select option:checked,.theme-picker select option:hover,.theme-picker select option:focus{background:color-mix(in srgb, var(--accent) 68%, var(--panel-strong));color:color-mix(in srgb, var(--bg-deep) 78%, black 22%)}.hero h1{color:var(--accent);letter-spacing:.06em;margin:.2rem 0 .5rem;font-size:clamp(3rem,9vw,5.5rem);line-height:.95}.eyebrow{color:var(--accent-soft);text-transform:uppercase;letter-spacing:.2em;margin:0;font-size:.8rem}.home-header .home-header-eyebrow{letter-spacing:.28em;color:color-mix(in srgb, var(--muted) 82%, var(--accent) 18%);opacity:.88;font-size:.58rem}.lede,.panel-copy,.status-copy{color:var(--muted);line-height:1.5}.room-topbar{--topbar-theme-bg:none;z-index:10;padding:3.7px var(--topbar-pad-inline);background:color-mix(in srgb, var(--panel-strong) 96%, var(--bg-deep));border:1px solid var(--border);box-shadow:0 14px 32px var(--shadow);border-radius:16px;justify-content:space-between;align-items:center;gap:.6rem;width:100%;margin-bottom:0;margin-left:0;margin-right:0;display:flex;position:relative;overflow:visible}.room-topbar:before,.lobby-theme-header:before{content:"";background-image:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 92%, transparent), color-mix(in srgb, var(--panel) 72%, transparent)), var(--topbar-theme-bg);opacity:.42;pointer-events:none;z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.room-topbar>*,.lobby-theme-header>*{z-index:1;position:relative}.room-topbar-content{width:100%;display:contents}.topbar-bar{width:100%;min-width:0;position:relative}.room-topbar-items{gap:var(--topbar-gap-y) var(--topbar-gap-x);flex-wrap:nowrap;min-width:0;padding-right:4rem;display:flex}.topbar-meta{white-space:nowrap;flex:none;align-items:baseline;gap:.35rem;display:flex}.topbar-label{color:var(--accent-soft);font-size:var(--topbar-label-size);text-transform:uppercase;letter-spacing:.18em}.topbar-meta strong{color:var(--text);font-size:var(--topbar-strong-size);letter-spacing:.08em;text-transform:uppercase}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.15rem;display:grid}.panel,.header-card,.score-card{background:var(--panel);border:1px solid var(--border);box-shadow:0 22px 50px var(--shadow);contain:layout paint;border-radius:20px}.panel{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 78%, white 3%) 0%, var(--panel) 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.35rem;transition:transform .22s,border-color .22s,box-shadow .22s}.panel:hover{border-color:color-mix(in srgb, var(--accent-soft) 40%, var(--border));box-shadow:0 28px 58px color-mix(in srgb, var(--shadow) 86%, transparent);transform:translateY(-2px)}.lobby-form-panel{flex-direction:column;gap:.9rem;min-height:0;display:flex}.lobby-form-panel>button[type=submit],.lobby-form-panel>.field{margin-top:auto}.lobby-form-panel>.field+button[type=submit]{margin-top:0}.lobby-form-panel>.field input{text-align:center;padding:.55rem 1rem}.field{margin:0;display:block}.field span{color:color-mix(in srgb, var(--accent-soft) 72%, white 8%);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem;font-size:.76rem;font-weight:700;display:block}.lobby-rule-toggle{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--panel-strong) 66%, transparent);cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr;align-items:start;gap:.8rem;margin-top:.1rem;padding:.9rem 1rem;display:grid}.lobby-rule-toggle input{width:1.05rem;height:1.05rem;accent-color:var(--success);margin:.15rem 0 0}.lobby-rule-toggle-copy{gap:.22rem;display:grid}.lobby-rule-toggle-label{color:color-mix(in srgb, var(--text) 92%, white 8%);font-size:.92rem;font-weight:700}.lobby-rule-toggle-hint{color:color-mix(in srgb, var(--muted) 90%, white 10%);font-size:.78rem;line-height:1.4}.lobby-advanced-settings{border-top:1px solid color-mix(in srgb, var(--border) 66%, transparent);margin-top:.05rem;padding-top:.45rem}.lobby-advanced-settings summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;list-style:none;display:flex}.lobby-advanced-settings summary::-webkit-details-marker{display:none}.lobby-advanced-settings[open] .summary-chevron{transform:rotate(180deg)}.lobby-advanced-settings .summary-chevron{font-size:2.27813em}.lobby-advanced-settings-body{gap:.75rem;margin-top:.45rem;display:grid}.lobby-advanced-settings .difficulty-picker{gap:.4rem}.lobby-advanced-copy{margin:0;font-size:.88rem;line-height:1.35}.lobby-advanced-settings .difficulty-options{gap:.45rem}.lobby-advanced-settings .lobby-rule-toggle{gap:.7rem;margin-top:0;padding:.7rem .85rem}.lobby-advanced-settings .lobby-rule-toggle-label{font-size:.88rem}.lobby-advanced-settings .lobby-rule-toggle-hint{font-size:.74rem;line-height:1.3}.error-banner{border:1px solid color-mix(in srgb, var(--danger) 68%, white 8%);background:color-mix(in srgb, var(--danger) 16%, white 84%);color:color-mix(in srgb, var(--danger) 88%, black 12%);box-shadow:inset 0 1px 0 #ffffffb8, 0 10px 24px color-mix(in srgb, var(--danger) 16%, transparent);opacity:1;transform-origin:top;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:.75rem;max-height:8rem;margin:1rem;padding:.9rem 1rem;transition:opacity .7s,max-height .7s,margin .7s,padding .7s,border-width .7s,transform .7s;display:flex;overflow:hidden;transform:translateY(0)scaleY(1)}.error-banner p{margin:0}.error-banner.is-closing{opacity:0;border-top-width:0;border-bottom-width:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:translateY(-.3rem)scaleY(.96)}.error-banner-close{color:inherit;font:inherit;cursor:pointer;opacity:.92;background:0 0;border:0;padding:.1rem;font-size:1.1rem;line-height:1}.error-banner-close:hover,.error-banner-close:focus-visible{opacity:1}.kicked-overlay{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;height:100dvh;padding:2rem;display:flex}.kicked-overlay p{color:color-mix(in srgb, var(--text) 82%, white 18%);background:color-mix(in srgb, var(--text) 6%, transparent);border:1px solid color-mix(in srgb, var(--border) 40%, transparent);border-radius:12px;padding:1.2rem 1.8rem;font-size:1.15rem}.kicked-overlay button{background:var(--success);color:color-mix(in srgb, var(--primary-button-text) 92%, white 8%);cursor:pointer;border:none;border-radius:10px;padding:.7rem 1.6rem;font-size:1rem}.kicked-overlay button:hover{background:color-mix(in srgb, var(--success) 88%, black 12%)}@keyframes lobbyNameDemandPulse{0%{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 62%, transparent), 0 0 0 8px color-mix(in srgb, var(--danger) 20%, transparent), 0 0 28px color-mix(in srgb, var(--accent) 38%, transparent);transform:scale(1)}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 78%, white 22%), 0 0 0 12px color-mix(in srgb, var(--danger) 26%, transparent), 0 0 40px color-mix(in srgb, var(--accent) 56%, transparent);transform:scale(1.018)}to{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 62%, transparent), 0 0 0 8px color-mix(in srgb, var(--danger) 20%, transparent), 0 0 28px color-mix(in srgb, var(--accent) 38%, transparent);transform:scale(1)}}.debug-overlay{z-index:70;pointer-events:none;justify-items:end;gap:.55rem;display:grid;position:fixed;bottom:1rem;right:1rem}.debug-overlay>*{pointer-events:auto}.debug-overlay-toggle{background:color-mix(in srgb, var(--bg-deep) 84%, black 16%);border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));min-width:0;color:color-mix(in srgb, var(--text) 88%, white 12%);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 14px 28px color-mix(in srgb, var(--shadow) 88%, transparent);border-radius:12px;padding:.65rem .9rem;font-size:.72rem}.debug-overlay-panel{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));background:color-mix(in srgb, var(--panel-strong) 96%, var(--bg-deep));width:min(22rem,100vw - 2rem);box-shadow:0 18px 36px color-mix(in srgb, var(--shadow) 94%, transparent);border-radius:16px;gap:.8rem;padding:.95rem;display:grid}.debug-overlay-grid{gap:.35rem;display:grid}.debug-overlay-row{border-bottom:1px solid color-mix(in srgb, var(--border) 36%, transparent);color:color-mix(in srgb, var(--muted) 88%, white 12%);justify-content:space-between;gap:.75rem;padding:.35rem 0;font-size:.78rem;display:flex}.debug-overlay-row strong{color:color-mix(in srgb, var(--text) 92%, white 8%);text-align:right}.debug-overlay-section{gap:.35rem;display:grid}.debug-overlay-section h4{color:color-mix(in srgb, var(--accent-soft) 84%, white 16%);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem}.debug-overlay-section p,.debug-overlay-section ul{color:color-mix(in srgb, var(--text) 82%, white 18%);margin:0;font-size:.8rem;line-height:1.35}.debug-overlay-section ul{padding-left:1rem}@media (max-width:640px){.debug-overlay{right:.55rem;bottom:calc(env(safe-area-inset-bottom,0px) + .55rem)}.debug-overlay-panel{width:min(20rem,100vw - 1.1rem);max-height:52vh;overflow:auto}}.lobby-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 96%, var(--accent) 8%) 0%, color-mix(in srgb, var(--panel) 94%, var(--bg-deep)) 100%);border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));width:min(100%,1120px);box-shadow:0 30px 80px color-mix(in srgb, var(--shadow) 90%, transparent), inset 0 1px 0 color-mix(in srgb, var(--text) 12%, transparent);border-radius:26px;gap:1.4rem;margin:0 auto;padding:clamp(1.5rem,1.6vw + 1.15rem,2.2rem);display:grid}.lobby-panel-header{text-align:center;border-radius:20px;justify-items:center;gap:.65rem;display:grid;position:relative;overflow:hidden}.lobby-panel-header .eyebrow{margin:0}.lobby-difficulty-badge{background:color-mix(in srgb, var(--success) 18%, transparent);border:1px solid color-mix(in srgb, var(--success) 40%, transparent);color:color-mix(in srgb, var(--success) 78%, white 22%);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.28rem .85rem;font-size:.72rem;font-weight:700;display:inline-flex}.lobby-rule-badges{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.lobby-rule-badge{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:color-mix(in srgb, var(--accent) 84%, white 16%);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.28rem .85rem;font-size:.72rem;font-weight:700;display:inline-flex}.lobby-rule-badge.is-amish-dice{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 54%, transparent)}.lobby-room-code-wrap{background:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 82%, var(--accent) 10%) 0%, color-mix(in srgb, var(--panel) 92%, var(--bg-deep)) 100%);border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));width:min(100%,30rem);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 10%, transparent), 0 16px 32px color-mix(in srgb, var(--shadow) 70%, transparent);border-radius:22px;justify-items:center;gap:.55rem;padding:1.1rem 1.1rem 1.2rem;display:grid}.lobby-room-meta{color:color-mix(in srgb, var(--muted) 88%, white 12%);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem}.lobby-room-meta strong{color:color-mix(in srgb, var(--success) 82%, white 18%);margin-left:.55rem;font-weight:800}.lobby-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;width:100%;margin:0 auto;padding-top:.2rem;display:grid}.lobby-start-btn{width:100%;min-width:0;padding-inline:2rem}.lobby-cancel-btn{background:color-mix(in srgb, var(--panel-strong) 72%, transparent);border:1px solid color-mix(in srgb, var(--border) 82%, transparent);width:100%;min-width:0;color:color-mix(in srgb, var(--muted) 90%, white 10%);box-shadow:none}.lobby-room-code{border:1px solid color-mix(in srgb, var(--accent) 58%, white 8%);background:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 94%, var(--bg-deep)), color-mix(in srgb, var(--panel) 90%, var(--bg-deep)));text-align:center;width:fit-content;min-width:min(100%,16rem);color:color-mix(in srgb, var(--accent) 80%, var(--accent-strong) 20%);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 0 color-mix(in srgb, var(--bg-deep) 88%, black 12%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 8%, transparent), 0 0 0 1px color-mix(in srgb, var(--bg-deep) 58%, transparent), 0 16px 28px color-mix(in srgb, var(--shadow) 76%, transparent);border-radius:18px;justify-content:center;align-items:center;margin:0 auto;padding:.5rem 1.2rem .65rem;font-size:clamp(3.4rem,2.6vw + 2.8rem,4.8rem);font-weight:800;display:flex}.player-list,.rules{gap:.65rem;display:grid}.lobby-roster{gap:.9rem;display:grid}.lobby-panel .player-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.player-row,.rule-row{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:14px;justify-content:space-between;gap:1rem;padding:.85rem 1rem;display:flex}.lobby-panel .player-row{text-align:left;background:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 88%, var(--accent) 8%), color-mix(in srgb, var(--panel) 92%, var(--bg-deep)));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));min-width:0;min-height:7.2rem;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 8%, transparent);border-radius:18px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.45rem;padding:1rem 1rem .95rem}.lobby-seat-card.is-open{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 74%, var(--bg-deep)), color-mix(in srgb, var(--panel-strong) 64%, var(--bg-deep)));border-style:dashed;border-color:color-mix(in srgb, var(--border) 82%, transparent)}.lobby-seat-name{color:color-mix(in srgb, var(--text) 90%, white 10%);font-size:1.08rem;font-weight:800}.lobby-seat-card.is-open .lobby-seat-name{color:color-mix(in srgb, var(--muted) 82%, white 18%)}.lobby-seat-role{background:color-mix(in srgb, var(--bg-deep) 46%, transparent);min-height:1.9rem;color:color-mix(in srgb, var(--muted) 88%, white 12%);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.lobby-seat-role.is-host{background:color-mix(in srgb, var(--success) 20%, transparent);color:color-mix(in srgb, var(--success) 72%, white 28%)}.lobby-add-bot-btn{white-space:nowrap;border:1px solid color-mix(in srgb, var(--accent) 42%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent);min-height:1.9rem;color:color-mix(in srgb, var(--accent) 82%, white 18%);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.72rem;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.lobby-add-bot-btn:hover{background:color-mix(in srgb, var(--accent) 24%, transparent);border-color:color-mix(in srgb, var(--accent) 62%, transparent)}.scoreboard-panel{flex-direction:column;flex:auto;align-self:stretch;min-width:0;height:100%;min-height:100%;display:flex}.scoreboard-summary{display:none}.summary-chevron{justify-content:center;align-items:center;font-size:1.0125em;line-height:1;transition:transform .18s;display:inline-flex}.scoreboard-rail{box-sizing:border-box;background:color-mix(in srgb, var(--panel-strong) 78%, transparent);border:1px solid color-mix(in srgb, var(--border) 82%, transparent);width:100%;height:100%;min-height:clamp(25rem,48vh,31rem);box-shadow:0 14px 28px color-mix(in srgb, var(--shadow) 62%, transparent);border-radius:18px;flex:1;grid-template-rows:auto 1fr;gap:7px;padding:8px .75rem;display:grid}.scoreboard-heading{justify-content:space-between;align-items:end;gap:.85rem;display:flex}.scoreboard-heading h2{font-family:var(--theme-font-display);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:1.05rem}.scoreboard-list{align-content:start;gap:18px;display:grid}.score-row-wrap{min-width:0}.score-row{background:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 80%, white 3%) 0%, var(--panel) 100%);border:1px solid color-mix(in srgb, var(--border) 82%, transparent);width:100%;box-shadow:0 10px 18px color-mix(in srgb, var(--shadow) 46%, transparent);border-radius:16px;padding:.48rem .62rem 3.04px}.score-row-trigger{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.score-row-main{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.52rem;display:grid}.score-row-copy{gap:.22rem;min-width:0;display:grid}.score-row-meta{justify-content:space-between;align-items:baseline;gap:.55rem;display:flex}.score-row-detail{color:color-mix(in srgb, var(--muted) 86%, white 14%);margin:.12rem 0 0;font-size:.78rem;line-height:1.35}.score-row-badges{flex-wrap:wrap;gap:.32rem;display:flex}.score-avatar{border:2px solid color-mix(in srgb, var(--accent) 42%, var(--border));background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--accent-strong) 34%, transparent), transparent 48%), linear-gradient(180deg, color-mix(in srgb, var(--surface) 72%, white 8%), color-mix(in srgb, var(--panel-strong) 88%, var(--bg-deep)));width:2.95rem;height:2.95rem;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 14%, transparent), 0 8px 18px color-mix(in srgb, var(--shadow) 54%, transparent);border-radius:999px;place-items:center;margin:0;display:grid;overflow:hidden}.score-avatar-sprite{opacity:.92;filter:saturate(.72)brightness(.86);background-position:50%;background-repeat:no-repeat;width:100%;height:100%;transform:scale(1.02)}.score-avatar-sprite.is-winner{filter:none;transform:scale(1.06)}.score-avatar .score-avatar-fallback{color:color-mix(in srgb, var(--text) 80%, white 20%);font-family:var(--theme-font-display);letter-spacing:-.08em;text-transform:uppercase;font-size:32px;font-weight:900;line-height:.68;transform:translateY(-.1rem)}.score-row.active .score-avatar{border-color:color-mix(in srgb, var(--accent-strong) 66%, white 12%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 14%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), 0 10px 20px color-mix(in srgb, var(--shadow) 58%, transparent)}.score-row.winner .score-avatar{background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--accent-strong) 42%, transparent), transparent 48%), linear-gradient(180deg, color-mix(in srgb, var(--accent) 28%, var(--surface) 60%), color-mix(in srgb, var(--panel-strong) 88%, var(--bg-deep)))}.score-row strong{font-family:var(--theme-font-display);color:color-mix(in srgb, var(--text) 86%, white 14%);font-size:1.54rem}.score-row.active{border-color:color-mix(in srgb, var(--accent) 42%, white 10%);background:color-mix(in srgb, var(--panel-strong) 82%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent)}.score-row.expanded{padding-bottom:.72rem}.score-row.winner{background:color-mix(in srgb, var(--panel-strong) 76%, var(--accent) 8%)}.score-row.placeholder{opacity:.62;border-style:dashed}.score-name{max-width:none;min-height:0;color:color-mix(in srgb, var(--text) 92%, white 6%);font-family:var(--theme-font-display);text-transform:uppercase;letter-spacing:.08em;white-space:normal;overflow-wrap:anywhere;text-align:left;margin:0;font-size:.72rem;line-height:1.05}.score-name-row{justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.score-bust-indicator{font-family:var(--theme-font-display);letter-spacing:.14em;color:#c53030;white-space:nowrap;text-shadow:0 0 6px #c5303066;flex-shrink:0;font-size:2.2rem;font-weight:900;line-height:0;transform:translateY(.35em)}.score-row.bust-warning{border-color:#c530308c;box-shadow:0 0 0 1px #c530302e}.score-row.is-bust-event{border-color:color-mix(in srgb, #c53030 72%, var(--accent) 28%);animation:.82s ease-out both bustCardFlash;box-shadow:0 0 0 1px #c530303d,0 0 28px #c5303029}.score-row.is-bust-reset{border-color:color-mix(in srgb, #e53e3e 78%, var(--accent-strong) 22%);box-shadow:0 0 0 1px #e53e3e4d,0 0 36px #e53e3e38}.score-row.is-bust-event .score-bust-indicator{text-shadow:var(--bust-text-shadow), 0 0 12px #c530306b;transform:translateY(.35em)scale(1.08)}.score-bust-indicator.eliminated{color:#e53e3e;text-transform:uppercase;letter-spacing:.12em;text-shadow:0 0 8px #e53e3e80;font-size:.76rem;font-weight:900}.score-badge{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--bg-deep) 26%, transparent);color:color-mix(in srgb, var(--text) 78%, white 22%);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.18rem .42rem;font-size:.58rem;font-weight:800;line-height:1;display:inline-flex}.score-badge.turn{border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:color-mix(in srgb, var(--accent-soft) 82%, white 18%)}.score-badge.leader{border-color:color-mix(in srgb, var(--success) 45%, transparent);color:color-mix(in srgb, var(--success) 86%, white 14%)}.score-badge.bot,.score-badge.waiting{color:color-mix(in srgb, var(--muted) 82%, white 18%)}.score-badge.open{border-color:color-mix(in srgb, var(--warning) 42%, transparent);color:color-mix(in srgb, var(--warning) 86%, white 14%)}.progress-bar-wrap{background:color-mix(in srgb, var(--bg-deep) 18%, transparent);opacity:.5;border-radius:999px;width:100%;max-width:none;height:6px;margin-top:.22rem;margin-bottom:.48rem;display:block;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--success), var(--accent));border-radius:999px;height:100%;transition:width .3s}.status-badge{background:color-mix(in srgb, var(--accent) 24%, transparent);border:1px solid color-mix(in srgb, var(--accent) 48%, transparent);color:var(--accent-strong);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:.28rem .7rem;font-size:.68rem;font-weight:800;display:inline-flex}.score-row-meta span{color:color-mix(in srgb, var(--muted) 88%, transparent);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.main-layout{gap:calc(var(--section-gap) + 20px);grid-template-columns:minmax(0,1.58fr) minmax(280px,.72fr);align-items:stretch;display:grid}.main-left{gap:var(--section-gap);min-width:0;display:grid}.main-left>*{margin:0}.main-right{align-self:stretch;min-width:0;height:auto;display:flex;position:relative}.room-utilities{grid-template-columns:minmax(0,1fr);align-items:start;gap:.65rem;margin-top:8px;display:grid}.play-area,.log-area,.scoring-ref{background:color-mix(in srgb, var(--panel-strong) 70%, transparent);border:2px solid var(--surface);contain:layout paint;border-radius:14px}.play-area{--play-area-theme-bg:none;min-height:var(--play-area-height);grid-template-rows:auto auto auto 1fr;align-self:start;display:grid;overflow:hidden}.play-area:before{content:"";background-image:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 76%, transparent), color-mix(in srgb, var(--panel) 36%, transparent)), var(--play-area-theme-bg);opacity:.24;pointer-events:none;z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.play-area>*{z-index:1;position:relative}.play-area-body{flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:19px;min-height:0;padding:15px .9rem .55rem;display:flex}.play-hero{border-bottom:1px solid color-mix(in srgb, var(--surface) 70%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.52rem .9rem 25px;display:grid}.play-hero-identity{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:.75rem;display:grid}.play-hero-identity .score-avatar{width:4rem;height:4rem;transform:translateY(.4rem)}.play-hero-copy{gap:.14rem;display:grid}.play-hero-eyebrow,.play-hero-meta{margin:0}.play-hero-eyebrow{color:var(--accent-soft);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700}.play-hero-heading{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.play-hero-heading h2{font-family:var(--theme-font-display);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:clamp(1.75rem,2.2vw,2.45rem)}.play-hero-meta{color:var(--muted);font-size:.84rem}.play-hero-score{align-self:end;justify-items:end;gap:.1rem;display:grid;transform:translateY(.38rem)}.play-hero-score-label{color:var(--accent-soft);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;font-weight:700}.play-hero-score strong{font-family:var(--theme-font-display);color:color-mix(in srgb, var(--text) 90%, white 10%);font-size:clamp(1.95rem,2.5vw,2.75rem)}.play-topbar{border-bottom:1px solid color-mix(in srgb, var(--surface) 70%, transparent);display:flex}.sb-cell{text-align:center;background:color-mix(in srgb, var(--bg-deep) 30%, transparent);flex:1;padding:.33rem .5rem .26rem;transition:background-color .18s,box-shadow .18s}.sb-cell+.sb-cell{border-left:1px solid color-mix(in srgb, var(--surface) 70%, transparent)}.sb-label{color:var(--accent-soft);letter-spacing:.14em;text-transform:uppercase;opacity:.8;font-size:.58rem}.sb-value{color:color-mix(in srgb, var(--text) 86%, white 14%);margin-top:.02rem;font-size:1.38rem;font-weight:800}.sb-value.adding{color:var(--accent-strong)}.turn-cell.is-live{background:color-mix(in srgb, var(--accent) 9%, var(--bg-deep) 32%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent)}.turn-cell.is-live .sb-value{color:color-mix(in srgb, var(--accent-strong) 92%, white 8%);animation:1.2s ease-in-out infinite alternate scoreboardPulse}.sb-cell.is-bankable .sb-value.total{color:color-mix(in srgb, var(--success) 84%, white 16%)}.play-feedback{border-bottom:1px solid color-mix(in srgb, var(--surface) 45%, transparent);background:color-mix(in srgb, var(--bg-deep) 28%, transparent);padding:14px .9rem 9px}.play-feedback.result{background:color-mix(in srgb, var(--success) 10%, var(--bg-deep) 32%)}.play-feedback.risk{background:color-mix(in srgb, var(--warning) 12%, var(--bg-deep) 32%)}.play-feedback.warning{background:color-mix(in srgb, #a3382d 18%, var(--bg-deep) 34%)}.play-feedback.is-bust-event{background:linear-gradient(90deg, #a3382d2e, transparent 36%), color-mix(in srgb, #a3382d 20%, var(--bg-deep) 34%);box-shadow:inset 0 -1px #c530302e}.play-feedback p{color:color-mix(in srgb, var(--text) 86%, white 14%);margin:0;font-size:.88rem;line-height:1.28}.dice-tray{border:1px solid color-mix(in srgb, var(--surface) 45%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-deep) 18%, transparent), color-mix(in srgb, var(--bg-deep) 32%, transparent)), color-mix(in srgb, var(--bg-deep) 28%, transparent);border-radius:18px;gap:.3rem;padding:.8rem .7rem .7rem;display:grid;position:relative;box-shadow:inset 0 1px #ffffff1a,inset 0 -18px 28px #0000001a}.dice-tray.is-bust-event{border-color:color-mix(in srgb, #c53030 62%, var(--surface) 38%);animation:.85s cubic-bezier(.2,.8,.24,1) both bustTrayImpact;box-shadow:0 0 0 1px #c530302e,inset 0 1px #ffffff1a,inset 0 -20px 32px #3b030338}.dice-tray.is-bust-reset{border-color:color-mix(in srgb, #e53e3e 72%, var(--accent-strong) 28%)}.bust-event-overlay{pointer-events:none;z-index:3;place-items:center;padding:.8rem;display:grid;position:absolute;inset:0}.bust-event-overlay:before{content:"";background:radial-gradient(circle at center, #c530302e, transparent 68%), color-mix(in srgb, var(--bg-deep) 22%, transparent);opacity:0;animation:.8s ease-out both bustBackdropFlash;position:absolute;inset:0}.bust-event-notification-asset,.bust-event-stamp-asset{-o-object-fit:contain;object-fit:contain;max-width:100%;height:auto;display:block}.bust-event-card{text-align:center;justify-items:center;gap:.35rem;width:min(100%,26rem);padding:.7rem 1rem;animation:.8s cubic-bezier(.18,.82,.2,1) both bustOverlayPop;display:grid;position:relative}.bust-event-overlay.has-notification-asset .bust-event-card{align-content:center;width:min(100%,30rem);min-height:11.5rem;padding:1.8rem 2rem 1.5rem}.bust-event-notification-asset{filter:drop-shadow(0 20px 30px #00000042);width:min(92%,30rem);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.bust-event-stamp-asset{filter:drop-shadow(0 10px 22px #44000061);width:min(82%,18rem)}.bust-event-title{color:#fff4ef;min-width:11rem;min-height:3.8rem;font-family:var(--theme-font-display);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(#e24a4a,#880b0b);border:3px solid #cb4040;border-radius:14px;justify-content:center;align-items:center;padding:.3rem 1.2rem;font-size:clamp(1.8rem,2.4vw,2.45rem);font-weight:900;line-height:1;display:inline-flex;box-shadow:0 12px 26px #4006,inset 0 1px #ffffff47}.bust-event-card.is-reset .bust-event-title{border-color:color-mix(in srgb, var(--accent-strong) 26%, #c53030 74%)}.bust-event-subtitle{max-width:min(100%,24rem);color:color-mix(in srgb, white 90%, var(--text) 10%);letter-spacing:.06em;text-shadow:0 2px 10px #0000005c;margin:0;font-size:.84rem;font-weight:700;line-height:1.28}.dice-tray.is-bust-event .dice-row{filter:saturate(.74)brightness(.9)}.dice-tray.is-bust-event .die,.dice-tray.is-bust-event .die.selected,.dice-tray.is-bust-event .die.is-kept,.dice-tray.is-bust-event .die.dim{transform:translateY(7%)scale(.96);box-shadow:0 10px 16px #00000038,inset 0 1px #ffffff24}.dice-row{flex-wrap:nowrap;justify-content:center;gap:.5rem;width:100%;min-width:0;margin-bottom:0;display:flex}.unified-dice-row{align-items:center}.die{flex:0 0 var(--die-size);width:var(--die-size);height:var(--die-size);background:var(--die-bg);color:var(--die-pip);border:3px solid var(--die-border);box-shadow:var(--die-shadow);contain:layout paint;border-radius:14px;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s,background-color .15s,color .15s,filter .15s}.die:hover:not(:disabled):not(.rolling){box-shadow:var(--die-hover-shadow);transform:translateY(-4px)}.die.selected{background:var(--die-selected-bg);color:var(--die-selected-pip);border-color:var(--die-selected-border);box-shadow:0 0 0 3px color-mix(in srgb, var(--die-selected-ring) 36%, transparent), var(--die-selected-shadow);transform:translateY(calc(-1 * var(--die-selected-lift)))}.die.dim{background:var(--die-out-of-play-bg);color:var(--die-out-of-play-pip);border-color:var(--die-out-of-play-border);filter:saturate(.72);box-shadow:0 5px 12px #0000003d,inset 0 1px #ffffff1f}.die.is-kept{background:var(--die-kept-bg);color:var(--die-kept-pip);border-color:var(--die-kept-border);transform:scale(.94);box-shadow:0 8px 18px #0000002e,inset 0 1px #fff3,inset 0 -10px 16px #00000024}.die.is-kept .pip{opacity:.9}.die-face{width:100%;height:100%;display:block;position:relative}.pip{width:10px;height:10px;box-shadow:inset 0 1px 1px color-mix(in srgb, var(--die-highlight) 28%, transparent);background:currentColor;border-radius:50%;position:absolute}.pip.top-left{top:14px;left:14px}.pip.top-right{top:14px;right:14px}.pip.mid-left{top:50%;left:14px;transform:translateY(-50%)}.pip.mid-right{top:50%;right:14px;transform:translateY(-50%)}.pip.center{top:50%;left:50%;transform:translate(-50%,-50%)}.pip.bottom-left{bottom:14px;left:14px}.pip.bottom-right{bottom:14px;right:14px}.die.rolling{will-change:transform;animation:.5s ease-in-out shake}@keyframes shake{0%{transform:rotate(0)scale(1)}10%{transform:rotate(-15deg)scale(1.1)}20%{transform:rotate(15deg)scale(1.1)}30%{transform:rotate(-12deg)scale(1.05)}40%{transform:rotate(12deg)scale(1.05)}50%{transform:rotate(-8deg)scale(1.02)}60%{transform:rotate(8deg)scale(1.02)}70%{transform:rotate(-4deg)scale(1.01)}80%{transform:rotate(4deg)scale(1.01)}to{transform:rotate(0)scale(1)}}@keyframes scoreboardPulse{0%{text-shadow:none;transform:translateY(0)}to{text-shadow:0 0 10px color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-1px)}}@keyframes bustBackdropFlash{0%{opacity:0}18%{opacity:1}to{opacity:.78}}@keyframes bustOverlayPop{0%{opacity:0;transform:translateY(.9rem)scale(.88)rotate(-5deg)}42%{opacity:1;transform:translateY(-.15rem)scale(1.04)rotate(1deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes bustTrayImpact{0%{transform:translateY(0)scale(1)}18%{transform:translateY(.18rem)scale(.985)}38%{transform:translateY(-.08rem)scale(1.01)}to{transform:translateY(0)scale(1)}}@keyframes bustCardFlash{0%{transform:translateY(0)}24%{transform:translateY(-.16rem)}to{transform:translateY(0)}}.controls{flex-wrap:nowrap;justify-content:center;gap:.45rem;width:fit-content;max-width:100%;margin:0 auto;display:flex}.controls-wrap{justify-items:center;gap:11px;margin-top:11px;display:grid}.controls-caption{color:color-mix(in srgb, var(--muted) 72%, white 8%);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.action-btn{text-transform:uppercase;letter-spacing:.08em;min-width:158px;box-shadow:var(--action-btn-shadow);contain:layout paint;border-radius:10px;padding:.8rem 1.35rem}.roll-btn{background:var(--primary-button-bg);color:var(--primary-button-text)}.bank-btn{background:var(--secondary-button-bg);color:var(--secondary-button-text)}.utility-panel,.log-area,.scoring-ref{padding:.72rem .9rem}.utility-panel{background:color-mix(in srgb, var(--panel-strong) 74%, transparent);border:1px solid color-mix(in srgb, var(--border) 72%, transparent);box-shadow:0 14px 28px color-mix(in srgb, var(--shadow) 68%, transparent);border-radius:16px}.utility-summary{cursor:pointer;color:color-mix(in srgb, var(--text) 88%, white 12%);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;font-weight:700;list-style:none;display:flex}.utility-summary::-webkit-details-marker{display:none}.utility-panel[open] .summary-chevron,.scoreboard-panel[open] .summary-chevron{transform:rotate(180deg)}.utility-panel[open] .utility-summary{margin-bottom:.55rem}.log-area:not([open]),.log-area.is-empty:not([open]){min-height:0;padding-top:9px;padding-bottom:9px}.info-drawer{box-sizing:border-box;z-index:60;pointer-events:none;justify-content:center;align-items:flex-end;width:100vw;height:100vh;padding-inline:.65rem;display:flex;position:fixed;inset:0}.info-drawer.open{pointer-events:auto}.info-side-panel{pointer-events:auto;margin-bottom:0;border:1px solid var(--border);background-color:var(--panel-strong);background-image:linear-gradient(180deg, color-mix(in srgb, var(--panel-strong) 92%, white 3%) 0%, var(--panel) 100%);width:min(100%,42rem);min-height:0;max-height:min(72vh,680px);box-shadow:0 24px 48px var(--shadow);isolation:isolate;z-index:1;opacity:0;visibility:hidden;will-change:transform, opacity;border-radius:22px 22px 0 0;margin-inline:auto;padding:1rem;transition:transform .22s,opacity .18s,visibility .18s;position:relative;inset:auto;overflow-y:auto;transform:translateY(calc(100% + 4rem))}.info-side-panel.open{opacity:1;visibility:visible;transform:translateY(0)}.info-side-panel-toolbar{z-index:2;background:0 0;justify-content:center;margin-bottom:0;padding-bottom:0;display:flex;position:sticky;top:0}.info-side-panel-close{border:1px solid color-mix(in srgb, var(--surface) 70%, transparent);z-index:1;background:0 0;border-radius:999px;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:.85rem;padding:0;font-size:1rem;line-height:1;transition:background-color .18s,border-color .18s;display:grid;position:relative}.info-side-panel-close.scrolled{background:color-mix(in srgb, var(--panel-strong) 94%, var(--bg-deep))}.info-side-panel-body{gap:1rem;display:grid}.info-side-panel-section{gap:.75rem;display:grid}.info-copy{color:var(--muted);gap:.65rem;line-height:1.45;display:grid}.info-copy p{margin:0}.log-area h3,.scoring-ref h3{color:var(--accent-soft);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .8rem;font-size:.9rem}.log-entries{gap:.35rem;display:grid}.log-empty{color:color-mix(in srgb, var(--muted) 84%, white 16%);font-size:.9rem;line-height:1.45}.log-toggle{color:color-mix(in srgb, var(--accent-soft) 90%, white 10%);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;margin-top:.7rem;padding:0;font-size:.76rem;font-weight:700}.log-entry{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);color:color-mix(in srgb, var(--text) 82%, white 18%);padding:.35rem 0;line-height:1.4}.log-entry:last-child{border-bottom:none}.rules{gap:.15rem;display:grid}.rule-row{color:color-mix(in srgb, var(--text) 78%, white 22%);background:0 0;border-radius:0;padding:.15rem 0}.rule-row strong{color:var(--accent-strong)}@media (max-width:980px){.hero,.panel-grid{grid-template-columns:1fr;display:grid}.lobby-panel .player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-menu-wrap{left:auto;right:clamp(.8rem,1.4vw + .3rem,1.4rem)}}@media (max-width:1040px){:root{--score-card-width:156px;--score-card-min:156px;--die-size:64px}.game-stage-viewport{overflow-x:visible}.room-topbar{padding-block:.55rem}.room-topbar-items{flex-wrap:wrap}.main-layout{grid-template-columns:minmax(0,1fr)}.main-right,.room-utilities{position:static}.room-utilities{grid-template-columns:minmax(0,1fr)}.scoreboard-rail{min-height:0;padding:.9rem}.dice-row{gap:.7rem}}@media (max-width:920px){:root{--score-card-min:220px;--play-area-height:300px;--die-size:66px;--bust-pill-width:clamp(64px, 64cqi, 100px);--bust-pill-height:clamp(30px, 24cqi, 46px);--bust-pill-transform:translate(-50%, -50%)}.room-shell{padding-bottom:5.25rem}.room-topbar{padding-block:.8rem}.topbar-bar,.room-topbar-items{min-width:0}.topbar-meta{white-space:normal;flex-wrap:wrap}.topbar-meta strong{overflow-wrap:anywhere}.hamburger-menu{min-width:220px}.scoreboard-summary{cursor:pointer;border:1px solid color-mix(in srgb, var(--border) 78%, transparent);background:color-mix(in srgb, var(--panel-strong) 78%, transparent);color:color-mix(in srgb, var(--text) 88%, white 12%);letter-spacing:.12em;text-transform:uppercase;border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;padding:.8rem .9rem;font-size:.78rem;font-weight:800;list-style:none;display:flex}.scoreboard-summary::-webkit-details-marker{display:none}.scoreboard-panel:not([open]) .scoreboard-rail{display:none}.scoreboard-list{grid-template-columns:repeat(2,minmax(0,1fr))}.play-area-body{padding-inline:1rem}.controls{flex-wrap:wrap}.action-btn{flex:180px;min-width:180px}.info-drawer{padding-inline:.65rem}.info-side-panel{border-radius:22px 22px 0 0;width:min(100%,42rem);min-height:0;max-height:min(72vh,680px);margin-bottom:0;position:relative;inset:auto;transform:translateY(calc(100% + 4rem))}.info-side-panel.open{transform:translateY(0)}}@media (max-width:640px){.lobby-actions{grid-template-columns:1fr}.lobby-start-btn,.lobby-cancel-btn{width:min(100%,28rem)}:root{--die-size:78px;--play-area-height:auto;--score-card-min:100%;--bust-pill-width:clamp(58px, 58cqi, 88px);--bust-pill-height:clamp(28px, 22cqi, 40px);--bust-pill-transform:translate(-50%, -50%)}.room-shell{padding-top:.6rem}.room-topbar{border-radius:14px;padding:.6rem .75rem;position:sticky;top:.4rem}.lobby-panel{padding:1.25rem 1rem 1.35rem}.lobby-panel .player-list{grid-template-columns:1fr}.lobby-room-code{width:100%;min-width:0;font-size:clamp(2.8rem,10vw,4rem)}.room-topbar{margin-bottom:0}.topbar-label{letter-spacing:.14em;font-size:.58rem}.topbar-meta strong{font-size:.86rem}.hamburger-menu{min-width:min(240px,100vw - 1rem);top:48px;right:-.1rem}.hamburger-btn{justify-items:end}.topbar-meta-group{gap:.25rem .7rem}.topbar-player,.topbar-turn .topbar-label,.topbar-stat-connected .topbar-label{display:none}.topbar-turn .topbar-meta,.topbar-stats .topbar-meta{gap:.3rem}.topbar-turn{font-size:.82rem}.topbar-stats{gap:.2rem .75rem}.room-utilities{gap:.75rem}.utility-summary{padding:.75rem .85rem;font-size:.74rem}.play-hero{grid-template-columns:minmax(0,1fr) auto;align-items:start}.play-hero-identity{grid-template-columns:1fr}.play-hero-identity .score-avatar{width:3.4rem;height:3.4rem}.play-hero-score{align-self:start;justify-items:end;transform:none}.scoreboard-list{grid-template-columns:1fr}.score-row{padding:.7rem}.score-row-main{grid-template-columns:auto minmax(0,1fr)}.score-name{text-align:left}.play-topbar{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sb-cell{padding-inline:.35rem}.sb-label{font-size:.62rem}.sb-value{font-size:1.1rem}.play-area-body{padding:.9rem 7px 1rem}.dice-tray{padding-inline:.45rem;width:92%;margin-inline:auto;padding-top:.6rem;padding-bottom:.6rem}.dice-row{grid-template-columns:repeat(3, minmax(0, var(--die-size)));justify-content:center;gap:.7rem;display:grid}.die.selected{transform:translateY(calc(-1 * var(--die-selected-lift-mobile)))}.controls-wrap{justify-items:stretch;width:100%}.controls-caption{text-align:center}.controls{bottom:calc(env(safe-area-inset-bottom,0px) + .35rem);width:86%;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:1fr;gap:.65rem;margin-inline:auto;padding:0;display:grid;position:sticky}.action-btn{width:100%;min-width:0;min-height:60px;padding-top:0;padding-bottom:0}.log-area{padding:.85rem .8rem}.info-drawer{min-width:0;padding-inline:.45rem}.info-side-panel{border-radius:20px 20px 0 0;width:min(100%,42rem);max-height:min(64vh,640px);padding:.9rem;position:relative;inset:auto}}.home-header-copy,.room-topbar-content,.topbar-bar,.score-row,.scoreboard-rail,.play-area,.log-area,.panel,.action-btn{background-image:none!important}.action-btn-label{justify-content:center;align-items:center;width:100%;display:inline-flex}@media (max-width:980px){.home-header{padding:.85rem 1rem}.home-header-copy{max-width:none}}@media (max-width:640px){.home-header{border-radius:16px 0 16px 16px;margin-bottom:.85rem;padding:.75rem .9rem}.home-header-copy h1{font-size:clamp(1.6rem,10vw,2.2rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.die:hover:not(:disabled):not(.rolling),.hamburger-btn.open span:first-child,.hamburger-btn.open span:nth-child(3),.hamburger-menu,.hamburger-menu.open{transform:none!important}.dice-tray.is-bust-event,.bust-event-card,.bust-event-overlay:before,.score-row.is-bust-event{animation:none!important}.bust-event-overlay:before{opacity:.78}}@media (prefers-reduced-motion:reduce),(pointer:coarse),(update:slow){:root{--die-shadow:0 3px 6px #00000052, inset 0 1px 1px var(--die-highlight);--die-hover-shadow:0 5px 10px #0000005c;--die-selected-shadow:0 0 10px #ffd70038, 0 3px 6px #00000057;--action-btn-shadow:0 2px 8px #00000038;--bust-text-shadow:0 1px 1px #60000038}.die:hover:not(:disabled):not(.rolling){transform:none}}.topbar-bar{-moz-column-gap:.9rem;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"left stats menu";align-items:center;gap:.22rem .9rem;display:grid}.topbar-left{grid-area:left;justify-content:flex-start;align-items:center;min-width:0;display:flex}.topbar-meta-group{flex-wrap:wrap;gap:.18rem .75rem;min-width:0;display:flex}.topbar-player{min-width:0}.topbar-player strong{overflow-wrap:anywhere}.topbar-role{letter-spacing:.1em;color:color-mix(in srgb, var(--muted) 88%, white 12%);margin-left:.35rem;font-size:.74em;font-weight:600}.topbar-stats{flex-wrap:nowrap;grid-area:stats;justify-content:flex-end;align-items:center;gap:.25rem .9rem;min-width:0;padding-right:0;display:flex}.topbar-stats .topbar-meta{justify-content:flex-end}.topbar-stat-connected strong{font-variant-numeric:tabular-nums}.topbar-bar>.menu-wrap{z-index:30;grid-area:menu;justify-self:end;height:auto;padding-right:0;display:block;position:static}@media (max-width:920px){.topbar-bar{grid-template-columns:1fr auto;grid-template-areas:"left menu""stats stats";row-gap:.47rem}.topbar-left{grid-area:left}.topbar-bar>.menu-wrap{grid-area:menu}.topbar-stats{flex-wrap:wrap;grid-area:stats;justify-content:flex-start;padding-right:0}.topbar-stats .topbar-meta{justify-content:flex-start}}@media (max-width:640px){.topbar-bar{-moz-column-gap:.75rem;grid-template-columns:1fr auto;column-gap:.75rem}.topbar-left,.topbar-stats{min-width:0}.topbar-player{flex-wrap:wrap}.topbar-stats{grid-template-columns:minmax(0, 1fr) var(--menu-btn-size);align-items:start;gap:.45rem .8rem;width:100%;display:grid}.topbar-stat-leader{min-width:0}.topbar-stat-connected{text-align:right;justify-content:flex-end;justify-self:end;margin-left:0}}
