:root{--bg:#0d0f12;--bg-elevated:#14171d;--surface:#181c23;--surface-hover:#1f242d;--border:#272d38;--border-strong:#38414f;--text:#e7eaee;--text-muted:#9aa3b2;--text-faint:#6b7484;--accent:#e8562a;--accent-hover:#f56a3f;--accent-soft:#e8562a24;--ok:#3fb950;--warn:#d29922;--danger:#f2544b;--radius:10px;--radius-sm:6px;--gap:16px;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.app{flex-direction:column;min-height:100%;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);padding:18px 28px}.header-top{align-items:center;gap:12px;display:flex}.app-title{letter-spacing:.14em;text-transform:uppercase;color:var(--text);flex-shrink:0;font-size:17px;font-weight:700}.app-title:hover{color:var(--text)}.header-right{flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:flex}.header-nav{align-items:center;gap:4px;margin-left:24px;display:flex}.header-nav-link{border-radius:var(--radius-sm);color:var(--text-muted);padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.header-nav-link:hover{color:var(--text);background:var(--surface-hover)}.header-nav-link--active{color:var(--accent);background:var(--accent-soft)}.header-avatar-link{border-radius:50%;line-height:0;display:inline-flex}.header-avatar-link:hover .avatar{border-color:var(--accent)}.app-footer{border-top:1px solid var(--border);text-align:center;margin-top:auto;padding:16px 28px}.footer-link{color:var(--text-muted);font-size:13px;text-decoration:none}.footer-link:hover{color:var(--text)}.header-name{color:var(--text-muted);font-size:14px}.header-name-edit{border-radius:var(--radius-sm);font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;margin:0 -4px;padding:4px 8px}.header-name-edit:hover{color:var(--text);border-color:var(--border)}.name-editor{align-items:center;gap:6px;display:inline-flex}.name-input{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-elevated);width:190px;color:var(--text);padding:6px 10px;font-family:inherit;font-size:14px}.name-input:focus{box-shadow:0 0 0 2px var(--accent-soft);outline:none}.name-error{color:var(--danger);font-size:12px}.avatar{border:1px solid var(--border-strong);object-fit:cover;border-radius:50%;width:28px;height:28px}.avatar-fallback{background:var(--accent-soft);color:var(--accent);text-transform:uppercase;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.app-title .accent{color:var(--accent)}.app-main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:32px 28px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;max-width:100%;padding:22px 24px}.card-title{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);margin-bottom:18px;font-size:13px;font-weight:600}.status-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:11px 0;display:flex}.status-row:last-child{border-bottom:none}.status-label{color:var(--text-muted)}.status-value{font-family:var(--font-mono);font-size:13px}.badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-ok{color:var(--ok);background:#3fb9501a;border-color:#3fb9504d}.badge-danger{color:var(--danger);background:#f2544b1a;border-color:#f2544b4d}.badge-muted{color:var(--text-faint);border-color:var(--border);background:#9aa3b214}.hint{color:var(--text-faint);margin-top:18px;font-size:13px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-hover);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--border);border-color:var(--text-faint)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-quiet{border-color:var(--border);color:var(--text-muted);background:0 0;padding:7px 14px;font-size:13px}.btn-quiet:hover{color:var(--text);background:var(--surface-hover)}.btn-google{color:#1f1f1f;background:#fff;border-color:#fff;width:100%;padding:12px 18px}.btn-google:hover{background:#ececec;border-color:#ececec}.centered-page{justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.login-card{text-align:center;width:100%;max-width:380px;padding:34px 30px}.login-title{margin-bottom:10px;font-size:19px}.login-blurb{color:var(--text-muted);margin:0 0 24px;font-size:14px}.callback-heading{margin-bottom:10px;font-size:17px}.stack{gap:var(--gap);flex-direction:column;display:flex}.stack>*{min-width:0;max-width:100%}.card-head{align-items:center;gap:16px;margin-bottom:18px;display:flex}.card-head .card-title{margin-bottom:0}.card-title-btn{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;transition:color .15s}.card-title-btn:hover,.card-title-btn:focus-visible{color:var(--accent)}.card-tools{align-items:center;gap:12px;margin-left:auto;display:flex}.card-note{color:var(--text-faint);margin-left:auto;font-size:13px}.btn-info{border:1px solid var(--border);width:20px;height:20px;color:var(--text-faint);font-family:var(--font);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;padding:0;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.btn-info:hover{border-color:var(--accent);color:var(--accent)}.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(880px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--text);padding:24px;overflow-y:auto}.modal::backdrop{background:#06080cb8}.modal-head{align-items:center;gap:16px;margin-bottom:12px;display:flex}.modal-head .btn{margin-left:auto}.modal-title{font-size:18px}.modal-scroll{margin-top:18px;overflow-x:auto}.change-log-list{margin:0;padding:0;list-style:none}.change-log-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(6.5rem,auto) minmax(4rem,auto) 1fr;align-items:baseline;gap:12px 16px;padding:10px 0;font-size:14px;display:grid}.change-log-row:last-child{border-bottom:none}.change-log-when{flex-direction:column;gap:2px;display:flex}.change-log-date{color:var(--text-muted);white-space:nowrap;font-size:12px}.change-log-time{font-family:var(--font-mono);color:var(--text);white-space:nowrap;font-size:13px}.change-log-amount{font-family:var(--font-mono);color:var(--accent);white-space:nowrap;font-size:14px;font-weight:600}.change-log-move{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.change-log-move-link{color:var(--text);text-decoration:none}.change-log-move-link:hover{color:var(--accent);text-decoration:underline}.change-log-week{color:var(--text-faint);font-size:11px;font-family:var(--font-mono)}.change-log-tz{margin-top:14px;margin-bottom:0}.change-log-filter{align-items:center;gap:10px;margin:0 0 12px;display:flex}.change-log-filter-label{color:var(--text-muted);font-size:12px}.change-log-filter-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:10rem;color:var(--text);padding:6px 10px;font-size:13px}.info-modal-body{flex-direction:column;gap:14px;display:flex}.info-modal-body .hint{margin:0}.info-modal-example{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:12px 14px}.info-modal-example-title{letter-spacing:.03em;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.info-modal-ranks{border-collapse:collapse;width:100%;font-size:13px}.info-modal-ranks th,.info-modal-ranks td{border-top:1px solid var(--border);text-align:left;padding:8px 12px}.info-modal-ranks thead th{color:var(--text-faint);padding-top:0;font-size:12px;font-weight:600}.info-modal-ranks tbody td{font-family:var(--font-mono);color:var(--text-muted);text-align:right}.levels-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.levels-table th,.levels-table td{text-align:right;white-space:nowrap;padding:9px 12px}.levels-table thead th{letter-spacing:.03em;padding-bottom:12px;font-size:12px;font-weight:600}.levels-table thead th:first-child{color:var(--text-faint);text-align:left}.levels-table tbody th,.levels-table tbody td{border-top:1px solid var(--border)}.levels-table tbody th{text-align:left;white-space:normal;min-width:160px;padding-left:0}.levels-table tbody td{font-family:var(--font-mono);color:var(--text-muted)}.levels-table td.is-held{font-weight:700}.levels-move{font-weight:600}.levels-unit{color:var(--text-faint);font-size:11px;font-weight:400}.page-head{align-items:flex-end;gap:16px;display:flex}.page-title{font-size:22px}.page-title-row{align-items:center;gap:8px;display:flex}.page-sub{color:var(--text-muted);margin:4px 0 0;font-size:13px}.page-head .btn{margin-left:auto}.page-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.page-actions .btn{margin-left:0}.link-row{align-self:flex-start;font-size:14px;font-weight:600}.link-row:after,.btn-forward:after{content:" →"}.btn-back:before{content:"← "}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segment{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:6px 13px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.segment:hover{background:var(--surface-hover);color:var(--text)}.segment.is-active{background:var(--accent-soft);color:var(--accent)}.toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:7px;font-size:13px;display:inline-flex}.toggle input{accent-color:var(--accent);width:15px;height:15px}.btn-tiny{margin-left:8px;padding:3px 9px;font-size:12px}.save-status{color:var(--text-faint);align-items:center;font-size:13px;display:inline-flex}.save-status.is-ok{color:var(--ok)}.save-status.is-error{color:var(--danger)}.grid-scroll{overflow-x:auto}.entry-grid-card{min-height:28rem}.grid-skeleton{gap:10px;padding:4px 0 8px;display:grid}.grid-skeleton-row{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-elevated) 0%, color-mix(in srgb, var(--bg-elevated) 70%, var(--border)) 50%, var(--bg-elevated) 100%);background-size:200% 100%;height:3.25rem;animation:1.2s ease-in-out infinite grid-skeleton-shimmer}@keyframes grid-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.grid{border-collapse:separate;border-spacing:0;width:100%}.grid th{font-weight:600}.grid-corner,.grid-move{z-index:1;background:var(--surface);text-align:left;min-width:180px;padding:8px 14px 8px 0;position:sticky;left:0}.grid-corner{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:12px}.grid-move-name{font-size:14px;display:block}.grid-move-meta{align-items:center;gap:8px;margin-top:2px;display:flex}.grid-move-meta .level-badge{box-sizing:border-box;justify-content:center;min-width:7.25rem;padding:2px 8px;font-size:11px;display:inline-flex}.grid-move-unit{color:var(--text-faint);font-size:12px}.grid-move-steps{gap:4px;margin-top:6px;display:flex}.grid-move-hint-slot{min-height:14.85px;margin-top:4px;position:relative}.grid-move-hint{color:var(--text-faint);margin:0;font-size:11px;line-height:1.35}.grid-step{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:0;min-height:28px;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;touch-action:manipulation;flex:1 1 0;padding:2px 4px;font-size:11px;font-weight:600;line-height:1.2;transition:border-color .12s,color .12s,background .12s}.grid-step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.grid-step:active:not(:disabled){background:var(--accent-soft)}.grid-step-minus{flex:0 0 36px}.grid-step:disabled{opacity:.35;cursor:not-allowed}.weight-card .card-head{margin-bottom:4px}.weight-hint{margin:0 0 14px}.weight-today{color:var(--accent);font-weight:600}.weight-log-row{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.weight-log-label{color:var(--text-muted);font-size:13px;font-weight:600}.weight-log-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.weight-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);width:88px;color:var(--text);font-family:var(--font-mono);text-align:center;padding:9px 8px;font-size:14px}.weight-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.weight-input.is-invalid{border-color:var(--danger)}.weight-unit{color:var(--text-faint);font-size:13px}.weight-steps{flex:160px;gap:4px;display:flex}.weight-steps .grid-step{flex:1 1 0;max-width:56px}.weight-steps .grid-step-minus{flex:0 0 40px;max-width:40px}.weight-summary{color:var(--text-muted);flex-wrap:wrap;gap:10px 16px;font-size:13px;display:flex}.weight-delta{font-family:var(--font-mono)}.weight-chart-empty{margin:0}.weight-history{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.weight-history-head{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600}.weight-history-list{max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.weight-history-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:10px;padding:7px 0;font-size:13px;display:grid}.weight-history-row:last-child{border-bottom:none}.weight-history-when{color:var(--text-muted)}.weight-history-value{font-family:var(--font-mono);font-weight:600}.grid-extras .grid-corner,.grid-extras .grid-move{min-width:210px}.extra-chart-head{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:14px;display:flex}.extra-chart-picker{align-items:center;gap:10px;display:flex}.extra-chart-picker-label{color:var(--text-muted);font-size:13px;font-weight:600}.extra-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:min(100%,280px);max-width:100%;color:var(--text);padding:8px 10px;font-size:14px}.extra-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.extra-chart-summary{color:var(--text-muted);font-size:13px;font-family:var(--font-mono)}.grid-week{min-width:74px;padding:0 4px 10px}.grid-week-number{font-family:var(--font-mono);color:var(--text-muted);font-size:13px;display:block}.grid-week-date{color:var(--text-faint);font-size:11px;font-weight:500;display:block}.grid-week.is-current .grid-week-number{color:var(--accent)}.grid-week.is-current .grid-week-date{color:var(--accent);opacity:.8}.grid td{padding:3px}.grid td.is-current{background:var(--accent-soft)}.grid tbody tr:first-child td.is-current{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.grid tbody tr:last-child td.is-current{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.grid-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);width:100%;min-width:64px;color:var(--text);font-family:var(--font-mono);text-align:center;padding:9px 6px;font-size:14px;transition:border-color .12s,box-shadow .12s}.grid-input:hover{border-color:var(--border-strong)}.grid-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:var(--surface-hover);outline:none}.grid-input.is-invalid{border-color:var(--danger)}.grid-stale-notice{background:var(--surface);color:var(--warning,#c9a227);margin:0;padding:0;font-size:11px;line-height:1.35;position:absolute;inset:0}.level-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(140px,1.2fr) 118px minmax(130px,1.4fr) minmax(150px,1fr);align-items:center;gap:16px;padding:13px 0;display:grid}.level-row:last-child{border-bottom:none}.level-move-name{font-size:14px;display:block}.level-move-total,.level-move-average{color:var(--text-faint);font-size:12px;display:block}.level-average-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.level-average-head .level-badge{padding:3px 9px;font-size:11px}.level-average-value{font-family:var(--font-mono);font-size:17px}.level-average-unit{color:var(--text-faint);font-size:11px;display:block}.level-average-outlook{color:var(--text-faint);margin-top:3px;font-size:11px;display:block}.level-average-previous{color:var(--text-faint);font-family:var(--font-mono);margin-top:3px;font-size:11px;display:block}.level-status{flex-direction:column;gap:10px;display:flex}.level-status-col{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.level-status-label{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.level-pace-outlook{flex-direction:column;gap:4px;display:flex}.level-pace-outlook-line{color:var(--text-muted);margin:0;font-size:11px;line-height:1.35}.level-pace-outlook-level-name{font-weight:600}.season-level-up-hint{color:var(--text-muted);margin:4px 0 0;font-size:11px;line-height:1.35;display:block}.season-level-up-target{font-weight:600}.week-outlook-banner{border:1px solid #3fb95038;border-left:3px solid var(--ok);border-radius:var(--radius-sm);background:#3fb9500f;margin:0;padding:13px 16px}.save-alert-banner{z-index:40;border:2px solid var(--danger);border-radius:var(--radius-sm);background:#ef444424;border-left-width:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:18px 20px;display:flex;position:sticky;top:0;box-shadow:0 4px 24px #ef444433}.save-alert-banner-invalid{background:#f59e0b1f;border-color:#f59e0b;box-shadow:0 4px 24px #f59e0b26}.save-alert-banner-body{flex:16rem;min-width:0}.save-alert-banner-title{color:var(--text);letter-spacing:.01em;margin:0;font-size:18px;font-weight:700;line-height:1.3}.save-alert-banner-text{color:var(--text);margin:6px 0 0;font-size:14px;line-height:1.45}.save-alert-banner-btn{flex-shrink:0;padding:12px 22px;font-size:15px;font-weight:700}.week-outlook-text{min-height:1.5em;color:var(--text);margin:0;font-size:14px;line-height:1.5}.week-outlook-note{color:var(--text-faint);margin:6px 0 0;font-size:12px}.chart-subhead-outlook{align-items:center;gap:6px;display:inline-flex}.chart-outlook-label{color:var(--text-faint)}.level-progress-track{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;height:6px;position:relative;overflow:hidden}.level-progress-fill{border-radius:999px;height:100%;transition:width .25s}.level-progress-caption{color:var(--text-faint);margin-top:6px;font-size:12px;display:block}.level-progress-previous{margin-top:3px;font-size:11px;display:block}.level-badge{letter-spacing:.03em;white-space:nowrap;border:1px solid;border-radius:999px;justify-self:end;padding:5px 12px;font-size:12px;font-weight:600}.chart-meta{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.chart-blurb{color:var(--text-muted);margin:0;font-size:13px}.legend{flex-wrap:wrap;gap:14px;margin-left:auto;display:flex}.legend-item{color:var(--text-faint);align-items:center;gap:6px;font-size:12px;display:inline-flex}.legend-swatch{border-top:2px dashed var(--text-faint);width:14px;height:0}.chart-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(330px,1fr));display:grid}.chart-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px 8px}.chart-head{align-items:baseline;gap:10px;padding:0 4px 8px;display:flex}.chart-title{font-size:13px;font-weight:600}.chart-value{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:13px}.chart-value-label{font-family:var(--font-sans);color:var(--text-faint);margin-left:5px;font-size:11px}.chart-subhead{flex-wrap:wrap;align-items:center;gap:8px;padding:0 4px 8px;display:flex}.chart-subhead-stat{color:var(--text-faint);font-size:12px}.chart-empty{color:var(--text-faint);margin:0;padding:22px 4px;font-size:13px}.roster{flex-direction:column;display:flex}.roster-row{border-radius:var(--radius-sm);color:var(--text);grid-template-columns:auto minmax(0,1fr) minmax(0,1.3fr) 90px 78px 14px;align-items:center;gap:12px;margin:0 -10px;padding:12px 10px;display:grid}.roster-row:hover{background:var(--surface-hover);color:var(--text)}.roster-head{border-bottom:1px solid var(--border);color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;padding-bottom:8px;font-size:11px}.roster-head:hover{background:0 0}.roster-name{align-items:center;gap:9px;font-size:14px;display:flex}.roster-best{align-items:center;gap:9px;min-width:0;display:flex}.roster-move{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.roster-empty{color:var(--text-faint);font-size:13px}.roster-number{text-align:right;font-size:13px}.roster-avg{font-family:var(--font-mono);font-size:15px;font-weight:600}.roster-week{color:var(--text-faint)}.roster-week.is-logged{color:var(--ok)}@media (width<=760px){.roster-row{grid-template-columns:auto minmax(0,1fr) auto 14px}.roster-best,.roster-head span:nth-child(3),.roster-week,.roster-head span:nth-child(5){display:none}}.roster-you{background:var(--accent-soft);color:var(--accent);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.roster-go{color:var(--text-faint);margin-left:auto;font-size:13px}.roster-row:hover .roster-go{color:var(--accent)}.roster-row.is-me{background:#e8562a14}.roster-row.is-me:hover{background:#e8562a1f}.roster-row.is-target{box-shadow:inset 3px 0 0 var(--accent)}.roster-place{font-weight:600}.roster-gap{color:var(--text-faint)}.roster-target{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;background:#e8562a24;border-radius:999px;padding:2px 7px;font-size:10px}.standings-table .roster-row{grid-template-columns:34px minmax(0,1.3fr) 72px 72px minmax(0,1fr) 78px 14px}.standings-table .roster-name{gap:9px}.avatar-lg{width:44px;height:44px;font-size:18px}.podium-stage{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;min-height:220px;padding-top:8px;display:grid}.podium-slot{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex}.podium-slot:hover{border-color:var(--border-strong);background:var(--surface-hover)}.podium-block.is-first{border-color:#f59e0b59;min-height:190px}.podium-block.is-second{min-height:160px}.podium-block.is-third{min-height:140px}.podium-rank{color:var(--text-faint);font-family:var(--font-mono);font-size:13px}.podium-name{font-size:14px;font-weight:600}.podium-score{font-family:var(--font-mono);font-size:22px;font-weight:700;line-height:1}.podium-score-label{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.duel-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.duel-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:12px}.duel-move{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px;font-size:12px;font-weight:600}.duel-leader{color:var(--text);flex-direction:column;gap:4px;display:flex}.duel-leader:hover .duel-leader-name{color:var(--accent)}.duel-leader-name{font-size:14px;font-weight:600}.duel-leader-value{font-family:var(--font-mono);color:var(--text-muted);font-size:13px}.duel-you{border-top:1px solid var(--border);color:var(--text-faint);margin-top:8px;padding-top:8px;font-size:12px}.duel-you.is-leading{color:var(--ok)}.duel-empty{color:var(--text-faint);margin:0;font-size:12px}.h2h-tools{flex-wrap:wrap;justify-content:flex-end}.h2h-mode .segment{padding:6px 11px}.h2h-picker{align-items:center;gap:8px;display:inline-flex}.h2h-picker-label{color:var(--text-faint);font-size:12px}.h2h-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);padding:6px 10px;font-size:13px}.h2h-summary{color:var(--text-muted);margin:0 0 14px;font-size:13px}.h2h-table{flex-direction:column;gap:2px;display:flex}.h2h-row{border-radius:var(--radius-sm);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) 72px;align-items:center;gap:10px;padding:8px 6px;font-size:13px;display:grid}.h2h-row.h2h-head{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.h2h-cell{color:var(--text-muted);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.h2h-move{color:var(--text);font-weight:500}.h2h-delta{font-family:var(--font-mono);text-align:right;color:var(--text-faint);font-size:12px}.h2h-delta.is-ahead{color:var(--ok)}.h2h-delta.is-behind{color:var(--danger)}.weakest-link.is-strong{border-color:#3fb95040}.weakest-text{color:var(--text-muted);margin:0;font-size:13px;line-height:1.55}.athlete-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));display:grid}.athlete-card{flex-direction:column;display:flex}.athlete-card-head{align-items:center;gap:12px;display:flex}.athlete-place{width:22px;color:var(--text-faint);font-family:var(--font-mono);text-align:center;font-size:15px}.athlete-who{flex-direction:column;gap:3px;min-width:0;display:flex}.athlete-name{align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.athlete-best{color:var(--text-faint);align-items:center;gap:8px;font-size:12px;display:flex}.score-wrap{margin-left:auto;position:relative}.athlete-score{font-family:var(--font-mono);cursor:help;flex-direction:column;align-items:flex-end;font-size:20px;font-weight:700;line-height:1.1;display:flex}.score-pop{z-index:20;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);width:300px;padding:13px 15px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 30px #00000080}.score-wrap:hover .score-pop,.score-wrap:focus-within .score-pop{display:block}.score-pop-title{margin-bottom:6px;font-size:13px;font-weight:600}.score-pop-blurb{color:var(--text-muted);margin:0 0 12px;font-size:12px;line-height:1.5}.score-pop-row{grid-template-columns:1fr auto 24px;gap:10px;padding:3px 0;font-size:12px;display:grid}.score-pop-move{color:var(--text-muted)}.score-pop-rank{color:var(--text-faint);font-family:var(--font-mono);text-align:right}.score-pop-total{border-top:1px solid var(--border);font-family:var(--font-mono);text-align:right;margin-top:9px;padding-top:9px;font-size:12px}.athlete-score-label{color:var(--text-faint);font-family:var(--font);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:500}.badge-button{cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0;line-height:0}.badge-button:hover .level-badge{filter:brightness(1.3)}.badge-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.athlete-section-label{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:9px;margin:20px 0 10px;font-size:11px;display:flex}.chart-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:20px 0 10px;display:flex}.chart-section-head .athlete-section-label{flex:none;margin:0}.chart-section-head .chart-caption{text-align:right;flex:auto;min-width:0;margin:0}.chart-caption{font-size:12px;line-height:1.35}.week-flag{background:var(--bg-elevated);color:var(--text-faint);letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:10px}.week-flag.is-logged{color:var(--ok);background:#3fb95024}.chart-caption--urgent{color:var(--warn)}.chart-caption--nudge{color:var(--accent)}.chart-caption--positive{color:var(--ok)}.chart-caption--neutral{color:var(--text-muted)}.week-strip{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:8px;display:grid}.week-cell{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;flex-direction:column;gap:2px;padding:8px 4px;display:flex}.week-cell.is-empty{opacity:.5;border-style:dashed}.week-value{font-family:var(--font-mono);font-size:15px;font-weight:600}.week-previous{color:var(--text-faint);font-family:var(--font-mono);font-size:11px}.week-move{color:var(--text-faint);font-size:10px;line-height:1.25}.athlete-card .link-row{margin-top:16px;margin-bottom:0}.average-chart{flex-direction:column;display:flex;overflow:hidden}@keyframes chart-swap-in{0%{opacity:0;transform:translateX(var(--swap-from))}to{opacity:1;transform:none}}.chart-swap{--swap-from:22px;animation:.26s cubic-bezier(.22,.61,.36,1) chart-swap-in}.chart-swap.is-back{--swap-from:-22px}@media (prefers-reduced-motion:reduce){.chart-swap{animation:none}}.chart-pager{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.pager-arrow{border:1px solid var(--border);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.pager-arrow:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text)}.pager-key{flex-wrap:wrap;flex:1;justify-content:center;gap:6px 14px;display:flex}.pager-play{margin-left:4px}.legend-dot{border-radius:50%;width:9px;height:9px}.chart-tip{border:1px solid var(--border);background:#14171d;border-radius:8px;padding:10px 12px;font-size:12px}.chart-tip-head{color:var(--text-faint);font-family:var(--font-mono);margin-bottom:7px}.chart-tip-row{grid-template-columns:9px 1fr auto auto;align-items:center;gap:9px;padding:2px 0;display:grid}.chart-tip-swatch{border-radius:50%;width:9px;height:9px}.chart-tip-value{color:var(--text-muted);font-family:var(--font-mono)}.chart-tip-goal{color:var(--text-faint)}@media (width<=720px){.app-header{padding:14px 16px}.header-top{flex-wrap:wrap;row-gap:12px}.header-nav{flex-basis:100%;order:3;justify-content:center;gap:2px;margin-left:0}.header-nav-link{flex:1;justify-content:center;align-items:center;min-height:44px;padding:8px 6px;font-size:13px;display:inline-flex}.app-footer{padding:14px 16px}}.section-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.section-head .link-row,.section-head-actions{align-self:center;margin-left:auto}.segment-dot{vertical-align:middle;background:currentColor;border-radius:50%;width:5px;height:5px;margin-left:7px;display:inline-block}.season-notice{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);margin:0;padding:13px 16px;font-size:13px}.season-notice strong{color:var(--text)}.season-meta{align-items:center;gap:14px;display:flex}.season-status{color:var(--text-faint);font-size:12px}.status-label .roster-you{margin-left:9px}.grid-week.is-outside{opacity:.45}.grid td.is-outside .grid-input{opacity:.5}.grid td.is-outside .grid-input:focus{opacity:1}@media (width<=720px){.level-row{grid-template-columns:1fr auto;row-gap:10px}.level-status{flex-flow:wrap;grid-column:1/-1;gap:16px}.level-progress{grid-column:1/-1}.legend{margin-left:0}.podium-stage{grid-template-columns:1fr;min-height:0}.podium-block.is-first,.podium-block.is-second,.podium-block.is-third{min-height:0}.standings-table .roster-row{grid-template-columns:28px minmax(0,1fr) 64px 14px}.standings-table .roster-gap,.standings-table .roster-head span:nth-child(4),.standings-table .roster-best,.standings-table .roster-head span:nth-child(5),.standings-table .roster-week,.standings-table .roster-head span:nth-child(6){display:none}.h2h-row{grid-template-columns:1fr 72px;row-gap:4px}.h2h-row.h2h-head span:nth-child(2),.h2h-row.h2h-head span:nth-child(3),.h2h-row .h2h-cell:nth-child(2),.h2h-row .h2h-cell:nth-child(3){display:none}.h2h-picker{width:100%;margin-top:8px}.h2h-tools{width:100%;margin-left:0}.goal-card-head{flex-wrap:wrap}.goal-card-glance{flex-basis:100%;padding-left:20px}.goal-status-pill{margin-left:auto}.goal-level-row{grid-template-columns:1fr auto;row-gap:8px}.goal-level-progress,.goal-level-status{grid-column:1/-1}.goal-mix-move{grid-template-columns:1fr auto;row-gap:4px}.goal-mix-move-note{grid-column:1/-1}.app-main{padding:20px 16px}.card{padding:16px}.card-head{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}.card-note{flex-basis:100%;margin-left:0;line-height:1.4}.history-toolbar{flex-direction:column;align-items:stretch;gap:12px}.history-toolbar .segmented{width:100%}.history-toolbar .segment{flex:1;min-height:44px}.history-week-grid,.history-week-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.history-week{min-height:44px;padding:10px 8px}.history-month-grid{grid-template-columns:1fr}.history-week-grid-table-wrap{margin:0 -16px;padding:0 16px}.history-race-note{display:none}.history-race-chart{height:260px}.history-race-chart .recharts-legend-wrapper{display:none!important}}.goals-count{color:var(--text-muted);font-weight:500}.goals-empty{margin:0}.goal-card{border-bottom:1px solid var(--border);padding:10px 0}.goal-card:last-of-type{border-bottom:none}.goal-card-head{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px 12px;padding:0;display:flex}.goal-card-head[aria-expanded=true]{margin-bottom:10px}.goal-card-title{flex-shrink:0;font-size:14px;font-weight:600}.goal-card-glance{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.goal-card-chevron{color:var(--text-faint);flex-shrink:0}.goal-card-deadline{color:var(--text-faint);margin:0 0 10px;font-size:12px}.goal-card-body{border-left:2px solid var(--border);margin-left:3px;padding-left:20px}.goal-card.goal-status--behind .goal-card-body,.goal-card.goal-status--pushing .goal-card-body{border-left-color:var(--warn)}.goal-card.goal-status--on-track .goal-card-body{border-left-color:#5ec4d4}.goal-card.goal-status--achieved .goal-card-body{border-left-color:var(--ok)}.goal-card.goal-status--exceeded .goal-card-body{border-left-color:#f5c842}.goal-card-actions{gap:8px;margin-top:10px;display:flex}.goal-status-dot{background:var(--text-faint);border-radius:50%;width:8px;height:8px}.goal-status-dot.goal-status--behind,.goal-status-dot.goal-status--pushing{background:var(--warn)}.goal-status-dot.goal-status--on-track{background:#5ec4d4}.goal-status-dot.goal-status--achieved{background:var(--ok)}.goal-status-dot.goal-status--exceeded{background:#f5c842}.goal-status-pill{letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.goal-status-pill.goal-status--behind,.goal-status-pill.goal-status--pushing{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, var(--border))}.goal-status-pill.goal-status--on-track{color:#5ec4d4;border-color:color-mix(in srgb, #5ec4d4 35%, var(--border))}.goal-status-pill.goal-status--achieved{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 35%, var(--border))}.goal-status-pill.goal-status--exceeded{color:#f5c842;border-color:color-mix(in srgb, #f5c842 35%, var(--border))}.goal-detail-panel{padding-top:4px}.goal-detail-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px;font-size:10px}.goal-detail-foot{color:var(--text-muted);margin:8px 0 0;font-size:12px}.goal-level-row{grid-template-columns:minmax(100px,1fr) 90px minmax(100px,1.2fr) minmax(120px,1fr);align-items:center;gap:12px;display:grid}.goal-level-move-name{font-size:13px;font-weight:600}.goal-level-average-value{font-family:var(--font-mono);font-size:15px}.goal-level-average-unit{color:var(--text-faint);font-size:10px;display:block}.goal-level-progress-caption{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.goal-mix-meter{margin-bottom:10px}.goal-mix-explainer{margin:0 0 10px;font-size:13px;line-height:1.45}.goal-mix-meter-head{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13px;display:flex}.goal-mix-target{color:var(--text-muted);text-align:right}.goal-mix-meter-track{height:5px}.goal-mix-moves{gap:6px;display:grid}.goal-mix-move{border-radius:var(--radius-sm);grid-template-columns:minmax(100px,1fr) auto 1fr;align-items:center;gap:10px;padding:4px 6px;font-size:12px;display:grid}.goal-mix-move.is-push{background:color-mix(in srgb, var(--warn) 12%, transparent)}.goal-mix-move-name{font-weight:500}.goal-mix-move-note{color:var(--text-muted);font-size:11px}.goal-fieldset{border:none;margin:0;padding:0}.goal-legend{color:var(--text-muted);margin-bottom:8px;font-size:13px}.goal-chip-row{flex-wrap:wrap;gap:8px;display:flex}.goal-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.goal-chip.is-active{border-color:var(--accent);background:var(--accent-soft)}.goal-form-grid,.goal-mix-grid{gap:12px;display:grid}.goal-label{gap:6px;font-size:13px;display:grid}.goal-mix-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.input-narrow{width:72px}.goal-mix-total{color:var(--warn);font-weight:600}.goal-mix-total.is-ok{color:var(--ok)}.goal-error{color:var(--danger)}.trophy-case.is-empty{opacity:.95}.trophy-row{flex-wrap:wrap;align-items:center;gap:12px;padding-top:12px;display:flex}.trophy-row--grand{padding-top:0}.trophy-icon{color:#c9a227}.trophy-icon--minor{opacity:.75}.trophy-icon--standard{color:#dbb429}.trophy-icon--major,.trophy-icon--grand{color:#f5c842}.trophy-item{align-items:center;gap:10px;display:flex}.trophy-item-label{color:var(--text-muted);max-width:240px;font-size:13px}.trophy-more{color:var(--text-faint);font-size:12px}.trophy-badge{margin-left:8px;font-size:12px}.badge-case.is-empty{padding-bottom:8px}.badge-row{border-top:1px solid var(--border);padding:12px 0}.badge-row:first-of-type{border-top:none;padding-top:0}.badge-row-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11px;font-weight:600}.badge-row-items{flex-wrap:wrap;gap:14px 18px;display:flex}.badge-item{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:flex}.badge-item.is-static{cursor:default}.badge-item:not(:disabled):not(.is-static){cursor:pointer}.badge-item:not(:disabled):not(.is-static):hover .badge-item-label{color:var(--text)}.badge-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.badge-item-icon-wrap{flex-shrink:0;position:relative}.badge-item-count{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-6px;right:-6px}.badge-item-label{color:var(--text-muted);font-size:13px}.badge-icon{flex-shrink:0}.badge-catalog-group{border-top:1px solid var(--border);padding:14px 0}.badge-catalog-group:first-child{border-top:none;padding-top:0}.badge-catalog-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:0 0 12px;font-size:11px;font-weight:600}.badge-catalog-list{gap:12px;display:grid}.badge-catalog-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.badge-catalog-row:not(.is-earned){opacity:.72}.badge-catalog-copy{flex:1;min-width:0}.badge-catalog-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.badge-catalog-name{font-size:14px;font-weight:600}.badge-catalog-tier{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.badge-catalog-earned{color:var(--ok);margin-left:auto;font-size:11px;font-weight:600}.badge-catalog-desc{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.badge-instance-head{align-items:center;gap:12px;display:flex}.badge-instance-list{margin:0;padding:0;list-style:none}.badge-instance-row{border-top:1px solid var(--border);align-items:baseline;gap:12px;padding:10px 0;display:flex}.badge-instance-row:first-child{border-top:none;padding-top:0}.badge-instance-index{width:1.5rem;color:var(--text-faint);text-align:right;flex-shrink:0;font-size:12px;font-weight:600}.badge-instance-detail{color:var(--text-muted);font-size:14px}.trophy-toast{top:calc(16px + env(safe-area-inset-top,0px));z-index:1000;border-radius:var(--radius-sm);text-align:center;pointer-events:none;max-width:min(520px,100vw - 32px);padding:12px 16px;font-size:14px;font-weight:600;animation:.2s ease-out forwards toast-in;position:fixed;left:50%;box-shadow:0 10px 28px #00000073}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.goal-history-toggle{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.goal-history-list{gap:10px;margin-top:12px;display:grid}.goal-history-row{align-items:center;gap:12px;display:flex}.goal-history-row.is-missed{opacity:.65}.goal-history-empty{width:24px}.goal-history-title{font-weight:600}.goal-history-meta{color:var(--text-muted);font-size:12px}.trophy-toast{color:#f5c842;background:#f5c84229;border:1px solid #f5c84259}.history-toolbar{align-items:flex-start}.history-layout{gap:18px;min-width:0;display:grid}.history-week-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.history-week-grid-wide{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.history-week{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;text-align:center;justify-items:center;gap:6px;padding:12px 10px;transition:border-color .15s,background .15s;display:grid}.history-week:hover:not(:disabled),.history-week.is-selected{border-color:var(--accent);background:var(--accent-soft)}.history-week.is-empty{opacity:.55;cursor:default}.history-week-label{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.history-week-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:600;line-height:1.2;overflow:hidden}.history-week-score{font-family:var(--font-mono);font-size:12px}.history-week-empty{color:var(--text-muted)}.avatar-sm{width:24px;height:24px;font-size:11px}.history-month-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.history-month-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);justify-items:center;gap:8px;padding:16px;display:grid}.history-month-title{color:var(--text-muted);font-size:13px;font-weight:600}.history-month-name{font-weight:600}.history-month-meta,.history-month-empty{color:var(--text-muted);font-size:12px}.history-month-block+.history-month-block{margin-top:20px}.history-month-heading{color:var(--text-muted);margin:0 0 10px;font-size:13px;font-weight:600}.history-detail-name{color:inherit;font-weight:600;text-decoration:none}.history-detail-name:hover{color:var(--accent)}.history-detail-score{font-family:var(--font-mono);font-size:13px}.history-week-grid-table-wrap{-webkit-overflow-scrolling:touch;touch-action:pan-x;max-width:100%;margin:0 -4px;overflow-x:auto}.history-week-grid-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.history-week-grid-table th,.history-week-grid-table td{border-bottom:1px solid var(--border);vertical-align:top;text-align:left;white-space:nowrap;padding:8px 10px}.history-week-grid-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.history-week-grid-table tbody tr:last-child td{border-bottom:none}.history-week-grid-table tbody tr.is-me td:first-child{color:var(--accent);font-weight:600}.history-move-cell{align-items:center;gap:8px;display:inline-flex}.history-move-cell .level-badge{flex-shrink:0;justify-self:auto;align-items:center;padding:2px 8px;font-size:10px;line-height:1.2;display:inline-flex}.history-move-value{font-family:var(--font-mono);white-space:nowrap;font-size:11px;line-height:1.2}.season-points-card{margin-top:4px}.season-points-note{color:var(--text-muted);margin:-6px 0 16px;font-size:13px;line-height:1.5}.season-points-chart{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%}.season-points-reset{margin-right:auto;padding:4px 10px;font-size:12px}.season-points-tooltip-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 4px;font-size:11px}.season-points-tooltip-note{color:var(--text-muted);margin-top:6px;font-size:11px}.history-race-card{margin-top:4px}.history-race-note{color:var(--text-muted);margin:-6px 0 16px;font-size:13px;line-height:1.5}.history-race-chart{width:100%;min-width:0;max-width:100%;height:360px;overflow:hidden}.history-race-chart .recharts-responsive-container{min-width:0!important}.history-race-legend{color:var(--text-muted);flex-wrap:wrap;gap:12px 18px;margin-top:14px;font-size:12px;display:flex}.history-race-legend-item{align-items:center;gap:6px;display:inline-flex}.history-race-swatch{border-radius:50%;width:10px;height:10px}.chart-tooltip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:10px 12px;box-shadow:0 8px 24px #00000040}.chart-tooltip-title{font-family:var(--font-mono);color:var(--text-muted);margin-bottom:8px;font-size:11px}.chart-tooltip-row{justify-content:space-between;gap:16px;padding:2px 0;font-size:12px;display:flex}
