[hidden]{display:none!important}:root{--bg:#f4f6f8;--surface:#fff;--surface-soft:#f8fafc;--card:#fff;--text:#18212f;--border:#d8dee8;--border-strong:#748094;--muted:#637083;--accent:#2563eb;--accent-strong:#1d4ed8;--hardcore:#c2410c;--hardcore-soft:#fff1e8;--hardcore-border:#fdba74;--median:#7c3aed;--success:#0f8a5f;--success-soft:#e8f7ef;--warning:#b66a00;--warning-soft:#fff4df;--danger:#b42318;--danger-soft:#fff0ee;--info-soft:#e9f2ff;--info-border:#c8d9ff;--table-head:#edf2f8;--warning-border:#f2c16d;--header-bg:rgba(244,246,248,.92);--header-border:rgba(216,222,232,.9);--shadow-sm:0 1px 2px rgba(15,23,42,.05);--shadow-md:0 12px 32px rgba(15,23,42,.08);--radius:8px;--radius-sm:6px;--radius-card:12px;--col-desc: 96px;--col-score: 44px;--table-radius: 10px;--card-w: calc(var(--col-desc) + 4 * var(--col-score) + 22px);--cards-gap: 16px;--mobile-grid-row-h: 1.74rem;--mobile-chatbar-h: 3.1rem;--mobile-actionbar-h: 6.85rem;--mobile-action-gap: .45rem;--mobile-suggestionsbar-h: 1.35rem;--mobile-reactionbar-w: 3.35rem;--mobile-safe-left: max(.5rem, env(safe-area-inset-left, 0px));--desktop-shell-max: 430px;--desktop-two-board-shell-max: 900px;--desktop-three-board-shell-max: 1320px;--desktop-actionbar-h: 6.75rem;--desktop-chatbar-h: 3.1rem}:root[data-theme=dark]{--bg:#0b1120;--surface:#111827;--surface-soft:#182235;--card:#111827;--text:#f3f4f6;--border:#334155;--border-strong:#64748b;--muted:#aeb9ca;--accent:#60a5fa;--accent-strong:#3b82f6;--hardcore:#fb923c;--hardcore-soft:#3b2115;--hardcore-border:#9a4b20;--median:#a78bfa;--success:#34d399;--success-soft:#102f29;--warning:#fbbf24;--warning-soft:#332711;--danger:#fca5a5;--danger-soft:#35191d;--info-soft:#172b4d;--info-border:#315a91;--table-head:#1e293b;--warning-border:#8f6818;--header-bg:rgba(11,17,32,.92);--header-border:rgba(51,65,85,.92);--shadow-sm:0 1px 2px rgba(0,0,0,.28);--shadow-md:0 12px 32px rgba(0,0,0,.32)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;overflow-x:hidden}body{min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.lobby-page,.rules-page{overflow-y:auto;overscroll-behavior-y:auto}h1,h2,h3,h4{color:var(--text);letter-spacing:0}h1{font-size:clamp(1.55rem,2.4vw,2.15rem);line-height:1.05}h2{margin:.5rem 0 .75rem;font-size:1.08rem}h3{font-size:1rem}h4{font-size:.98rem}a{color:var(--accent)}.language-switcher select{min-height:2rem;padding:.3rem 1.65rem .3rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap;font-weight:750}.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;font-size:1.2rem;line-height:1}.theme-toggle[aria-pressed=true]{border-color:var(--accent);background:var(--info-soft);color:var(--text)}.theme-toggle-compact{width:2.25rem;min-width:2.25rem;padding:.35rem}.rank-legend-trigger{width:2.25rem;min-width:2.25rem;padding:.35rem;font-size:1rem}.view-status{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;background:var(--info-soft)}#scoreOut{width:auto;max-width:none;margin:0 auto 1rem;padding:0 1rem}.chat-panel{width:auto;max-width:none;margin:0 auto 1.2rem;padding:0 1rem}button{cursor:pointer;min-height:2.35rem;font-size:1rem;padding:.52rem .78rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .06s ease;touch-action:manipulation;user-select:none;-webkit-user-select:none}button:hover{background:var(--surface-soft);border-color:#c5cfdd}button:active{transform:translateY(1px)}button.primary,button.joinBtn,button.resumeBtn,#createBtn{border-color:var(--accent);background:var(--accent);color:#fff}button.primary:hover,button.joinBtn:hover,button.resumeBtn:hover,#createBtn:hover{border-color:var(--accent-strong);background:var(--accent-strong)}button.secondary,button.spectateBtn,#refreshBtn,#refreshRunningBtn{background:#eef4ff;border-color:#c8d9ff;color:#163f8f}button.ghost{background:transparent;box-shadow:none}#announceBtnInline{background:var(--warning-soft);border-color:#f2c16d;color:#7a3e00;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:center;padding:.35rem .5rem}#announceBtnInline:hover{background:#ffe8bf}#announceBtnInline:before{content:"❗ "}#rollBtnInline{background:var(--success-soft);border-color:#9fd9c1;color:#07583b}#rollBtnInline:hover{background:#d9f1e7}#announceBtnInline,#rollBtnInline{height:2.6rem;min-width:0;line-height:1.1;min-height:2.6rem}#diceBar.announce-mode #rollBtnInline{visibility:hidden!important}button.small{min-height:2rem;font-size:.85rem;padding:.35rem .58rem}button.danger{border-color:#f0b5ae;background:var(--danger-soft);color:var(--danger)}button.danger:hover{background:#ffe1de}select,select option{font-size:1rem;line-height:1.2}@media(max-width:560px){select,select option{font-size:16px}}select,input,button{font-family:inherit;font-size:16px;line-height:1.2}input:not([type]),input[type=text],input[type=password],input[type=search],select{min-height:2.45rem;padding:.56rem .68rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:inset 0 1px #0f172a05}input:not([type])::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder{color:#94a0b2}input:not([type]):focus,input[type=text]:focus,input[type=password]:focus,input[type=search]:focus,select:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #2563eb24}input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--accent)}.chip,.badge{display:inline-flex;align-items:center;min-height:1.35rem;padding:.14rem .48rem;border-radius:999px;font-size:.78rem;font-weight:650;border:1px solid transparent}.chip{margin-right:.25rem}.chip.ok{background:var(--success-soft);color:#07583b;border-color:#bce7d3}.chip.wait{background:#fff6d7;color:#735100;border-color:#f4dda2}.chip.warn{background:var(--warning-soft);color:#7a3e00;border-color:#f2c16d}.chip.info{background:#e9f2ff;color:#17428f;border-color:#c8d9ff}.chip.danger{background:var(--danger-soft);color:var(--danger);border-color:#f0b5ae}.badge{background:#eef2f7;color:#435166;border-color:#dce3ed;margin-left:.25rem}.badge.online{background:var(--success-soft);color:#07583b;border-color:#bce7d3}.online-user-count{display:inline-flex;align-items:center;gap:.35rem}.online-dot{width:.55rem;height:.55rem;border-radius:50%;background:#16a36a;box-shadow:0 0 0 3px color-mix(in srgb,#16a36a 16%,transparent)}.badge.offline{background:var(--warning-soft);color:#7a3e00;border-color:#f2c16d}.player-name-with-rank{display:inline-flex;align-items:center;gap:.32rem;min-width:0;vertical-align:middle;flex-wrap:wrap}.player-name-label{min-width:0;overflow-wrap:anywhere}.player-rank{--rank-color:#64748b;display:inline-flex;align-items:center;gap:.2rem;padding:.08rem .34rem;border:1px solid color-mix(in srgb,var(--rank-color) 42%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--rank-color) 10%,var(--card));color:var(--rank-color);font-size:.68rem;font-weight:800;line-height:1.25;white-space:nowrap;letter-spacing:.01em}.player-rank[role=link]{cursor:pointer;text-decoration:none;touch-action:manipulation}.player-rank[role=link]:hover{border-color:var(--rank-color);background:color-mix(in srgb,var(--rank-color) 17%,var(--card))}.player-rank[role=link]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.player-rank-stars{letter-spacing:.03em;font-size:.72rem;line-height:1}.player-rank-title{font-weight:750}.player-rank--newbie{--rank-color:#718096}.player-rank--rookie,.player-rank--player{--rank-color:#8a5a2b}.player-rank--advanced,.player-rank--pro{--rank-color:#2563a8}.player-rank--expert,.player-rank--master{--rank-color:#7c3aed}.player-rank--elite,.player-rank--legend{--rank-color:#b7791f}.player-rank--godmode{--rank-color:#c026d3}.player-rank--compact{font-size:.64rem;padding:.06rem .28rem}.player-rank--compact .player-rank-stars{font-size:.67rem}@media(max-width:420px){.player-rank-title{max-width:5.8rem;overflow:hidden;text-overflow:ellipsis}}.rank-legend-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}.rank-legend-stat{display:grid;gap:.2rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft)}.rank-legend-stat small{color:var(--muted);font-weight:650}.rank-legend-stat strong{font-size:1.12rem;font-variant-numeric:tabular-nums}.rank-legend-current{margin:0 0 1rem;padding:.75rem .85rem;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:var(--radius-card);background:color-mix(in srgb,var(--info-soft) 74%,var(--card))}.rank-legend-current[hidden]{display:none}.rank-legend-current p{margin:.2rem 0 0;color:var(--muted);line-height:1.4}.rank-legend-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.rank-legend-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft)}.rank-legend-row.is-current{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));background:color-mix(in srgb,var(--info-soft) 72%,var(--card))}.rank-legend-insignia{--rank-color:#64748b;display:inline-flex;align-items:center;min-width:3.25rem;justify-content:center;padding:.24rem .42rem;border:1px solid color-mix(in srgb,var(--rank-color) 42%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--rank-color) 10%,var(--card));color:var(--rank-color);font-size:.82rem;font-weight:850;letter-spacing:.04em;white-space:nowrap}.rank-legend-insignia--newbie{--rank-color:#718096}.rank-legend-insignia--rookie,.rank-legend-insignia--player{--rank-color:#8a5a2b}.rank-legend-insignia--advanced,.rank-legend-insignia--pro{--rank-color:#2563a8}.rank-legend-insignia--expert,.rank-legend-insignia--master{--rank-color:#7c3aed}.rank-legend-insignia--elite,.rank-legend-insignia--legend{--rank-color:#b7791f}.rank-legend-insignia--godmode{--rank-color:#c026d3}.rank-legend-title{display:grid;gap:.12rem;min-width:0}.rank-legend-title strong{overflow-wrap:anywhere}.rank-legend-title small{color:var(--muted);line-height:1.25}.rank-legend-minimum{color:var(--muted);font-size:.8rem;font-weight:760;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.rank-legend-sheet .rank-legend-content{flex:1 1 auto;min-height:0;overflow:auto;padding:1rem;overscroll-behavior:contain}.rank-legend-sheet .rank-legend-content>p{margin-top:0;color:var(--muted);line-height:1.45}html.rank-legend-open,body.rank-legend-open{overflow:hidden}@media(max-width:560px){.rank-legend-summary{grid-template-columns:1fr;gap:.45rem}.rank-legend-row{grid-template-columns:auto minmax(0,1fr);gap:.55rem}.rank-legend-minimum{grid-column:2;text-align:left}}.warn-line{color:#7a3e00!important;font-weight:650}.wrap{width:min(1120px,calc(100vw - 32px));margin:1.25rem auto 2rem}.lobby-page .wrap{padding-bottom:1rem}.lobby-shell{display:grid;gap:1rem}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.lobby-intro,.page-intro{max-width:780px;padding:.25rem 0}.lobby-intro h1,.page-intro h1{margin:.15rem 0 .35rem;line-height:1.12}.lobby-intro p:last-child,.page-intro p:last-child{margin:.35rem 0 0;color:var(--muted);line-height:1.5}.about-game p{max-width:850px;line-height:1.55}.lobby-header{padding:.25rem 0 .5rem}.app-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;width:100%;min-width:0;margin:0 0 1rem;padding:.35rem 0 .7rem;border-bottom:1px solid var(--border)}.lobby-header.app-nav{margin-bottom:0}.app-nav-brand{display:flex;align-items:center;gap:.6rem;min-width:0;color:var(--text);font-size:1.08rem;font-weight:850;text-decoration:none}.app-nav-brand h1{margin:0;font-size:1.45rem;white-space:nowrap}.app-nav-links{display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:0}.app-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.46rem .68rem;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted);font-size:.88rem;font-weight:720;line-height:1.15;text-align:center;text-decoration:none;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.app-nav-link:hover{border-color:var(--border);background:var(--surface-soft);color:var(--text)}.app-nav-link[aria-current=page]{border-color:var(--info-border);background:var(--info-soft);color:var(--accent-strong)}.app-nav-tools{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;min-width:0;justify-self:end}.app-nav-tools .theme-toggle,.app-nav-tools select{min-height:44px}.logo{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius);background:#172033;color:#fff;box-shadow:var(--shadow-sm)}.stats{display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;justify-content:flex-end;color:var(--muted);font-size:.9rem;min-width:15rem}.stats b{color:var(--text);font-weight:800}.stats .avg-label{color:var(--text);font-weight:750}.avg-trend{display:inline-block;min-width:1ch;margin-left:.22rem;color:var(--text);font-weight:900;line-height:1}.avg-trend.avg-up{color:var(--success)}.avg-trend.avg-down{color:var(--danger)}.avg-trend.avg-same{color:var(--text)}.setup-grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(320px,1.25fr);gap:1rem;align-items:stretch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1rem;box-shadow:var(--shadow-sm)}.card h2{margin-top:0}.setup-card{padding:.75rem .85rem}.setup-card h2{margin-bottom:.55rem}.player-setup-card.authenticated{align-self:start;padding:.65rem .75rem}.player-setup-card.authenticated .section-title-row,.player-setup-card.authenticated #playerNameRow,.player-setup-card.authenticated #loginForm,.player-setup-card.authenticated .guest-account-panel{display:none}.player-setup-card.authenticated .auth-actions{margin-top:0}.player-setup-card.authenticated #loginError:empty{display:none}.row{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.row input[type=text]{min-width:18ch}.form-field{display:grid;gap:.35rem;min-width:0;color:var(--text);font-size:.84rem;font-weight:700}.form-field>span small{color:var(--muted);font-weight:500}.form-field input{width:100%;min-width:0}.quick-play-fields{display:grid;gap:.35rem}.quick-play-fields .muted{margin:.1rem 0 0}.guest-account-panel{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--border)}.account-intro h3{margin:0 0 .2rem}.account-intro .muted{margin:0;line-height:1.35}.player-setup-card .login-inline{display:grid;grid-template-columns:1fr;gap:.55rem;align-items:stretch;margin-top:.65rem}.player-setup-card .login-inline input{min-width:0}.account-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.account-form-actions button{width:100%}.player-setup-card .auth-actions{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:.5rem}.account-identity{display:flex;align-items:center;gap:.5rem;grid-column:1 / -1}.account-identity .eyebrow,.account-identity .badge{margin:0}.create-game-card{align-self:start}.create-game-card .create-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.8rem;align-items:start}.create-fieldset{position:relative;min-width:0;margin:0;padding:0;border:0}.create-fieldset legend{margin-bottom:.38rem;padding:0;color:var(--text);font-size:.84rem;font-weight:700}.segmented-choice,.mode-hardcore-row{display:grid;gap:.4rem;min-width:0}.player-count-choice{grid-template-columns:repeat(4,minmax(0,1fr))}.mode-hardcore-row{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-button,.mode-hardcore-row .choice-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.28rem;width:100%;min-height:44px;min-width:0;padding:.5rem .65rem;background:var(--surface-soft);border-color:var(--border);box-shadow:none;font-weight:700}.choice-button small{color:var(--muted);font-size:.72rem;font-weight:600}.choice-button[aria-checked=true]{border-color:var(--accent);background:var(--info-soft);box-shadow:inset 0 0 0 1px var(--accent)}.choice-check{display:none;font-size:.78rem;font-weight:900}.choice-button[aria-checked=true] .choice-check{display:inline}.choice-button.hardcore-choice[aria-checked=true]{border-color:var(--hardcore-border);background:var(--hardcore-soft);color:var(--hardcore);box-shadow:inset 0 0 0 1px var(--hardcore-border)}.hardcore-help{margin:.48rem 0 0;color:var(--hardcore);font-size:.8rem;font-weight:650;line-height:1.35}.passphrase-field{grid-column:1 / -1}.create-game-card #createBtn{grid-column:1 / -1;width:100%;min-height:46px;font-weight:800}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .35rem}.section-title-row h2{margin:0;min-width:0}.section-title-row button{flex:0 0 auto}.section-hint{margin:.1rem 0 .65rem}.games{display:flex;flex-direction:column;gap:.65rem}.game-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--border);border-radius:var(--radius-card);padding:.85rem .95rem;background:var(--surface);box-shadow:var(--shadow-sm)}.game-row:hover{border-color:#c7d2e3;box-shadow:0 8px 24px #0f172a12}.game-row .meta{min-width:0}.game-row .name,.game-name{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-weight:750}.game-row .sub,.game-sub{margin-top:.28rem;font-size:.9rem;color:var(--muted)}.game-row .actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.locked-label{color:var(--danger);font-weight:700}.progress-stack{display:grid;gap:.18rem}.progress-line{margin:.15rem 0 0}.muted.small{font-size:.85rem;color:var(--muted)}.connection-error{color:var(--danger);font-size:.88rem;font-weight:700;line-height:1.35}.hc-badge{color:var(--hardcore);font-weight:750}.secondary-card{background:color-mix(in srgb,var(--surface) 82%,var(--bg))}.lobby-state,.lobby-empty-state{padding:.8rem;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--muted)}.lobby-empty-state{display:grid;gap:.28rem;justify-items:start}.lobby-empty-state strong{color:var(--text)}.lobby-empty-state p{margin:0 0 .35rem}.lobby-community{padding:.8rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.lobby-community>.eyebrow{margin-bottom:.55rem}.lobby-community .stats{display:grid;grid-template-columns:auto auto auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.45rem 1rem;min-width:0;color:var(--muted);font-size:.85rem}.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.35rem 0 -.25rem}.tabs{display:flex;gap:.45rem;margin:.4rem 0}.tab-btn{padding:.36rem .66rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;box-shadow:none}.tab-btn.active{background:#e9f2ff;border-color:#bcd1ff;color:#17428f}.leaderboards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.75rem}.leaderboard-box{min-width:0;overflow:hidden;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm)}.leaderboard-box h3{margin:.1rem 0 .65rem;color:var(--text);font-weight:750;text-align:left}.leaderboard-box table{width:100%;max-width:100%;table-layout:fixed;border-spacing:0;border-collapse:separate;border-radius:var(--table-radius);overflow:hidden;font-size:.9rem;font-variant-numeric:tabular-nums}.leaderboard-date-column{width:4.75rem}.leaderboard-points-column{width:4.35rem}.leaderboard-view-column{width:2.6rem}.leaderboard-box th,.leaderboard-box td{padding:.42rem .45rem;overflow:hidden;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;text-overflow:ellipsis;white-space:nowrap}.leaderboard-box th:last-child,.leaderboard-box td:last-child{border-right:0}.leaderboard-box th:nth-child(3),.leaderboard-box td:nth-child(3){text-align:right}.leaderboard-box th:last-child,.leaderboard-box td:last-child{padding-right:.25rem;padding-left:.25rem;text-align:center}.leaderboard-box tbody tr:last-child td{border-bottom:0}.leaderboard-box thead th{background:var(--table-head);font-weight:800;color:#42516a}.leaderboard-view-link{display:inline-flex;align-items:center;justify-content:center;width:2rem;min-width:2rem;min-height:2rem;color:inherit;font-size:1.1rem;line-height:1;text-decoration:none}.leaderboard-view-link:hover,.leaderboard-view-link:focus-visible{border-radius:var(--radius-sm);background:var(--surface-soft)}.leaderboard-box .player-profile-link{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.leaderboard-box .player-name-with-rank{max-width:100%;flex-wrap:nowrap}.leaderboard-box .player-name-label,.leaderboard-box .player-rank-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.leaderboard-box .player-name-label{white-space:nowrap}.leaderboard-box .player-rank{min-width:0}.leaderboard-box.wide{grid-column:1 / -1}.leaderboard-box tbody tr.hc-entry td{background:#fff4d8}.leaderboard-box tbody tr.hc-entry:hover td{background:#ffedbd}@media(max-width:560px){.wrap{width:100%;margin:.75rem auto 1.25rem;padding:0 .75rem}.lobby-shell{gap:.75rem}.app-nav,.lobby-header.app-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;width:100%;padding:.2rem 0 .6rem}.app-nav-brand{grid-column:1;grid-row:1}.app-nav-brand h1{font-size:1.28rem}.app-nav-brand .logo,.logo{width:2rem;height:2rem}.app-nav-tools{grid-column:2;grid-row:1}.app-nav-links{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:52px;align-items:stretch;gap:.3rem;width:100%}.app-nav-link{width:100%;min-width:0;height:52px;min-height:52px;padding:.45rem .25rem;white-space:normal}.app-nav-tools .theme-toggle{min-width:44px;min-height:44px;padding:.4rem}.lobby-community .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;justify-content:stretch;width:100%;min-width:0;font-size:.84rem}.lobby-community .stats>span{min-width:0;overflow-wrap:anywhere}.lobby-community .stats>span:first-child,.lobby-community .stats>span:nth-child(2),.lobby-community .stats .avg-label{grid-column:1 / -1}.setup-grid{grid-template-columns:minmax(0,1fr);gap:.55rem}.setup-grid>*,.card,.leaderboard-heading,.leaderboards,.leaderboard-box{min-width:0;max-width:100%}.card{padding:.85rem}.setup-card{padding:.65rem .75rem}.setup-card h2{margin-bottom:.45rem}.create-game-card .create-row{grid-template-columns:minmax(0,1fr);gap:.7rem}.create-game-card .create-row>*{grid-column:1}.player-count-choice{grid-template-columns:repeat(4,minmax(0,1fr))}.row{gap:.55rem;align-items:stretch}.row input[type=text],.create-row input[type=text],#createBtn{flex:1 1 100%;width:100%}.mode-hardcore-row{width:100%;gap:.45rem}.mode-hardcore-row .toggle-row{width:100%;justify-content:center;white-space:nowrap}.player-setup-card .auth-actions{grid-template-columns:1fr 1fr}.player-setup-card .auth-actions>*{min-width:0}.player-setup-card .auth-actions #logoutBtn{grid-column:1 / -1}.game-row{align-items:stretch;flex-direction:column;gap:.7rem;padding:.82rem}.game-row .actions,.game-row .actions button{width:100%}.leaderboard-heading{align-items:flex-start;flex-direction:column;gap:.35rem}.leaderboard-heading .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.leaderboard-heading .tab-btn{min-width:0;width:100%;white-space:normal}.leaderboards{grid-template-columns:1fr;gap:.75rem}.leaderboard-box{padding:.65rem}.leaderboard-box table{font-size:.84rem}.leaderboard-box th,.leaderboard-box td{padding:.38rem .34rem}}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.52rem .78rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-size:1rem;line-height:1.2;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .06s ease}.button-link:hover{background:var(--surface-soft);border-color:var(--border-strong)}.button-link:active{transform:translateY(1px)}.button-link.small{min-height:2rem;padding:.35rem .58rem;font-size:.85rem}.button-link.secondary{background:#eef4ff;border-color:#c8d9ff;color:#163f8f}.button-link.ghost{background:transparent;box-shadow:none}.login-inline,.auth-actions,.search-row,.admin-create-grid{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.login-inline{margin-top:.8rem}.login-inline input{min-width:9rem;flex:1}.registration-challenge{flex-basis:100%;min-height:65px}.auth-actions{margin-top:.8rem}.auth-actions a,.player-profile-link{color:var(--accent)}.profile-shell,.admin-shell{max-width:1120px;padding-top:0}.admin-overview{overflow:hidden}.admin-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1.1rem}.admin-module-tile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;min-height:92px;padding:1rem;color:var(--text);text-align:left;background:color-mix(in srgb,var(--card) 88%,var(--accent) 12%);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none}.admin-module-tile:hover{border-color:var(--accent);transform:translateY(-1px)}.admin-module-tile.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.admin-module-icon{display:grid;place-items:center;width:2.65rem;height:2.65rem;font-size:1.35rem;background:var(--card);border:1px solid var(--border);border-radius:12px}.admin-module-copy{display:grid;gap:.2rem;min-width:0}.admin-module-copy strong{font-size:1rem}.admin-module-copy small{color:var(--muted, #64748b);font-weight:500;line-height:1.3}.admin-module-chevron{font-size:1.25rem;transition:transform .18s ease}.admin-module-tile.active .admin-module-chevron{transform:rotate(180deg)}.admin-module-tile-danger{background:color-mix(in srgb,var(--card) 91%,#dc2626 9%)}.admin-module-tile-danger:hover,.admin-module-tile-danger.active{border-color:#dc2626}.admin-message{min-height:1.2em;margin-top:.8rem}.admin-panel[hidden]{display:none}.eyebrow{margin:0 0 .25rem;color:var(--muted, #64748b);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.account-header-card h1{margin-bottom:0}.account-tabs{position:sticky;top:.5rem;z-index:30;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:.75rem 0 1rem;padding:.3rem;border:1px solid var(--border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px)}.account-tab{min-height:44px;border-color:transparent;background:transparent;color:var(--muted);box-shadow:none}.account-tab:hover{transform:none;border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.account-tab.active{color:#fff;background:var(--accent);border-color:var(--accent)}.account-panel[hidden]{display:none}.account-settings-panel{display:grid;gap:1rem}.statistics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.achievements-section{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--border)}.achievements-section h2{margin:0}.achievement-group{margin-top:1rem}.achievement-group h3{margin:0 0 .6rem;font-size:1rem}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.achievement-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;min-height:4.9rem;padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft)}.achievement-card.unlocked{border-color:color-mix(in srgb,var(--success) 52%,var(--border));background:color-mix(in srgb,var(--success-soft) 62%,var(--card))}.achievement-card.locked{opacity:.78}.achievement-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--accent);font-weight:850;font-size:1.15rem}.achievement-card.unlocked .achievement-icon{border-color:color-mix(in srgb,var(--success) 55%,var(--border));color:var(--success)}.achievement-copy{display:grid;gap:.18rem;min-width:0}.achievement-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-copy small{color:var(--muted);line-height:1.25}.achievement-status{display:grid;justify-items:end;align-content:start;gap:.3rem}.achievement-points{padding:.16rem .38rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--card));color:var(--accent);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.achievement-progress{padding:.16rem .38rem;border-radius:999px;background:var(--card);color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}.achievement-card.unlocked .achievement-progress{color:var(--success)}.achievement-card.unlocked .achievement-points{background:color-mix(in srgb,var(--success-soft) 68%,var(--card));color:var(--success)}.stat-bucket{border:1px solid var(--border);border-radius:var(--radius-card);padding:1rem;background:color-mix(in srgb,var(--card) 92%,var(--accent) 8%)}.stat-bucket h2{margin-top:0}.stat-bucket dl{margin:0}.stat-bucket dl div{display:flex;justify-content:space-between;gap:1rem;padding:.48rem 0;border-bottom:1px solid var(--border, #dce2ea)}.stat-bucket dl div:last-child{border-bottom:0}.stat-bucket dt{color:var(--muted, #64748b)}.stat-bucket dd{margin:0;font-weight:700}.password-card{max-width:620px}.form-stack{display:grid;gap:.8rem}.form-stack label{display:grid;gap:.35rem}.table-scroll{overflow-x:auto}.ranking-table,.admin-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.ranking-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.ranking-table th,.ranking-table td,.admin-table th,.admin-table td{padding:.7rem;text-align:left;border-bottom:1px solid var(--border, #dce2ea)}.player-search-results{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.player-result{padding:.55rem .8rem;border:1px solid var(--border, #dce2ea);border-radius:999px;text-decoration:none}.admin-create-grid{display:grid;grid-template-columns:1fr 1.6fr auto auto}.assignment-list{display:grid;gap:.65rem}.assignment-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,260px) auto;gap:.75rem;align-items:center;border:1px solid var(--border, #dce2ea);border-radius:12px;padding:.75rem}.danger-zone{border-color:color-mix(in srgb,#dc2626 45%,var(--border))}.completed-game-list{display:grid;gap:.65rem;margin-top:1rem}.completed-game-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;border:1px solid var(--border);border-radius:12px;padding:.8rem}button.danger{color:#fff;background:#b91c1c;border-color:#991b1b}button.danger.ghost{background:transparent;border-color:color-mix(in srgb,var(--danger) 55%,var(--border));color:var(--danger);box-shadow:none}button.danger.ghost:hover{background:var(--danger-soft);border-color:var(--danger)}.deletion-audit{margin-top:1rem}.deletion-audit-row{padding:.65rem 0;border-bottom:1px solid var(--border)}html.app-dialog-open,body.app-dialog-open{overflow:hidden}.app-dialog-backdrop{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:1rem;background:#0f172a8c;backdrop-filter:blur(3px)}.app-dialog-backdrop[hidden]{display:none}.app-dialog{width:min(28rem,100%);max-height:min(86vh,42rem);overflow:auto;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:0 24px 70px #0f172a57}.app-dialog[data-kind=success]{border-color:var(--success)}.app-dialog[data-kind=warning]{border-color:var(--warning-border)}.app-dialog[data-kind=error]{border-color:var(--danger)}.app-dialog[data-kind=achievement]{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--warning-border) 78%,var(--success));background:radial-gradient(circle at 88% 8%,color-mix(in srgb,#f8c947 28%,transparent),transparent 36%),radial-gradient(circle at 8% 100%,color-mix(in srgb,var(--success) 16%,transparent),transparent 46%),var(--surface);box-shadow:0 24px 70px #0f172a57,0 0 0 4px color-mix(in srgb,#f8c947 12%,transparent)}.app-dialog[data-kind=achievement]:before{content:"🏆";position:absolute;top:.55rem;right:3.2rem;font-size:1.55rem;line-height:1;filter:drop-shadow(0 3px 2px rgba(15,23,42,.2))}.app-dialog[data-kind=achievement] .app-dialog-head h2{padding-right:2.1rem;color:var(--text)}.app-dialog[data-kind=achievement] .app-dialog-message{margin:.35rem 0 1.15rem;padding:1rem;border:1px solid color-mix(in srgb,var(--warning-border) 48%,var(--border));border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 86%,#f8c947 14%);box-shadow:inset 0 1px #ffffff87;text-align:center;font-weight:700}.app-dialog[data-kind=achievement] .app-dialog-actions{justify-content:center}.app-dialog[data-kind=achievement] .app-dialog-actions .primary{min-width:min(13rem,100%)}.app-dialog[data-kind=level-up]{position:relative;overflow:hidden;border-color:color-mix(in srgb,#a855f7 72%,#f8c947);background:radial-gradient(circle at 85% 7%,color-mix(in srgb,#f8c947 34%,transparent),transparent 33%),radial-gradient(circle at 12% 95%,color-mix(in srgb,#a855f7 28%,transparent),transparent 47%),linear-gradient(135deg,color-mix(in srgb,var(--surface) 82%,#a855f7 18%),var(--surface));box-shadow:0 26px 78px #581c8757,0 0 0 4px color-mix(in srgb,#a855f7 15%,transparent);animation:level-up-pop .36s cubic-bezier(.18,.9,.28,1.2) both}.app-dialog[data-kind=level-up]:before{content:"✨";position:absolute;top:.48rem;right:3.15rem;font-size:1.75rem;line-height:1;filter:drop-shadow(0 3px 2px rgba(88,28,135,.28))}.app-dialog[data-kind=level-up] .app-dialog-head h2{padding-right:2.15rem;color:color-mix(in srgb,#a855f7 68%,var(--text));letter-spacing:.045em}.app-dialog[data-kind=level-up] .app-dialog-message{margin:.35rem 0 1.15rem;padding:1rem;border:1px solid color-mix(in srgb,#a855f7 45%,var(--border));border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 79%,#a855f7 21%);box-shadow:inset 0 1px #ffffff94;text-align:center;font-weight:800}.app-dialog[data-kind=level-up] .app-dialog-actions{justify-content:center}.app-dialog[data-kind=level-up] .app-dialog-actions .primary{min-width:min(13rem,100%)}@keyframes level-up-pop{0%{opacity:0;transform:translateY(.8rem) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.app-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.app-dialog-head h2{margin:.1rem 0 .65rem;font-size:1.25rem}.app-dialog-close{display:inline-grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;min-height:2rem;padding:0;font-size:1.3rem;line-height:1}.app-dialog-message{margin:0 0 1rem;white-space:pre-line;line-height:1.5}.app-dialog-input-label{display:grid;gap:.35rem;margin:.25rem 0 1rem;font-weight:700}.app-dialog-input-label[hidden]{display:none}.app-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.app-toast-region{position:fixed;z-index:2300;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));display:grid;gap:.5rem;width:min(24rem,calc(100vw - 1.5rem));pointer-events:none}.app-toast{display:flex;align-items:center;gap:.55rem;padding:.65rem .75rem;border:1px solid var(--border);border-left:4px solid var(--info-border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--text);box-shadow:0 12px 32px #0f172a33;backdrop-filter:blur(10px);pointer-events:auto;transition:opacity .2s ease,transform .2s ease}.app-toast-success{border-left-color:var(--success)}.app-toast-warning{border-left-color:var(--warning-border)}.app-toast-error{border-left-color:var(--danger)}.app-toast.leaving{opacity:0;transform:translateY(-.35rem)}.app-toast-text{flex:1 1 auto;min-width:0}.app-toast-action{flex:0 0 auto}.app-toast-close{flex:0 0 1.75rem;width:1.75rem;height:1.75rem;min-height:1.75rem;padding:0;border:0;background:transparent;font-size:1.2rem}.connection-status{position:fixed;z-index:2100;top:max(.45rem,env(safe-area-inset-top));left:50%;transform:translate(-50%);max-width:calc(100vw - 1rem);padding:.38rem .7rem;border:1px solid var(--info-border);border-radius:999px;background:var(--info-soft);color:var(--text);box-shadow:var(--shadow-sm);font-size:.82rem;font-weight:750;text-align:center}.connection-status[hidden]{display:none}.connection-status[data-state=offline],.connection-status[data-state=reconnecting]{border-color:var(--warning-border);background:var(--warning-soft)}.room-page .action-feedback{flex:1 0 100%;min-height:1.1rem;margin:0 0 .2rem;color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.15;text-align:center}@media(max-width:560px){.app-dialog-backdrop{align-items:end;padding:.5rem}.app-dialog{width:100%;border-radius:var(--radius) var(--radius) .45rem .45rem}.app-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-dialog-actions>:only-child{grid-column:1 / -1}.app-toast-region{top:max(calc(2.6rem + .45rem),env(safe-area-inset-top));right:.45rem;width:calc(100vw - .9rem)}.room-page .action-feedback{min-height:.9rem;margin:0;font-size:.68rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.offline-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.offline-card{width:min(28rem,100%);margin:0;text-align:center}.offline-card .logo{margin:0 auto .75rem}.offline-card h1{margin:.25rem 0 .5rem}.offline-card p{color:var(--muted);line-height:1.5}.lobby-page .priority-card{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),var(--shadow-sm)}.recent-games-section{margin-top:1.1rem}.recent-games-section h2{margin-bottom:.55rem}.recent-games-list{display:grid;gap:.4rem}.recent-game-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text);text-decoration:none}.recent-game-row:hover{border-color:var(--accent)}.recent-game-row span{display:grid;gap:.12rem}.recent-game-row small{color:var(--muted)}.history-chart-section{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--border)}.history-chart-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.history-chart-header h2{margin:0}.history-filters{display:grid;gap:.45rem;justify-items:end}.history-range{display:flex;gap:.3rem;padding:.25rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.history-range button{min-width:2.75rem;padding:.45rem .65rem;border-color:transparent;background:transparent;color:var(--muted);box-shadow:none}.history-range button:hover{transform:none}.history-range button.active{color:#fff;background:var(--accent);border-color:var(--accent)}.history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.9rem 0 .55rem}.history-summary span{display:grid;gap:.15rem;padding:.65rem .8rem;border-radius:12px;background:var(--surface-soft)}.history-summary small{color:var(--muted)}.history-summary strong{font-size:1.15rem}.history-chart{min-height:250px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft)}.history-chart>p{margin:1rem}.history-chart svg{display:block;width:100%;height:auto;min-height:250px}.history-grid line{stroke:var(--border);stroke-width:1;stroke-dasharray:4 5}.history-grid text,.history-date,.history-game-number{fill:var(--muted);font-size:12px}.history-score-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.history-score-line.hardcore{stroke:var(--hardcore)}.history-dots circle{stroke:var(--card);stroke-width:2}.history-dots .normal{fill:var(--accent)}.history-dots .hardcore{fill:var(--hardcore)}.history-median-line{stroke:var(--median);stroke-width:2;stroke-dasharray:7 5}.history-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.55rem;color:var(--muted);font-size:.82rem}.history-legend span{display:inline-flex;align-items:center;gap:.35rem}.history-legend i{width:.65rem;height:.65rem;border-radius:999px;background:var(--accent)}.history-legend i.hardcore{background:var(--hardcore)}.history-legend i.median{width:1.2rem;height:0;border-top:2px dashed var(--median);border-radius:0;background:none}.history-mode-badge{display:inline-flex;padding:.1rem .4rem;border-radius:999px;color:#fff;background:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.history-mode-badge.hardcore{background:var(--hardcore)}.stats b,.pc-total,.stat-bucket dd,.history-summary strong,.recent-game-row strong,.leaderboard-box table{font-variant-numeric:tabular-nums}@media(max-width:820px){.lobby-page .setup-grid{grid-template-columns:minmax(0,1fr);gap:.75rem}}@media(max-width:560px){.lobby-page #createBtn,.lobby-page .login-inline button,.lobby-page .game-row .actions button{min-height:44px}}@media(max-width:760px){.statistics-grid,.achievement-grid,.admin-module-grid,.admin-create-grid,.assignment-row,.completed-game-row{grid-template-columns:1fr}.ranking-controls{width:100%;justify-content:flex-start}.login-inline{align-items:stretch}.login-inline input,.login-inline button{width:100%}.history-chart-header{align-items:stretch;flex-direction:column}.history-filters{justify-items:stretch}.history-range{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.history-mode{grid-template-columns:repeat(3,1fr)}.history-range button{min-width:0}.history-summary{gap:.35rem}.history-summary span{padding:.55rem}.history-chart{min-height:220px;margin-inline:-.25rem}.history-chart svg{min-height:220px}}.dice-main,.dice-row,.dice-actions{display:contents}.mobile-row-quick-actions{display:none}@media(max-width:560px){:root{--mobile-actionbar-h:clamp(8rem, calc(20vw + 3.5rem) , 10.75rem)}.room-page #diceBar{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:0;width:100%;height:100%;min-height:0;padding:0 .1rem}.room-page .topbar{order:3;position:fixed!important;left:0;right:0;bottom:calc(var(--mobile-chatbar-h) + var(--mobile-action-gap));z-index:1300;width:100%;height:var(--mobile-actionbar-h);min-height:var(--mobile-actionbar-h);margin:0;padding:0 .35rem;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:stretch;gap:.12rem;border:1px solid var(--border);border-left:0;border-right:0;border-bottom:0;border-radius:8px 8px 0 0;background:#f4f6f8f5;box-shadow:0 -10px 24px #0f172a1f;backdrop-filter:saturate(1.2) blur(12px)}.room-page .mobile-announce-picker{position:fixed;left:.4rem;right:.4rem;bottom:calc(var(--mobile-chatbar-h) + var(--mobile-actionbar-h) + var(--mobile-action-gap) + .35rem);gap:.3rem;width:auto;max-width:calc(100vw - .8rem);box-sizing:border-box;padding:.35rem;background:color-mix(in srgb,var(--surface) 94%,transparent);transform:none}.room-page .mobile-announce-picker-row{gap:.28rem}.room-page .mobile-announce-option{min-height:2.15rem;padding:.22rem .12rem;background:color-mix(in srgb,var(--warning-soft) 76%,transparent)}.room-page #diceBar:has(#mobileRowQuickActions:not([hidden])){grid-template-columns:2.5rem minmax(0,1fr);column-gap:.625rem}.room-page #diceBar .dice-main{display:grid;grid-column:1;grid-row:1;grid-template-rows:minmax(0,1fr) 2.35rem;row-gap:.15rem;height:100%;min-width:0;min-height:0}.room-page #diceBar:has(#mobileRowQuickActions:not([hidden])) .dice-main{grid-column:2}.room-page #diceBar .dice-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:.25rem;align-items:center;justify-items:center;min-width:0;min-height:0}.room-page #diceBar .die{width:100%!important;height:auto!important;aspect-ratio:1 / 1!important;max-width:none!important;max-height:none!important}.room-page #diceBar .dice-actions{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:.35rem;width:100%;min-width:0}.room-page #diceBar .dice-actions:not(:has(#announceBtnInline)){grid-template-columns:minmax(0,1fr)}.room-page #mobileRowQuickActions:not([hidden]){display:grid;grid-column:1;grid-row:1;grid-template-rows:repeat(2,minmax(0,1fr));align-self:stretch;gap:.15rem;height:100%;min-width:0;min-height:0;overflow:hidden}.room-page .mobile-row-quick-button,.room-page #announceBtnInline,.room-page #rollBtnInline{grid-row:auto!important;grid-column:auto!important;width:100%!important;min-width:0!important;height:2.35rem!important;min-height:2.35rem!important;margin:0!important}.room-page .mobile-row-quick-button{height:auto!important;min-height:2rem!important;padding:.2rem;font-size:1.15rem;line-height:1}.room-page #announceBtnInline{overflow:hidden;padding:.12rem .3rem;font-size:clamp(.78rem,3.6vw,.9rem);line-height:1.05!important;overflow-wrap:normal}.room-page #requestCorrectionBtn{grid-row:2!important;grid-column:1 / -1!important;margin:.15rem 0 0!important}}
