.admin-page{min-width:0}.admin-scope{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin-bottom:var(--space-3);gap:8px;display:grid}.health-list,.readiness-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.health-item,.readiness-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.health-item__body,.readiness-item__body{overflow-wrap:anywhere;min-width:0;font-size:var(--font-size-caption);color:var(--color-text-secondary);gap:2px;display:grid}.health-item__body strong,.readiness-item__body strong{color:var(--color-text-primary);font-size:var(--font-size-body)}.health-item__body small{color:var(--color-text-muted)}.health-badge{white-space:nowrap;border-radius:4px;flex:none;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.6}.health-badge--pass{color:var(--color-success);border:1px solid var(--color-success);background:var(--color-success-soft)}.health-badge--warning{color:var(--color-warning);border:1px solid var(--color-warning);background:var(--color-warning-soft)}.health-badge--error{color:var(--color-danger);border:1px solid var(--color-danger);background:var(--color-danger-soft)}.sync-status-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sync-status-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-caption);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.sync-status-item--unsynced{border-color:var(--color-warning)}.correction-form{margin-top:var(--space-3);flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.correction-form label{color:var(--color-text-secondary);gap:4px;font-size:12px;display:grid}.correction-form select,.correction-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:44px;color:var(--color-text-primary);padding:0 10px}.correction-form input[type=number]{width:100px}@media (width<=767px){.admin-page{min-width:0}.segmented{overflow:auto}.correction-form{flex-direction:column;align-items:stretch}}.home-hero{max-width:680px}.home-hero h2{margin:0 0 20px;font-size:clamp(22px,3vw,28px)}.home-hero p:last-child{color:var(--color-text-secondary);margin:12px 0 0}.hero-progress{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;display:flex}.hero-progress strong{font-size:16px}.hero-progress span{color:var(--color-accent);font-size:24px;font-weight:700}.today-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.card-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.match-list{gap:8px;display:grid}.match-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);gap:2px;min-width:0;padding:12px;text-decoration:none;display:grid}.match-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.match-card span{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.match-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-card b{color:var(--color-text-muted);margin:0 5px;font-weight:500}.standings-table{border-collapse:collapse;white-space:nowrap;width:100%}.standings-table th,.standings-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:12px 14px}.standings-table th{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:650}.standings-table tbody tr:last-child td{border-bottom:0}.player-row-button{max-width:180px;color:var(--color-text-primary);font:inherit;text-align:left;background:0 0;border:0;padding:0}.rank-up{color:var(--color-success)}.rank-down{color:var(--color-danger)}.quick-detail{gap:14px;max-width:560px;margin-top:20px;display:grid}.detail-stats{color:var(--color-text-secondary);flex-wrap:wrap;gap:8px 16px;display:flex}.detail-stats span{white-space:nowrap}@media (width<=767px){.today-grid{grid-template-columns:1fr}.standings-table th,.standings-table td{padding:11px 10px}.standings-table .desktop-only{display:none}.player-row-button{max-width:105px}.hero-progress{flex-direction:column;align-items:flex-start;gap:2px}.hero-progress span{font-size:22px}.quick-detail{max-width:100%}}.match-filters{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.match-filters label{color:var(--color-text-secondary);gap:4px;font-size:12px;display:grid}.match-filters select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:40px;color:var(--color-text-primary);padding:0 10px}.matches-list{gap:8px;display:grid}.match-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.match-row>span,.match-row small{color:var(--color-text-secondary)}.match-row strong{min-width:0}.match-row b{font-size:18px}.match-row em{color:var(--color-text-muted)}.match-row.is-target{border-color:var(--color-accent);background:var(--color-accent-soft)}.match-row.is-editing{border-color:var(--color-border-strong)}.match-row>small,.match-row>.notice{grid-column:1/-1}.match-row__actions{flex-wrap:wrap;justify-self:end;align-items:center;gap:8px;display:flex}.match-row__edit{flex-wrap:wrap;align-items:center;gap:6px;display:flex;white-space:normal!important}.match-score-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:56px;min-height:44px;color:var(--color-text-primary);text-align:center;padding:0 6px}@media (width<=767px){.match-filters{grid-template-columns:1fr 1fr;display:grid}.match-row{grid-template-columns:54px minmax(0,1fr)}.match-row .status-badge,.match-row small{grid-column:2}.match-row strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.match-row__actions,.match-row__edit{grid-column:2}}.statistics-page{min-width:0}.statistics-page .table-shell{max-width:100%;overflow-x:auto}.statistics-scope{color:var(--color-text-secondary);font-size:var(--font-size-caption);gap:8px;display:grid}.metric-grid,.profile-grid,.records-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.records-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.records-grid .card{gap:5px;display:grid}.records-grid strong{font-size:20px}.records-grid span{color:var(--color-text-secondary)}.statistics-table{border-collapse:collapse;white-space:nowrap;width:100%}.statistics-table th,.statistics-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:11px 12px}.statistics-table th{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.statistics-table tr.is-selected{background:var(--color-surface-hover)}.statistics-player{min-height:44px}.statistics-detail,.tournament-detail{gap:14px;display:grid}.form{border-radius:4px;place-items:center;min-width:22px;height:22px;margin-right:3px;font-size:11px;font-weight:700;display:inline-grid}.form--W{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 15%,transparent)}.form--D{color:var(--color-text-secondary);background:var(--color-surface-2)}.form--L{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 15%,transparent)}.advanced-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);display:grid}.advanced-grid .card{gap:var(--space-3);min-width:0;display:grid}.advanced-grid h3{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.radar-chart{gap:var(--space-3);justify-items:center;display:grid}.radar-chart--empty{color:var(--color-text-secondary);justify-items:start;gap:4px}.radar-chart--empty strong{color:var(--color-text-primary)}.radar-chart svg{width:100%;max-width:240px;height:auto}.radar-grid{fill:none;stroke:var(--color-border)}.radar-axis{stroke:var(--color-border)}.radar-shape{fill:var(--color-accent-soft);stroke:var(--color-accent);stroke-width:2px}.radar-axis-label{fill:var(--color-text-secondary);font-size:10px}.radar-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;width:100%;display:grid}.radar-metrics li{color:var(--color-text-secondary);font-size:var(--font-size-caption);justify-content:space-between;gap:6px;display:flex}.radar-metrics strong{color:var(--color-text-primary)}.radar-metrics__ovr{border-top:1px solid var(--color-border);font-size:var(--font-size-body);grid-column:1/-1;padding-top:6px}.rank-trend-chart{gap:var(--space-3);min-width:0;display:grid}.rank-trend-chart--empty{color:var(--color-text-secondary)}.rank-trend-chart svg{width:100%;height:auto;display:block}.rank-trend-gridline{stroke:var(--color-border);stroke-width:1px}.rank-trend-line{stroke-width:2px}.rank-trend-line polyline{fill:none}.rank-trend-line circle{stroke:none}.rank-trend-line--muted{opacity:.32}.rank-trend-line--active{stroke-width:3px;opacity:1}.rank-trend-legend{font-size:var(--font-size-caption);color:var(--color-text-secondary);flex-wrap:wrap;gap:8px 14px;display:flex}.rank-trend-legend li{align-items:center;gap:6px;display:inline-flex}.rank-trend-legend li.is-selected{color:var(--color-text-primary);font-weight:700}.rank-trend-swatch{border-radius:var(--radius-pill);width:10px;height:10px;display:inline-block}.monte-carlo{gap:var(--space-3);min-width:0;display:grid}.monte-carlo__note,.monte-carlo__disclaimer{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin:0}.monte-carlo-detail{margin-top:var(--space-3);gap:10px;display:grid}.monte-carlo-detail h3{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.monte-carlo-positions{gap:7px;display:grid}.monte-carlo-positions li{font-size:var(--font-size-caption);color:var(--color-text-secondary);grid-template-columns:32px 1fr 56px;align-items:center;gap:8px;display:grid}.monte-carlo-positions strong{text-align:right;color:var(--color-text-primary)}@media (width<=767px){.metric-grid,.profile-grid,.records-grid{grid-template-columns:1fr}.statistics-table th,.statistics-table td{padding:10px 9px}.statistics-detail .detail-stats{gap:7px;display:grid}.segmented{overflow:auto}.statistics-page{min-width:0}.advanced-grid{grid-template-columns:1fr}}.tournament-page{min-width:0}.tournament-scope{color:var(--color-text-secondary);font-size:var(--font-size-caption);gap:8px;display:grid}.tournament-champion{font-size:var(--font-size-body);align-items:baseline;gap:10px;display:flex}.tournament-champion strong{font-size:var(--font-size-section-title)}.bracket-scroll{gap:var(--space-4);padding-bottom:6px;display:flex;overflow-x:auto}.bracket-zone{gap:var(--space-3);flex:none;min-width:230px;display:grid}.bracket-zone h3{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.bracket-match{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:4px;padding:10px 12px;display:grid}.bracket-match__label{font-size:var(--font-size-caption);color:var(--color-text-muted)}.bracket-match__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.bracket-match__row.is-winner .bracket-match__name{color:var(--color-text-primary);font-weight:700}.bracket-match__name small{color:var(--color-text-muted);font-weight:400}.bracket-match__score{font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.bracket-match__badge{color:var(--color-success);border:1px solid var(--color-success);border-radius:4px;padding:0 4px;font-size:10px;font-weight:700;line-height:1.4}.bracket-match__pk{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.bracket-match__state{font-size:var(--font-size-caption);color:var(--color-text-muted)}.bracket-note{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.bracket-match.is-editing{border-color:var(--color-border-strong)}.bracket-score-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:48px;min-height:44px;color:var(--color-text-primary);text-align:center;padding:0 4px}.bracket-match__pk-edit{color:var(--color-text-secondary);font-size:var(--font-size-caption);align-items:center;gap:6px;display:flex}.bracket-match__actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.bracket-match__hint{color:var(--color-danger);font-size:var(--font-size-caption);margin:0}@media (width<=767px){.tournament-page{min-width:0}.segmented{overflow:auto}}:root{--color-bg:#081521;--color-bg-elevated:#0c1d2c;--color-surface:#102536;--color-surface-2:#142c3e;--color-surface-hover:#19364a;--color-border:#29465c;--color-border-strong:#40627a;--color-text-primary:#f2f6f8;--color-text-secondary:#afc0ce;--color-text-muted:#71889a;--color-accent:#78cee8;--color-accent-soft:#78cee824;--color-success:#80d0b3;--color-success-soft:#80d0b324;--color-danger:#ed918a;--color-danger-soft:#ed918a24;--color-warning:#e7bd77;--color-warning-soft:#e7bd7724;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--shadow-sm:0 2px 10px #0000001f;--shadow-md:0 10px 30px #00000029;--font-sans:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-caption:12px;--font-size-body:14px;--font-size-card-title:16px;--font-size-section-title:20px;--font-size-page-title:clamp(24px,3vw,28px);--font-size-metric:clamp(24px,4vw,32px)}*{box-sizing:border-box}html{background:var(--color-bg)}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-body);word-break:keep-all;margin:0;line-height:1.5;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.app-shell{grid-template-rows:auto 1fr;grid-template-columns:208px minmax(0,1fr);min-height:100vh;display:grid}.app-brand{border-right:1px solid var(--color-border);background:var(--color-bg-elevated);grid-area:1/1;padding:28px 24px 20px}.app-brand__eyebrow,.eyebrow{margin:0 0 var(--space-1);color:var(--color-accent);font-size:var(--font-size-caption);letter-spacing:.06em;font-weight:700;display:block}.app-brand strong{letter-spacing:-.02em;font-size:17px}.primary-navigation{border-right:1px solid var(--color-border);background:var(--color-bg-elevated);flex-direction:column;grid-area:2/1;gap:4px;padding:12px;display:flex}.primary-navigation__item{border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--color-text-secondary);align-items:center;padding:10px 12px;font-weight:650;text-decoration:none;display:flex}.primary-navigation__item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.primary-navigation__item.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.app-content{grid-area:1/2/span 2;min-width:0;padding:clamp(24px,5vw,56px)}.page-layout{width:min(100%,1120px);margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-7);display:flex}.page-header h1{font-size:var(--font-size-page-title);letter-spacing:-.035em;margin:0;line-height:1.25}.page-header p:not(.eyebrow),.section-header p{margin:var(--space-2) 0 0;color:var(--color-text-secondary)}.section-header{margin:var(--space-7) 0 var(--space-3)}.section-header h2{font-size:var(--font-size-section-title);letter-spacing:-.025em;margin:0}.layout-grid{gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.layout-grid>*{grid-column:span 4}.layout-grid .span-8{grid-column:span 8}.card{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.metric-card{gap:var(--space-2);flex-direction:column;display:flex}.metric-card span,.metric-card small{color:var(--color-text-secondary)}.metric-card strong{font-size:var(--font-size-metric);letter-spacing:-.04em}.button{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:650;display:inline-flex}.button--primary{background:var(--color-accent);color:#06202b}.button--secondary{border-color:var(--color-border-strong);background:var(--color-surface-2);color:var(--color-text-primary)}.button--ghost{color:var(--color-text-secondary);background:0 0}.button--danger{background:var(--color-danger-soft);color:var(--color-danger)}.button:hover:not(:disabled){filter:brightness(1.06)}.button:disabled{cursor:not-allowed;opacity:.5}.icon-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:44px;height:44px;color:var(--color-text-primary);place-items:center;display:inline-grid}.segmented{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-elevated);max-width:100%;padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-pill);min-height:36px;color:var(--color-text-secondary);background:0 0;border:0;padding:0 12px}.segmented button[aria-pressed=true]{background:var(--color-surface-2);color:var(--color-text-primary)}.status-badge{border-radius:var(--radius-pill);min-height:24px;font-size:var(--font-size-caption);white-space:nowrap;align-items:center;padding:2px 8px;font-weight:700;display:inline-flex}.status-badge--accent{background:var(--color-accent-soft);color:var(--color-accent)}.status-badge--success{background:var(--color-success-soft);color:var(--color-success)}.status-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge--muted{color:var(--color-text-secondary);background:#71889a29}.progress{border-radius:var(--radius-pill);background:var(--color-bg-elevated);height:8px;overflow:hidden}.progress span{border-radius:inherit;background:var(--color-accent);height:100%;display:block}.table-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:100%;overflow-x:auto}.state{padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);text-align:center}.state p{margin:var(--space-2) 0 0}.notice{border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-text-secondary);padding:12px 14px}.notice--warning{border-color:var(--color-warning);background:var(--color-warning-soft)}.notice--error{border-color:var(--color-danger);background:var(--color-danger-soft)}.player-identity{min-width:0}.player-identity--compact{white-space:nowrap;align-items:center;gap:4px;max-width:100%;display:flex}.player-identity__name{text-overflow:ellipsis;min-width:0;overflow:hidden}.player-identity--compact .player-identity__badges{min-width:0;color:var(--color-warning);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-identity--full{gap:2px;display:grid}.player-identity--full>strong{font-size:var(--font-size-card-title)}.player-identity--full>span:not(.player-identity__badges){color:var(--color-text-secondary)}.player-identity--full .player-identity__badges{color:var(--color-warning);overflow-wrap:anywhere}.placeholder-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.placeholder-block{min-height:118px}.placeholder-block--link{color:inherit;cursor:pointer;text-decoration:none;display:block}.placeholder-block strong{margin-bottom:var(--space-2);display:block}.placeholder-block p{color:var(--color-text-secondary);margin:0}@media (width<=767px){.app-shell{padding-bottom:76px;display:block}.app-brand{border-right:0;border-bottom:1px solid var(--color-border);padding:16px 20px}.primary-navigation{z-index:10;border-top:1px solid var(--color-border);box-shadow:var(--shadow-md);border-right:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.primary-navigation__item{text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-content:center;min-height:52px;padding:8px 2px;font-size:clamp(11px,3.1vw,13px);overflow:hidden}.app-content{padding:24px 16px}.page-header{flex-direction:column;align-items:flex-start;margin-bottom:24px}.layout-grid>*,.layout-grid .span-8{grid-column:span 12}.placeholder-grid{grid-template-columns:1fr}.card{padding:16px}.page-header__actions,.page-header__actions>.button{width:100%}}
