:root{--panel-soft:#202b23;--success:#88c797;--warning:#e1c174;--danger:#ee9a8c;--focus:#f1cf7d}
button{min-height:44px}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.nav-group{display:grid;gap:7px}.nav-secondary{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.nav-secondary button{font-size:13px;color:var(--muted)}
.page-header{margin-bottom:24px}.page-header p{margin-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 16px}.section-heading h2{margin:0}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 30px}.stat-grid .card{padding:18px}.stat-grid span{display:block;color:var(--muted);font-size:13px}.stat-grid strong{display:block;margin-top:5px;color:var(--gold);font:32px Georgia}
.event-grid{align-items:stretch}.event-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.event-card>.event-image{width:100%;height:190px;max-height:none;margin:0;border-radius:0;object-fit:cover;background:#111913}.event-card-body{display:flex;flex:1;flex-direction:column;padding:22px}.event-card-tags{display:flex;flex-wrap:wrap;gap:7px}.event-card h2{margin:16px 0 8px;font-size:24px}.event-card-when{margin:0}.event-facts{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.event-facts span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.card-actions{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px}.card-actions .primary{flex:1}.tag.status-live{background:#244c30;color:#c7efd0}.tag.status-registration{background:#3d3825;color:#f2d98d}.tag.status-complete{background:#303638;color:#d2d7d8}.tag.game-tag{background:#283438;color:#c9dce2}
.compact-menu{position:relative}.compact-menu>summary{display:flex;align-items:center;min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:6px;cursor:pointer;list-style:none}.compact-menu>summary::-webkit-details-marker{display:none}.compact-menu>summary::after{content:'▾';margin-left:8px;color:var(--muted)}.compact-menu[open]>summary{border-color:var(--gold)}.compact-menu>div{position:absolute;right:0;z-index:16;min-width:210px;margin-top:5px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:0 10px 24px #0009}.compact-menu>div>*{display:block;width:100%;margin:3px 0;text-align:left}.compact-menu>div a{padding:11px;text-decoration:none}
.connection-status{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:0 0 18px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:12px}.connection-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--muted)}.connection-healthy .connection-dot{background:var(--success)}.connection-saving .connection-dot{background:var(--warning);box-shadow:0 0 0 4px #e1c17422}.connection-problem{width:100%;border-radius:7px;padding:12px 14px;border-color:#795949;background:#32251f;color:#f0d3c9}.connection-problem .connection-dot{background:var(--danger)}.connection-status button{min-height:34px;padding:6px 10px;font-size:12px}
#app>.notice[role="status"]:first-child{display:none}
.player-match{padding:0;overflow:visible}.player-match>[data-event-updates],.player-match>#match-clock,.player-match>.scorecard,.player-match>.primary-action,.player-match>.result-status,.player-match>p{margin-left:22px;margin-right:22px}.match-hero{padding:20px 22px;margin-bottom:12px;border-bottom:1px solid var(--line);align-items:flex-start}.match-hero h2{margin:7px 0 0}.match-more>div{right:0}.scorecard{margin-top:18px}.scorecard-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.scorecard-heading h3{margin-bottom:4px}.scorecard-heading p{margin-top:0}.score-total{flex:0 0 auto;padding:10px 14px;border-radius:7px;background:var(--panel-soft);text-align:right}.score-total span,.turn-score-row small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.score-total strong{display:block;margin-top:3px;font-size:20px;color:var(--gold)}.turn-score-list{border-top:1px solid var(--line)}.turn-score-row{display:grid;grid-template-columns:minmax(75px,.7fr) minmax(120px,1fr) minmax(120px,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.turn-score-row>span:not(.saved-label){font-weight:600}.turn-score-row button{min-width:105px}.saved-label{color:var(--success);font-size:12px}.scorecard-progress{margin:12px 0 20px}.primary-action{padding:18px;margin-top:20px!important;margin-bottom:22px!important;border:1px solid #71633c;border-radius:8px;background:#2b281c}.primary-action h3{margin-top:0}.primary-action .primary{font-size:16px}.result-status{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;margin-top:18px;border-radius:7px;background:#203026}.result-status strong{color:var(--success)}.result-status span{color:var(--muted)}
dialog{max-height:min(88vh,850px);overflow:auto}.panel{overflow-wrap:anywhere}.tabs{overflow-x:auto;scrollbar-width:thin}.tabs button{white-space:nowrap}
@media(max-width:800px){nav{display:block}.nav-group{display:flex;flex-wrap:wrap}.nav-group button{flex:1 1 auto;text-align:center}.nav-secondary{margin-top:10px;padding-top:10px}.page-header{align-items:flex-start}.page-header .primary{width:100%}.stat-grid{grid-template-columns:repeat(3,1fr);gap:7px}.stat-grid .card{padding:12px}.stat-grid strong{font-size:25px}.section-heading{align-items:flex-start}.event-card>.event-image{height:170px}.event-card-body{padding:18px}.event-card h2{font-size:22px}.event-facts{margin:12px 0}.card-actions{align-items:stretch}.compact-menu>div{position:fixed;z-index:40;right:12px;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));min-width:0}.connection-status{margin:0 0 14px}.connection-problem{align-items:flex-start;flex-wrap:wrap}.connection-problem [data-connection-text]{flex:1 1 calc(100% - 24px)}.match-hero{display:flex;padding:16px}.match-hero h2{font-size:24px}.player-match>[data-event-updates],.player-match>#match-clock,.player-match>.scorecard,.player-match>.primary-action,.player-match>.result-status,.player-match>p{margin-left:14px;margin-right:14px}.scorecard-heading{align-items:center}.scorecard-heading p{font-size:13px}.score-total{padding:8px 10px}.turn-score-row{grid-template-columns:1fr 1fr;gap:9px;padding:14px 0}.turn-score-row>strong{grid-column:1/-1;font-size:17px}.turn-score-row button,.turn-score-row>.saved-label{grid-column:1/-1;width:100%;min-height:48px}.turn-score-row>.saved-label{min-height:0;text-align:right}.primary-action{position:relative;padding:16px}.primary-action .primary{width:100%;min-height:52px}.result-status{display:grid}.mobile-match-actions button{font-weight:700}}
@media(max-width:420px){.stat-grid{grid-template-columns:1fr}.stat-grid .card{display:flex;justify-content:space-between;align-items:center}.stat-grid strong{margin:0}.scorecard-heading{display:grid;grid-template-columns:1fr auto}}
@media print{.connection-status,.compact-menu{display:none!important}}
