/* Mobile-first club UI. Palette is exclusively defined in theme.css. */
body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.topbar{top:env(safe-area-inset-top)}
.club-panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:20px;margin:0 0 20px;min-width:0}
.club-panel h2,.club-panel h3{margin:0 0 12px;line-height:1.3}
.club-panel p{color:var(--muted);line-height:1.6}
.club-actions{display:flex;gap:10px;flex-wrap:wrap}
.club-panel input:not([type=checkbox]),.club-panel select,.club-panel textarea{font:inherit;font-size:16px;width:100%;min-width:0;max-width:100%;min-height:46px;border:1px solid var(--line);border-radius:7px;background:var(--input-bg);color:var(--text);padding:10px;margin:7px 0 16px}
.club-panel textarea{resize:vertical;min-height:80px}
.club-panel input[type=checkbox]{width:22px;height:22px;flex-shrink:0;accent-color:var(--accent)}
.club-panel label{overflow-wrap:anywhere}
.club-panel fieldset{border:1px solid var(--line);border-radius:8px;padding:12px;margin:0 0 16px;min-width:0}
.club-panel legend{padding:0 6px;color:var(--muted);font-size:14px}
.club-presence{display:grid;gap:6px;grid-template-columns:1fr}
.club-check{display:flex;align-items:center;gap:10px;min-height:44px}
.club-status{min-height:27px;margin:0 0 16px;line-height:1.6;overflow-wrap:anywhere;font-size:14px;color:var(--muted)}
.club-status.error{color:var(--error)}
.club-connection{display:flex;align-items:center;gap:8px;min-height:30px;font-size:13px;color:var(--muted)}
.club-connection::before{content:'';width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--accent)}
.club-connection[data-state=offline]::before{background:var(--error)}
.club-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.club-player .album-card-stage{padding-left:12px;padding-right:12px}
.club-detail{font-size:12px;color:var(--muted);margin:6px 0;overflow-wrap:anywhere}
.club-scoreboard{position:relative;scroll-margin-top:150px}
.club-scores{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;text-align:center}
.club-score-side{min-width:0}
.club-score-name{font-size:15px;min-height:48px;overflow-wrap:anywhere;line-height:1.5}
.club-score{display:block;font-size:clamp(64px,18vw,96px);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--accent);min-height:115px}
.club-point{width:100%;min-height:72px;font-size:24px}
.club-sets{display:block;color:var(--muted);font-size:14px;min-height:30px;margin:6px 0}
.club-live-actions{display:grid;gap:12px;margin-top:18px}
.club-set-history{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;font-size:14px;font-variant-numeric:tabular-nums}
.club-set-history li{background:var(--input-bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px}
.club-vote-stat{display:grid;grid-template-columns:minmax(90px,1fr) minmax(80px,100px);gap:12px;align-items:center}
.club-vote-stat select{margin:4px 0;min-height:48px}
.club-vote-submit{position:sticky;bottom:0;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--panel);z-index:2}
.club-vote-submit button{width:100%;min-height:50px}
.club-vote-summary{overflow-wrap:anywhere;font-size:14px;color:var(--muted)}
.club-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
#club-view{scroll-margin-top:140px}
.club-password-help{font-size:13px}
@media(min-width:600px){.club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-presence{grid-template-columns:repeat(2,minmax(0,1fr))}.club-panel{padding:24px}.club-live-actions{grid-template-columns:1fr 1fr}}
@media(min-width:1050px){.club-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.club-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}}
@media(max-width:400px){.main-nav a{padding:8px 10px;font-size:13px}.club-panel{padding:16px}.club-score-name{font-size:14px}.club-actions>*{flex:1}.club-score{min-height:95px}.club-scoreboard .club-actions{display:grid;grid-template-columns:1fr}}

@media(min-width:651px){.club-scoreboard{scroll-margin-top:100px}}


/* Club landing and dedicated profile editor. */
.club-main-actions{display:grid;gap:12px;margin-bottom:24px}
.club-main-actions>a{min-height:52px;text-align:center;justify-content:center}
.club-new-match{max-width:760px}
.club-match-summary{border-top:1px solid var(--line);padding-top:16px}
.club-profile-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.club-profile-preview{min-width:0;max-width:100%}
.club-profile-preview .stage{width:100%;max-width:100%;overflow:hidden}
.club-profile-preview .club-actions{justify-content:center}
.club-profile-workspace details{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.club-profile-workspace summary{min-height:44px;cursor:pointer}
.club-panel [hidden],.main-nav [hidden],.holo-picker[hidden]{display:none!important}
@media(min-width:600px){.club-main-actions{grid-template-columns:1fr 1fr;max-width:700px}}
@media(min-width:1050px){.club-profile-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* Prominent identities and complete, editable numeric ballots. */
.club-score-name{font-size:clamp(20px,5vw,28px);font-weight:800;line-height:1.3;min-height:76px;color:var(--text)}
#club-voting legend,.club-vote-result h3{font-size:22px;font-weight:800;color:var(--text);line-height:1.3;overflow-wrap:anywhere;max-width:100%}
.club-vote-stat input[type=number]{margin:4px 0;min-height:48px;font-size:20px;font-weight:700;text-align:center}
.club-vote-result{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}

/* Shared quiet shell for Club, match setup and personal profile. */
.club-layout .topbar{min-height:72px;height:auto;flex-wrap:nowrap;gap:16px;padding:12px 5.5%}
.club-layout .header-divider,.club-layout .local-badge,.club-layout .eyebrow,.club-layout .intro-note,.club-layout #page-description{display:none}
.club-layout .main-nav{order:0;width:auto;border:0;padding:0;margin-left:auto}
.club-layout .main-nav a{background:none;padding:8px 0;font-weight:600}
#club-logout{margin-left:auto;flex-shrink:0}
.club-layout .main-nav:not([hidden])+#club-logout{margin-left:8px}
.club-layout .intro{padding:36px 0 24px}
.club-layout h1{font-size:clamp(30px,5vw,42px);font-weight:800;letter-spacing:-1.2px;line-height:1.15;margin:0}
.club-layout .club-connection[data-state=online],.club-layout #club-status:empty{display:none}
.club-layout .club-main-actions{max-width:none;margin-bottom:32px;gap:12px}
.club-collection{margin-bottom:40px}
.club-player{min-width:0;text-align:center}
.club-player h2{font-size:clamp(24px,3vw,30px);font-weight:800;letter-spacing:-.5px;line-height:1.25;margin:0 0 4px;overflow-wrap:anywhere}
.club-player .album-card-stage{padding:18px 0 12px}
.club-card-options{font-size:13px;color:var(--muted)}
.club-card-options summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;list-style:none}
.club-card-options summary::-webkit-details-marker{display:none}
.club-card-options summary::after{content:'＋';font-size:16px}
.club-card-options[open] summary::after{content:'−'}
.club-card-options .club-actions{justify-content:center;padding:0 0 12px}
.club-card-options summary:focus-visible,.club-extra summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.club-field-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 20px}
.club-extra{margin:0 0 18px}
.club-extra summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;color:var(--muted)}
.club-layout .club-new-match,.club-layout .club-profile-workspace>.club-panel{padding:24px;border:0}
.club-layout .club-new-match .club-actions>.primary-button{width:100%}
.club-layout .club-profile-preview{border-radius:14px;padding-top:24px}
.club-layout .club-profile-preview .preview-heading h2{font-weight:700;color:var(--muted);font-size:14px}
.club-layout footer>span{display:none}
@media(min-width:600px){.club-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-layout .club-main-actions{display:flex}.club-main-actions>a{padding-left:24px;padding-right:24px}}
@media(max-width:650px){.club-layout .topbar{padding:10px 18px;gap:10px;min-height:66px}.club-layout .brand{font-size:24px;gap:6px}.club-layout .main-nav a{font-size:12px;white-space:normal;line-height:1.25}.club-layout .main-nav:not([hidden])+#club-logout{margin-left:0}.club-layout .intro{padding:28px 0 20px}.club-layout .club-new-match,.club-layout .club-profile-workspace>.club-panel{padding:20px}.club-layout footer{margin-top:20px}}
.club-extra summary::before{content:'＋';margin-right:8px}
.club-extra[open] summary::before{content:'−'}

/* Compact results table: aligned identities and scores, fixed columns on phones. */
.club-main-actions a[aria-current=page]{border-color:var(--accent);color:var(--accent)}
.club-match-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}
.club-match-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}
.club-match-table th{padding:12px 4px;color:var(--muted);font-size:11px;font-weight:600;background:var(--input-bg)}
.club-match-table td{padding:14px 4px;border-top:1px solid var(--line);vertical-align:middle}
.club-match-table .club-match-date{width:58px;padding-left:8px;font-size:10px;color:var(--muted)}
.club-match-date time span{display:block;line-height:1.7}
.club-table-player{min-height:26px;display:flex;align-items:center;gap:4px;line-height:1.35}
.club-table-player strong{font-size:13px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.club-winner{font-size:13px;flex-shrink:0;display:inline-block;margin-left:3px}
.club-match-table .club-table-score{width:34px;text-align:center}
.club-result-link{display:block;padding:4px 0;min-height:52px}
.club-result-link strong,.club-set-column span{display:block;min-height:26px;line-height:26px}
.club-result-link strong{font-size:17px;font-weight:750}
.club-result-link:hover,.club-result-link .is-winner{color:var(--accent)}
.club-match-table .club-match-detail{width:44px;text-align:center;font-size:0}
.club-match-detail a{display:flex;justify-content:center;align-items:center;min-height:48px;font-size:28px;color:var(--muted)}
.club-match-detail a:hover{color:var(--accent)}
.club-live-badge{display:inline-flex;align-items:center;gap:5px;color:var(--live);font-size:10px;font-weight:800;white-space:nowrap}
.club-live-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--live)}
.club-match-state{font-size:10px;color:var(--muted)}
.club-match-status-compact{margin-top:5px}
.club-match-status-column,.club-match-table .club-set-column{display:none}
.club-match-table .club-current-set{color:var(--live)}
.club-match-list>.club-status,.club-match-list>button{margin:16px}
.club-match-table a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}
.club-score-name .club-winner{font-size:20px;vertical-align:middle}
@media(min-width:600px){.club-main-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.club-table-player strong{font-size:16px}.club-match-table .club-match-date{width:88px;font-size:12px;padding-left:16px}.club-match-table .club-table-score{width:54px}}
@media(min-width:768px){.club-match-status-column{display:table-cell;width:94px}.club-match-table .club-set-column{display:table-cell;width:36px;text-align:center;font-size:13px;color:var(--muted)}.club-match-table .club-current-set{color:var(--live)}.club-match-status-compact{display:none}.club-match-table .club-match-detail{width:56px;font-size:11px}.club-match-table td{padding-top:14px;padding-bottom:14px}}
