/* Scrollable tools live above the game and never change the table's height. */
.member-sheet,.member-sheet *{box-sizing:border-box}.member-sheet{position:fixed;inset:0;z-index:1500;background:#08060fd9;backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;padding-top:max(12px,env(safe-area-inset-top));color:var(--tx,#f5f1ff)}
.member-sheet[hidden]{display:none!important}.member-panel{width:100%;max-width:480px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--pn,#211e32);border:1px solid var(--bd,#413650);border-radius:24px 24px 0 0;padding:18px 16px max(20px,env(safe-area-inset-bottom));box-shadow:0 -12px 80px #0008}
.member-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.member-eyebrow{font-size:10px;letter-spacing:.18em;color:var(--mut);font-weight:800}.member-header h2{margin:4px 0 0;font-size:25px;letter-spacing:-.04em}.member-close{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:1px solid var(--bd);border-radius:50%;background:#ffffff0a;color:inherit;font-size:20px}
.member-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:#0002;border-radius:14px}.member-tabs button{min-height:44px;border-radius:10px;background:transparent;font-size:11px;line-height:1.3;font-weight:750;color:var(--mut);padding:6px}.member-tabs button.selected{background:#b995ff;color:#211137}.member-section{padding-top:18px;padding-bottom:18px;border-bottom:1px solid var(--bd)}.member-section:last-child{border-bottom:0}.member-section h3{margin:0 0 12px;font-size:17px;letter-spacing:-.025em}.member-help{font-size:12px;line-height:1.55;color:var(--mut);margin:9px 0}.member-section p{line-height:1.55}.member-switch{display:flex;align-items:center;gap:10px;min-height:44px;font-size:13px;cursor:pointer}.member-switch input,.member-game-options input{width:19px;height:19px;flex:none;accent-color:var(--gd,#d9ff68)}.member-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-size:13px}.member-panel select,.member-input{color:var(--tx);background:var(--bg);border:1px solid var(--bd);border-radius:11px;padding:11px;font:inherit;max-width:100%;min-height:44px}.member-label{font-size:12px;color:var(--mut)}.member-input{width:100%;font-size:16px;margin:5px 0 10px}.member-game-options{display:flex;flex-wrap:wrap;gap:6px 14px}.member-game-options label{display:flex;align-items:center;gap:5px;font-size:12px;min-height:44px}
.member-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.member-theme{display:flex;flex-direction:column;align-items:center;gap:7px;padding:11px 4px;background:#ffffff05;color:var(--tx);font-size:11px;line-height:1.3;min-height:90px;border:1px solid var(--bd);border-radius:13px}.member-theme.selected{border-color:var(--gd);box-shadow:inset 0 0 0 1px var(--gd)}.member-theme i{width:40px;height:30px;border-radius:9px;border:1px solid #ffffff30}.theme-purple{background:linear-gradient(135deg,#47305e 50%,#d9ff68 50%)}.theme-abyss{background:linear-gradient(135deg,#13406b 50%,#4cc9f0 50%)}.theme-ember{background:linear-gradient(135deg,#5a2a14 50%,#ff8a3d 50%)}.theme-jade{background:linear-gradient(135deg,#11553c 50%,#34d399 50%)}.member-button{display:block;width:100%;min-height:44px;padding:11px 14px;border-radius:12px;background:var(--gd,#d9ff68);color:#18210c;font-weight:800;font-size:13px}.member-button.subtle{background:#ffffff09;border:1px solid var(--bd);color:var(--tx);font-weight:600}.member-button:disabled{opacity:.4;cursor:default}.member-button.small{width:auto;min-width:70px;padding:9px;font-size:12px}.member-team-roster{display:grid;gap:6px;margin-top:12px}.member-team-roster label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;min-width:0}.member-team-roster label>span{overflow:hidden;text-overflow:ellipsis}.member-team-roster select{min-width:110px;font-size:13px}
.member-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.member-score{padding:12px;border:1px solid var(--bd);border-radius:13px;display:flex;flex-direction:column;gap:3px;background:#0002}.member-score span,.member-score small{font-size:11px;color:var(--mut)}.member-score strong{font-size:25px;color:#d9ff68}.member-score.team-a{border-top:3px solid #b995ff}.member-score.team-b{border-top:3px solid #74e1ff}.member-score.team-c{border-top:3px solid #ffb35c}.member-score.team-d{border-top:3px solid #5ce0a0}.member-panel .negative{color:#ff8ba4!important}.member-game-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.member-game-stats>div{display:flex;flex-direction:column;gap:5px;padding:10px 5px;border:1px solid var(--bd);border-radius:12px;text-align:center;background:#0002}.member-game-stats span,.member-game-stats small{font-size:10px;color:var(--mut)}.member-game-stats strong{font-size:20px;color:#d9ff68}
.member-profile-list{display:grid;gap:8px}.member-profile-list article{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--bd);border-radius:13px}.member-profile-list article>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.member-profile-list strong{font-size:13px;overflow-wrap:anywhere}.member-profile-list small{font-size:10px;line-height:1.4;color:var(--mut)}.member-delete{background:transparent;color:var(--mut);min-width:32px;min-height:44px;font-size:15px}.member-history{list-style:none;padding:0;margin:0 0 14px}.member-history li{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--bd)}.member-history li>div{display:flex;flex-direction:column;gap:5px;min-width:0}.member-history strong{font-size:12px;overflow-wrap:anywhere}.member-history small{font-size:11px;color:var(--mut)}.member-history b{font-size:16px;color:#d9ff68;white-space:nowrap}.member-lock{text-align:center;padding:22px 4px}.member-lock>span{display:block;color:var(--gd);font-size:38px;margin-bottom:10px}.member-lock p{color:var(--mut);font-size:13px}.member-lock .member-button{margin-top:20px}#member-status:empty{display:none}.member-toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%,12px);max-width:min(90vw,430px);width:max-content;border:1px solid #ffffff30;border-radius:14px;padding:12px 16px;background:#191326;color:#fff;z-index:2000;font-size:12px;line-height:1.45;box-shadow:0 8px 35px #0007;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.member-toast.visible{opacity:1;transform:translate(-50%,0)}
/* Themes preserve the same legible cards, controls, and mobile geometry. */
html:root[data-party-theme="abyss"]{--bg:#0a1220;--pn:#121d30;--tx:#eef6ff;--mut:#9fb3c8;--bd:#26384f;--gd:#4cc9f0}
:root[data-party-theme="abyss"] body{background:radial-gradient(ellipse at top,#16304a,var(--bg) 65%)}
:root[data-party-theme="abyss"] .felt{background:radial-gradient(ellipse at 50% 20%,#13406b,#0d2742 65%,#0a1a2e);border-color:#4cc9f088}
:root[data-party-theme="abyss"] .tray,:root[data-party-theme="abyss"] .nav{background:#121d30}:root[data-party-theme="abyss"] .nav button.on{background:#4cc9f0;color:#052433}
:root[data-party-theme="abyss"] .spot{border-color:#4cc9f070}:root[data-party-theme="abyss"] .arc text{fill:#4cc9f0}:root[data-party-theme="abyss"] .lbl,:root[data-party-theme="abyss"] .sl,:root[data-party-theme="abyss"] .rules{color:#cfe6ff}:root[data-party-theme="abyss"] .sc{background:#0b1d33;border-color:#4cc9f050}
:root[data-party-theme="abyss"] .mt.on{background:#1b4c74;border-color:#4cc9f0}:root[data-party-theme="abyss"] .member-tabs button.selected{background:#4cc9f0;color:#052433}:root[data-party-theme="abyss"] .cta{box-shadow:0 4px 0 #1f7fa3}
html:root[data-party-theme="ember"]{--bg:#140d0a;--pn:#221612;--tx:#fff4ec;--mut:#c9b0a3;--bd:#4a2f24;--gd:#ff8a3d}
:root[data-party-theme="ember"] body{background:radial-gradient(ellipse at top,#3a1c10,var(--bg) 65%)}
:root[data-party-theme="ember"] .felt{background:radial-gradient(ellipse at 50% 20%,#5a2a14,#351a0e 65%,#1e0f09);border-color:#ff8a3d88}
:root[data-party-theme="ember"] .tray,:root[data-party-theme="ember"] .nav{background:#221612}:root[data-party-theme="ember"] .nav button.on{background:#ff8a3d;color:#2b1204}
:root[data-party-theme="ember"] .spot{border-color:#ff8a3d70}:root[data-party-theme="ember"] .arc text{fill:#ff8a3d}:root[data-party-theme="ember"] .lbl,:root[data-party-theme="ember"] .sl,:root[data-party-theme="ember"] .rules{color:#ffe1cc}:root[data-party-theme="ember"] .sc{background:#2a140b;border-color:#ff8a3d50}
:root[data-party-theme="ember"] .mt.on{background:#6b3519;border-color:#ff8a3d}:root[data-party-theme="ember"] .member-tabs button.selected{background:#ff8a3d;color:#2b1204}:root[data-party-theme="ember"] .cta{box-shadow:0 4px 0 #b65a1f}
html:root[data-party-theme="jade"]{--bg:#08130f;--pn:#10211a;--tx:#effff7;--mut:#a3c2b4;--bd:#234537;--gd:#34d399}
:root[data-party-theme="jade"] body{background:radial-gradient(ellipse at top,#12382a,var(--bg) 65%)}
:root[data-party-theme="jade"] .felt{background:radial-gradient(ellipse at 50% 20%,#11553c,#0b3326 65%,#071f17);border-color:#34d39988}
:root[data-party-theme="jade"] .tray,:root[data-party-theme="jade"] .nav{background:#10211a}:root[data-party-theme="jade"] .nav button.on{background:#34d399;color:#04261a}
:root[data-party-theme="jade"] .spot{border-color:#34d39970}:root[data-party-theme="jade"] .arc text{fill:#34d399}:root[data-party-theme="jade"] .lbl,:root[data-party-theme="jade"] .sl,:root[data-party-theme="jade"] .rules{color:#d3f5e6}:root[data-party-theme="jade"] .sc{background:#0a2a1f;border-color:#34d39950}
:root[data-party-theme="jade"] .mt.on{background:#1b6047;border-color:#34d399}:root[data-party-theme="jade"] .member-tabs button.selected{background:#34d399;color:#04261a}:root[data-party-theme="jade"] .cta{box-shadow:0 4px 0 #1f8a63}
@media(max-width:340px){.member-panel{padding-left:12px;padding-right:12px}.member-tabs button{font-size:10px}.member-profile-list article{gap:4px;padding:8px}.member-profile-list small{font-size:9px}.member-button.small{min-width:60px}.member-theme{font-size:10px}}
@media(prefers-reduced-motion:reduce){.member-toast{transition:none}}
