:root{--stats-bg: #0f0f12;--stats-surface: #1a1a22;--stats-border: #2a2a36;--stats-text: #f0f0f5;--stats-muted: #9a9aad;--stats-accent: #ff66aa;--stats-accent-dim: #cc4488}.stats-page{min-height:100vh;background:var(--stats-bg);color:var(--stats-text);font-family:system-ui,-apple-system,sans-serif;line-height:1.5}.stats-header{position:relative;padding:1.5rem 1.25rem 2rem;border-bottom:1px solid var(--stats-border);background:linear-gradient(180deg,#1a1020 0%,var(--stats-bg) 100%)}.stats-auth{position:absolute;top:1.5rem;right:1.25rem;display:flex;align-items:center;gap:.75rem}.stats-auth__user{font-size:.875rem;color:var(--stats-muted)}.stats-badge{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;vertical-align:middle}.stats-badge--admin{background:#3a2040;color:var(--stats-accent)}.stats-badge--dev{background:#203040;color:#6bf}.stats-main--center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:50vh}.stats-error{margin:0;color:#ff8a8a;text-align:center}.stats-hint{margin:-.5rem 0 1rem;font-size:.85rem;color:var(--stats-muted)}.stats-input{padding:.5rem .75rem;border:1px solid var(--stats-border);border-radius:6px;background:#14141a;color:var(--stats-text);font:inherit;font-size:.875rem}.stats-btn--large{padding:.75rem 1.5rem;font-size:1rem}.stats-btn--small{padding:.25rem .6rem;font-size:.75rem}.member-list{list-style:none;margin:0 0 1rem;padding:0;border:1px solid var(--stats-border);border-radius:8px;background:var(--stats-surface)}.member-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--stats-border)}.member-item:last-child{border-bottom:none}.member-id{color:var(--stats-muted);font-size:.85rem}.member-form,.tournament-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.stats-toolbar{display:flex;justify-content:flex-end;margin-bottom:1.25rem}.stats-select{padding:.5rem .75rem;border:1px solid var(--stats-border);border-radius:6px;background:#14141a;color:var(--stats-text);font:inherit;font-size:.875rem}.stats-modal[hidden]{display:none}.stats-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1.25rem}.stats-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009}.stats-modal__panel{position:relative;width:min(560px,100%);border:1px solid var(--stats-border);border-radius:12px;background:var(--stats-surface);box-shadow:0 24px 70px #00000073;padding:1rem}.stats-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.stats-modal__title{margin:0;font-size:1.125rem;font-weight:700}.stats-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;width:100%}@media(max-width:640px){.stats-auth{position:static;margin-bottom:1rem;justify-content:flex-end}}.stats-back{display:inline-block;margin-bottom:1rem;color:var(--stats-muted);text-decoration:none;font-size:.875rem}.stats-back:hover{color:var(--stats-accent)}.stats-label{margin:0 0 .25rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stats-accent)}.stats-title{margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.stats-meta{margin:.5rem 0 0;color:var(--stats-muted);font-size:.9rem}.stats-main{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.stats-section+.stats-section{margin-top:2.5rem}.stats-section h2{margin:0 0 1rem;font-size:1.125rem;font-weight:600}.stats-table-wrap{overflow-x:auto;border:1px solid var(--stats-border);border-radius:8px;background:var(--stats-surface)}.stats-table{width:100%;border-collapse:collapse;font-size:.9rem}.stats-table th,.stats-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--stats-border)}.stats-table th{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--stats-muted);background:#14141a}.stats-table tr:last-child td{border-bottom:none}.stats-table tbody tr:hover{background:#22222c}.stats-table .num{text-align:right;font-variant-numeric:tabular-nums}.stats-table .rank{width:3rem;color:var(--stats-muted)}.stats-table .score{font-weight:600;color:var(--stats-accent)}.stats-empty{padding:2rem 1rem;text-align:center;color:var(--stats-muted)}.stats-toolbar{margin-bottom:1.25rem}.stats-btn{padding:.5rem 1rem;border:1px solid var(--stats-border);border-radius:6px;background:var(--stats-surface);color:var(--stats-text);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.stats-btn:hover{border-color:var(--stats-muted)}.stats-btn--primary{background:var(--stats-accent);border-color:var(--stats-accent);color:#fff}.stats-btn--primary:hover{background:var(--stats-accent-dim);border-color:var(--stats-accent-dim)}.stats-btn--danger{flex-shrink:0;color:#ff8a8a;border-color:#4a2a2a;background:#1f1418}.stats-btn--danger:hover{background:#2a181c;border-color:#6a3a3a}.tournament-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.tournament-card{display:flex;align-items:stretch;gap:.75rem;border:1px solid var(--stats-border);border-radius:8px;background:var(--stats-surface);overflow:hidden}.tournament-card__link{flex:1;display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;color:inherit;text-decoration:none}.tournament-card__link:hover{background:#22222c}.tournament-card__name{font-size:1rem;font-weight:600}.tournament-card__meta{font-size:.85rem;color:var(--stats-muted)}.tournament-card .stats-btn--danger{margin:.75rem .75rem .75rem 0}.stats-main--wide{max-width:1200px}.stats-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;border:1px solid var(--stats-border);border-radius:8px;background:var(--stats-surface)}.stats-tab{flex:1;padding:.65rem 1rem;border:none;border-radius:6px;background:transparent;color:var(--stats-muted);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.stats-tab:hover{color:var(--stats-text);background:#22222c}.stats-tab--active{color:#fff;background:var(--stats-accent)}.stats-tab-panel[hidden]{display:none}.tab-toolbar{display:flex;justify-content:flex-end;margin-bottom:1.25rem}.tab-subsection{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--stats-border)}.beatmap-link{color:var(--stats-accent);text-decoration:none;font-variant-numeric:tabular-nums}.beatmap-link:hover{text-decoration:underline}.map-pool-table .slot-cell{font-weight:600}.map-header__slot{display:block;font-weight:600}.map-header__title{display:block;margin-top:.15rem;font-size:.7rem;font-weight:400;text-transform:none;letter-spacing:normal;line-height:1.3;max-width:12rem;white-space:normal}.map-header__title .beatmap-link{font-size:inherit}.map-header__id{display:block;margin-top:.15rem;font-size:.7rem;font-weight:400;text-transform:none;letter-spacing:normal}.map-header__id .beatmap-link{font-size:inherit}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.stats-empty--compact{padding:.75rem 0;text-align:left}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.team-card{border:1px solid var(--stats-border);border-radius:8px;background:var(--stats-surface);padding:1rem}.team-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.team-card__name{margin:0;font-size:1rem;font-weight:600}.team-players{list-style:none;margin:0 0 .75rem;padding:0}.team-player{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--stats-border)}.team-player:last-child{border-bottom:none}.map-list{list-style:none;margin:0;padding:0;border:1px solid var(--stats-border);border-radius:8px;background:var(--stats-surface)}.map-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--stats-border)}.map-item:last-child{border-bottom:none}.score-matrix .team-cell{font-weight:600;vertical-align:top;background:#14141a}.score-matrix .player-cell{white-space:nowrap}.score-matrix .map-col{min-width:9rem}.score-cell{padding:.35rem .5rem}.score-input{width:100%;min-width:5rem;padding:.35rem .5rem;border:1px solid var(--stats-border);border-radius:4px;background:#14141a;color:var(--stats-text);font:inherit;font-size:.875rem;text-align:right;font-variant-numeric:tabular-nums}.score-input:focus{outline:none;border-color:var(--stats-accent)}.round-list{display:flex;flex-direction:column;gap:2rem}.round-block{border:1px solid var(--stats-border);border-radius:8px;background:var(--stats-surface);padding:1rem 1.25rem}.round-block__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.round-block__title{margin:0 0 1rem;font-size:1rem;font-weight:700;color:var(--stats-accent)}.round-block__header .round-block__title{margin-bottom:0}
