:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f8;--surface:#ffffffe0;--surface-soft:#f7f9fcd6;--text:#162033;--muted:#667085;--line:#d9dee7db;--accent:#d83b5f;--accent-dark:#b52d4d;--teal:#0f8f9a;--yellow:#788900;--shadow:0 14px 36px #0f172a14;--nav-bg:#ffffffe0;--input-bg:#ffffffe6;--input-border:#cfd6e3eb;--table-head:#f8fafceb;--control-hover:#eef2f7e6;--flag-stars:radial-gradient(circle at 8vw 13vh,#ffde5c 0 34px,transparent 35px),radial-gradient(circle at 17vw 7vh,#ffde5c 0 10px,transparent 11px),radial-gradient(circle at 21vw 14vh,#ffde5c 0 10px,transparent 11px),radial-gradient(circle at 20vw 24vh,#ffde5c 0 10px,transparent 11px),radial-gradient(circle at 16vw 31vh,#ffde5c 0 10px,transparent 11px);--flag-base:linear-gradient(135deg,#e51e2f 0%,#c8102e 48%,#7d0d1d 100%);--page-bg:linear-gradient(180deg,#ffffff6b,#ffffff2e),var(--flag-stars),var(--flag-base)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101522;--surface:#121927db;--surface-soft:#1c2434d1;--text:#f6f8fb;--muted:#b8c1ce;--line:#ffffff24;--accent:#ff5578;--accent-dark:#ff7a94;--teal:#28c4d4;--yellow:#f2d45c;--shadow:0 18px 50px #00000042;--nav-bg:#121927c7;--input-bg:#0c121ec7;--input-border:#ffffff29;--table-head:#101622e6;--control-hover:#ffffff14;--page-bg:linear-gradient(180deg,#0a0e196b,#0a0e19ad),var(--flag-stars),var(--flag-base)}*{box-sizing:border-box}body{background:var(--page-bg);min-height:100vh;color:var(--text);background-attachment:fixed;margin:0;font-family:Microsoft YaHei,Segoe UI,Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.topbar{border-bottom:1px solid var(--line);background:var(--nav-bg);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:flex-end;gap:24px;padding:18px 28px 16px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--surface-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;align-items:center;gap:2px;min-height:38px;padding:3px;display:inline-flex}.theme-toggle button{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:5px 10px;font-weight:700}.theme-toggle button.active{background:var(--accent);color:#fff}.theme-toggle button:focus-visible{outline-offset:2px;outline:3px solid #17b7c861}.eyebrow{color:var(--muted);text-transform:uppercase;margin:0 0 5px;font-size:12px}h1,h2,p{margin:0}h1{font-size:34px;font-weight:700;line-height:1.2}h2{font-size:16px;line-height:1.35}.layout{width:min(1200px,100% - 32px);margin:26px auto 40px}.alert{color:var(--accent-dark);background:#fff4efdb;border:1px solid #d83b5f47;border-radius:8px;margin-bottom:12px;padding:10px 12px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.metric{border:1px solid var(--line);background:var(--surface);min-height:82px;box-shadow:var(--shadow);border-radius:8px;padding:16px}.metric span{color:var(--muted);font-size:13px;display:block}.metric strong{margin-top:8px;font-size:28px;line-height:1;display:block}.toolbar{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) minmax(140px,.5fr) auto auto;align-items:end;gap:12px;margin-top:14px;padding:14px;display:grid}label span{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}input,select{border:1px solid var(--input-border);background:var(--input-bg);width:100%;min-height:38px;color:var(--text);border-radius:6px;outline:none;padding:8px 10px}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #1f6b6121}.primary-button,.ghost-button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:38px;padding:8px 14px;text-decoration:none;display:inline-flex}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark)}.ghost-button{background:var(--surface-soft);border-color:var(--line);color:var(--text)}.ghost-button:hover{background:var(--control-hover)}.ghost-button:disabled{cursor:not-allowed;opacity:.45}.primary-button:disabled{cursor:wait;opacity:.68}.content-grid{grid-template-columns:minmax(0,1.6fr) minmax(340px,.9fr);gap:14px;margin-top:14px;display:grid}.split-panel{margin-top:14px}.split-actions{grid-template-columns:minmax(180px,240px);align-items:end;gap:10px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:8px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;display:flex}.panel-head p{color:var(--muted);margin-top:4px;font-size:12px}.pager{gap:8px;display:flex}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:12px 14px}th{color:var(--muted);background:var(--table-head);font-size:12px;font-weight:600;position:sticky;top:0}tbody tr{transition:background .12s}tbody tr[data-id],tbody tr[data-split-result-id]{cursor:pointer}tbody tr[data-id]:hover,tbody tr[data-split-result-id]:hover,tbody tr.active{background:#d83b5f14}.rank{color:var(--muted);font-variant-numeric:tabular-nums}.athlete-name{overflow-wrap:anywhere;white-space:normal;max-width:min(680px,62vw);font-weight:700;line-height:1.35;display:block}.athlete-sub{color:var(--muted);margin-top:3px;font-size:12px;display:block}.time{font-variant-numeric:tabular-nums;font-weight:800}.badge{min-height:24px;color:var(--teal);white-space:nowrap;background:#17b7c824;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.badge.muted{background:var(--control-hover);color:var(--muted)}.empty,.detail-empty{color:var(--muted);text-align:center}.detail-empty{padding:32px 16px}.detail-panel{align-self:start;position:sticky;top:14px}.detail-card{padding:16px}.detail-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.detail-stat{background:var(--surface-soft);border-radius:8px;min-height:64px;padding:10px}.detail-stat span{color:var(--muted);font-size:12px;display:block}.detail-stat strong{overflow-wrap:anywhere;margin-top:6px;display:block}.split-list{gap:9px;display:grid}.split-row{grid-template-columns:minmax(110px,.9fr) minmax(120px,1fr) 74px;align-items:center;gap:10px;display:grid}.split-name{color:var(--text);font-weight:600}.split-bar{background:var(--line);border-radius:999px;height:10px;overflow:hidden}.split-bar span{border-radius:inherit;background:var(--accent);min-width:8px;height:100%;display:block}.split-time{color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.source-link{color:var(--teal);margin-top:14px;text-decoration:none;display:inline-block}.source-link:hover{text-decoration:underline}.paid-report-button{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:42px;margin-top:16px;font-weight:800;text-decoration:none;display:flex}.paid-report-button:hover{background:var(--accent-dark)}.result-poster-button{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:42px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;margin-top:16px;font-weight:800;display:flex}.result-poster-button:hover{border-color:#d83b5f73}.report-shell{width:min(920px,100vw - 28px);margin:0 auto;padding:28px 0 54px}.checkout-panel,.report-hero,.report-section{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.checkout-panel{gap:18px;padding:22px;display:grid}.back-link{color:var(--teal);font-weight:800;text-decoration:none}.checkout-panel h1,.report-hero h1{letter-spacing:0;margin:0;font-size:34px;line-height:1.1}.checkout-lead,.report-hero p,.report-section p{color:var(--muted);margin:0;line-height:1.7}.checkout-result,.checkout-price{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:6px;padding:14px;display:grid}.checkout-result strong,.checkout-price strong{font-size:22px}.checkout-result span,.checkout-price span,.checkout-state{color:var(--muted)}.report-primary,.report-secondary,.report-download{border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:900;text-decoration:none;display:flex}.report-primary,.report-download{background:var(--accent);color:#fff;border:0}.report-download-actions{flex-wrap:wrap;gap:10px;display:flex}.report-download.secondary,.report-secondary{border:1px solid var(--line);background:var(--surface-soft);color:var(--text)}.report-primary:disabled{cursor:not-allowed;opacity:.62}.checkout-actions{gap:10px;display:grid}.report-error{color:var(--accent-dark);background:#d83b5f1a;border:1px solid #d83b5f52;border-radius:8px;padding:12px}.report-hero{justify-content:space-between;align-items:flex-end;gap:18px;padding:22px;display:flex}.report-section{margin-top:14px;padding:20px}.report-section h2{margin:0 0 10px;font-size:20px}.report-list-block{gap:8px;margin-top:12px;display:grid}.report-list-block ul{color:var(--muted);gap:8px;margin:0;padding-left:18px;line-height:1.65;display:grid}.profile-shell{width:min(1120px,100vw - 28px);margin:0 auto;padding:28px 0 54px}.profile-hero,.athlete-profile-card,.profile-result-row,.result-split-row,.result-stat,.profile-empty{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.profile-hero{gap:10px;padding:24px;display:grid}.profile-hero h1{letter-spacing:0;margin:0;font-size:42px;line-height:1.1}.profile-hero p,.athlete-profile-card p,.profile-result-row p,.result-split-row p{color:var(--muted);margin:0}.athlete-hero,.result-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end}.profile-stat-stack,.result-total{background:var(--surface-soft);text-align:right;border-radius:8px;min-width:160px;padding:14px}.profile-stat-stack span,.result-total span,.athlete-best span,.result-stat span{color:var(--muted);display:block}.profile-stat-stack strong,.result-total strong{margin-top:6px;font-size:34px;display:block}.athlete-card-list,.profile-results{gap:12px;margin-top:14px;display:grid}.athlete-profile-card{grid-template-columns:minmax(0,1fr) 150px;gap:14px;padding:18px;display:grid}.athlete-profile-card h2,.profile-result-row h2,.result-split-row h2{margin:0 0 6px;font-size:22px}.athlete-best{text-align:right}.athlete-best strong{margin-top:6px;font-size:24px;display:block}.athlete-results-mini{grid-column:1/-1;gap:8px;display:grid}.athlete-results-mini a{border-top:1px solid var(--line);color:var(--text);justify-content:space-between;gap:12px;padding:10px 0;text-decoration:none;display:flex}.athlete-results-mini span{color:var(--muted)}.profile-primary-link{background:var(--accent);color:#fff;border-radius:8px;grid-column:1/-1;justify-content:center;align-items:center;min-height:40px;font-weight:900;text-decoration:none;display:flex}.profile-result-row{color:var(--text);grid-template-columns:86px minmax(0,1fr) 130px;align-items:center;gap:16px;padding:16px;text-decoration:none;display:grid}.profile-year{color:var(--teal);font-family:Consolas,SFMono-Regular,monospace;font-weight:900}.profile-time{text-align:right}.profile-time strong{font-size:22px;display:block}.profile-time span{color:var(--muted)}.result-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.result-summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.result-stat{min-height:92px;padding:16px}.result-stat strong{margin-top:8px;font-size:28px;display:block}.result-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.result-actions .report-download{min-width:180px}.result-groups-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.result-groups-grid .profile-results{margin-top:0}.result-roxzone-row{gap:12px;margin-top:14px;display:grid}.result-roxzone-row .result-split-row{grid-template-columns:180px minmax(220px,1fr) 100px}.result-split-row{grid-template-columns:138px minmax(130px,1fr) 72px;align-items:center;gap:14px;height:86px;padding:16px;display:grid;overflow:hidden}.result-split-row h2{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:138px;margin-bottom:4px;font-size:20px;line-height:1.08;display:-webkit-box;overflow:hidden}.result-split-row p{min-height:15px;font-size:12px;line-height:1.2}.result-split-bar{background:var(--line);border-radius:999px;height:10px;overflow:hidden}.result-split-bar span{border-radius:inherit;background:var(--accent);min-width:8px;height:100%;display:block}.result-split-row strong{text-align:right;font-variant-numeric:tabular-nums}.result-group-head{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.result-group-head h2{margin:0;font-size:24px}.result-group-head span{color:var(--muted)}.profile-empty{color:var(--muted);margin-top:14px;padding:22px}.season-hero{grid-template-columns:minmax(0,1fr);align-items:end;gap:22px;min-height:190px;padding:38px 4px 22px;display:grid}.season-copy h2{letter-spacing:0;max-width:760px;font-size:58px;line-height:1.05}.season-copy p:last-child{max-width:740px;color:var(--muted);margin-top:14px;font-size:16px;line-height:1.7}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.year-groups{gap:22px;margin-top:16px;display:grid}.year-section{min-width:0}.year-head{justify-content:space-between;align-items:end;gap:16px;padding:0 2px;display:flex}.year-head h2{font-size:24px}.year-head span{color:var(--muted);font-weight:700}.event-card{border:1px solid var(--line);background:var(--surface);min-height:190px;box-shadow:var(--shadow);cursor:pointer;border-radius:8px;gap:22px;padding:20px 22px;display:grid}.event-card.active{box-shadow:0 0 0 1px #d83b5f1f,var(--shadow);border-color:#d83b5f8c}.event-card:focus-visible{outline-offset:3px;outline:3px solid #17b7c873}.event-card-top,.event-card-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.event-card-top span:first-child,.event-card-bottom span:last-child{color:var(--muted);letter-spacing:0;font-family:Consolas,SFMono-Regular,monospace}.event-card h3{letter-spacing:0;margin:0;font-size:46px;line-height:1}.event-card p{color:var(--muted);text-transform:uppercase;margin-top:10px;font-family:Consolas,SFMono-Regular,monospace;font-size:12px}.event-link{min-height:28px;color:var(--accent);background:0 0;border:0;padding:0;font-weight:700}.event-link:hover{color:var(--accent-dark)}.event-muted{color:var(--muted)}.search-results-panel,.station-detail{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;margin-top:14px}.search-results-head,.station-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.search-results-head h2,.station-head h2{margin:0;font-size:22px}.search-results-head span,.station-head p,.station-count span{color:var(--muted)}.search-empty,.station-empty{color:var(--muted);padding:26px 20px}.search-note{color:var(--accent-dark);padding:12px 20px 4px;font-size:14px}.race-list{gap:8px;padding:10px;display:grid}.race-row{border:1px solid var(--line);background:var(--surface-soft);min-height:62px;color:var(--text);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.race-row:hover{background:#d83b5f0f;border-color:#d83b5f73}.race-row strong,.race-row em{display:block}.race-row em{color:var(--muted);margin-top:4px;font-style:normal}.race-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.station-count{text-align:right;min-width:120px}.station-count strong{font-size:28px;line-height:1;display:block}.station-metrics{margin:14px 16px 0}.division-list{padding:12px 16px 16px;display:grid}.division-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 90px auto;align-items:center;gap:14px;min-height:46px;display:grid}.division-row span{font-weight:800}.division-row strong{text-align:right;font-variant-numeric:tabular-nums}.ranking-button{border:1px solid var(--line);background:var(--surface-soft);min-height:30px;color:var(--text);border-radius:6px;padding:5px 10px;font-weight:700}.ranking-button:hover{background:var(--control-hover)}.station-page{padding-bottom:22px}.station-hero{justify-content:space-between;align-items:flex-end;gap:22px;min-height:210px;padding:44px 4px 26px;display:flex}.station-hero h1{letter-spacing:0;margin:0;font-size:64px;line-height:1}.station-hero p:last-child{color:var(--muted);text-transform:uppercase;margin-top:12px;font-family:Consolas,SFMono-Regular,monospace;font-size:14px}.station-hero-actions{justify-content:flex-end;align-items:center;display:flex}.ghost-link{border:1px solid var(--line);background:var(--surface-soft);min-height:38px;color:var(--text);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:8px 14px;text-decoration:none;display:inline-flex}.ghost-link:hover{background:var(--control-hover)}.station-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.live-import-card{border:1px solid var(--line);background:linear-gradient(135deg,#d83b5f1a,var(--surface));box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr) auto;align-items:center;gap:16px;margin-top:14px;padding:16px;display:grid}.live-import-card h2{margin:4px 0 6px;font-size:18px}.live-import-card p{color:var(--muted);margin:0;line-height:1.5}.live-import-metrics{gap:8px;display:grid}.live-import-metrics span{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.live-import-metrics strong{color:var(--text);font-size:14px}.station-toolbar{grid-template-columns:minmax(220px,1.35fr) minmax(140px,.72fr) minmax(120px,.58fr) minmax(130px,.62fr) minmax(120px,.58fr) minmax(160px,.75fr) auto auto}.event-leaderboard-panel{margin-top:14px}.leaderboard-table th,.leaderboard-table td{white-space:nowrap}.leaderboard-table .athlete-name{max-width:min(620px,58vw)}.total-time{color:var(--text);font-size:15px}.rank-value{background:var(--surface-soft);min-width:42px;min-height:26px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.rank-value.top-three{color:var(--yellow);background:#78890014;border:1px solid #7889004d}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.mini-button{border:1px solid var(--line);background:var(--surface-soft);min-height:30px;color:var(--text);border-radius:6px;padding:5px 9px;font-size:12px;font-weight:700}.mini-button:hover{background:var(--control-hover)}.mini-button.accent{color:var(--accent-dark);background:#d83b5f14;border-color:#d83b5f80}.mobile-result-list{gap:10px;padding:10px;display:none}.mobile-result-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;padding:12px;display:grid}.mobile-result-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.mobile-result-head span,.mobile-result-meta span{color:var(--muted);font-size:12px;display:block}.mobile-result-head strong,.mobile-result-meta strong{color:var(--text)}.mobile-result-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.modal-backdrop{z-index:50;background:#0f172a61;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(920px,100%);max-height:min(86vh,860px);overflow:auto;box-shadow:0 24px 72px #0f172a38}.modal-head{z-index:1;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex;position:sticky;top:0}.modal-head h2{font-size:22px}.modal-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px;display:grid}.modal-metric,.detail-split-card,.analysis-list section{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;padding:12px}.modal-metric span,.detail-split-card span{color:var(--muted);font-size:12px;display:block}.modal-metric strong,.detail-split-card strong{overflow-wrap:anywhere;margin-top:6px;display:block}.modal-section-title{color:var(--muted);text-transform:uppercase;padding:2px 16px 10px;font-size:12px}.detail-split-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px 16px;display:grid}.detail-split-card em{color:var(--muted);margin-top:4px;font-size:12px;font-style:normal;display:block}.analysis-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 0;display:flex}.analysis-header span{color:var(--muted)}.analysis-list{gap:10px;padding:16px;display:grid}.analysis-list h3{margin:0 0 6px;font-size:15px}.analysis-list p{color:var(--muted);line-height:1.65}.analysis-list ul{margin:8px 0 0;padding:0;list-style:none}.analysis-list li{color:var(--text);margin-top:6px;padding-left:14px;line-height:1.55;position:relative}.analysis-list li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:10px;left:0}.data-note{color:var(--muted);text-align:right;margin-top:14px;font-size:12px}.ai-page{padding-bottom:26px}.ai-hero{justify-content:space-between;align-items:flex-end;gap:22px;min-height:220px;padding:44px 4px 26px;display:flex}.ai-hero h1{letter-spacing:0;font-size:58px;line-height:1.05}.ai-hero p:last-child{max-width:780px;color:var(--muted);margin-top:14px;font-size:16px;line-height:1.7}.ai-form{gap:14px;display:grid}.ai-form-panel{min-width:0}.ai-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.ai-field-grid textarea{resize:vertical;min-height:88px}textarea{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text);font:inherit;border-radius:6px;outline:none;padding:8px 10px}textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #1f6b6121}.ai-split-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.split-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.ai-alert{margin-bottom:0}.ai-actions{flex-wrap:wrap;gap:10px;display:flex}.ai-actions .primary-button,.ai-actions .ghost-button{min-width:140px}.ai-loading{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:14px}.ai-empty-state,.analysis-report{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;margin-top:14px}.ai-empty-state{padding:22px}.ai-empty-state p{color:var(--muted);margin-top:8px}.analysis-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.report-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;min-width:0;padding:14px}.report-card.wide{grid-column:1/-1}.report-card h3{color:var(--text);margin:0 0 8px;font-size:16px}.predictor-shell{width:min(1160px,100vw - 28px);margin:0 auto;padding:28px 0 54px}.predictor-hero,.predictor-panel,.predictor-result-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.predictor-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:24px;display:grid}.predictor-hero h2{margin:0 0 8px;font-size:34px;line-height:1.15}.predictor-hero p{color:var(--muted);margin:0;line-height:1.7}.predictor-mode{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:4px;padding:4px;display:inline-flex}.predictor-mode button{min-height:36px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:7px 12px;font-weight:800}.predictor-mode button.active{background:var(--accent);color:#fff}.predictor-grid{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:start;gap:14px;margin-top:14px;display:grid}.predictor-panel,.predictor-result-panel{padding:18px}.predictor-block{border-bottom:1px solid var(--line);gap:12px;padding:0 0 18px;display:grid}.predictor-block+.predictor-block{padding-top:18px}.predictor-block-head,.predictor-result-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.predictor-block-head h2,.predictor-result-section h3{margin:0;font-size:18px}.predictor-block-head span{color:var(--muted);font-weight:700}.predictor-search-row{grid-template-columns:minmax(0,1fr) 96px;align-items:end;gap:10px;display:grid}.predictor-history-list{gap:8px;display:grid}.predictor-history-item{border:1px solid var(--line);background:var(--surface-soft);min-height:72px;color:var(--text);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:12px;padding:12px;display:grid}.predictor-history-item.active{border-color:#d83b5f8c;box-shadow:0 0 0 1px #d83b5f1f}.predictor-history-item strong,.predictor-history-item em{display:block}.predictor-history-item em{color:var(--muted);margin-top:4px;font-style:normal;line-height:1.35}.predictor-history-item>span:last-child{text-align:right}.predictor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.predictor-check{align-items:center;gap:8px;width:max-content;display:inline-flex}.predictor-check input{width:auto;min-height:auto}.predictor-submit{width:100%;margin-top:18px}.predictor-result-head{align-items:flex-start}.predictor-result-head h2{margin:0;font-size:52px;line-height:1}.predictor-result-head p{color:var(--muted);margin:8px 0 0}.predictor-result-head>span{color:var(--accent-dark);white-space:nowrap;background:#d83b5f1a;border-radius:999px;padding:7px 10px;font-weight:900}.predictor-result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.predictor-result-stats div{background:var(--surface-soft);border-radius:8px;min-height:78px;padding:12px}.predictor-result-stats span{color:var(--muted);display:block}.predictor-result-stats strong{margin-top:8px;font-size:20px;display:block}.predictor-result-section{gap:8px;margin-top:18px;display:grid}.predictor-result-section p,.predictor-result-section li{color:var(--muted);line-height:1.65}.predictor-result-section p,.predictor-result-section ul{margin:0}.predictor-result-section ul{padding-left:18px}.predictor-tags{flex-wrap:wrap;gap:8px;display:flex}.predictor-tags span{background:var(--surface-soft);color:var(--text);border-radius:999px;padding:6px 9px;font-weight:800}.predictor-result-panel .report-download{width:100%;margin-top:20px}.predictor-empty-result{align-content:center;min-height:320px;display:grid}.predictor-empty-result h2{margin:0 0 8px;font-size:28px}.predictor-empty-result p{color:var(--muted);margin:0;line-height:1.7}.report-card p,.report-card li{color:var(--muted);line-height:1.65}.report-card ul{gap:6px;margin:8px 0 0;padding-left:18px;display:grid}@media (max-width:980px){.toolbar,.content-grid,.predictor-hero,.predictor-grid{grid-template-columns:1fr}.predictor-mode{width:100%}.predictor-mode button{flex:1}.season-hero,.event-grid{grid-template-columns:1fr}.split-actions{grid-template-columns:1fr;width:100%}.division-row{grid-template-columns:1fr;gap:6px;padding:12px 0}.division-row strong{text-align:left}.detail-panel{position:static}.station-hero,.station-info-grid{grid-template-columns:1fr}.station-hero{flex-direction:column;align-items:flex-start}.station-toolbar{grid-template-columns:1fr}.live-import-card{grid-template-columns:1fr;align-items:stretch}.leaderboard-table{display:none}.mobile-result-list{display:grid}.modal-summary-grid,.detail-split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions,.ai-hero{flex-direction:column;align-items:flex-start}.ai-field-grid,.ai-split-layout,.analysis-report-grid{grid-template-columns:1fr}.report-hero{flex-direction:column;align-items:flex-start}.report-download,.report-download-actions{width:100%}.athlete-hero,.result-hero,.athlete-profile-card,.profile-result-row{grid-template-columns:1fr}.profile-stat-stack,.result-total,.athlete-best,.profile-time,.result-split-row strong{text-align:left}.result-split-row{grid-template-columns:124px minmax(110px,1fr) 76px}.result-roxzone-row .result-split-row{grid-template-columns:180px minmax(160px,1fr) 90px}}@media (max-width:640px){.topbar{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 16px}.topbar-actions{width:100%}.topbar-actions .primary-button{text-align:center;width:100%}.topbar-actions .theme-toggle{width:100%}.topbar-actions .theme-toggle button{flex:1}.layout{width:calc(100% - 20px);margin-top:10px}.report-shell,.profile-shell,.predictor-shell{width:calc(100% - 20px);padding-top:12px}.predictor-hero,.predictor-panel,.predictor-result-panel{padding:16px}.predictor-hero h2{font-size:28px}.predictor-form-grid,.predictor-search-row,.predictor-history-item,.predictor-result-stats{grid-template-columns:1fr}.predictor-history-item>span:last-child{text-align:left}.predictor-result-head{flex-direction:column}.predictor-result-head h2{font-size:42px}.profile-hero{padding:16px}.profile-hero h1{font-size:32px}.result-summary-grid,.result-summary-grid.compact,.result-groups-grid{grid-template-columns:1fr}.result-actions .report-download{width:100%}.result-split-row,.result-roxzone-row .result-split-row{grid-template-columns:1fr}.checkout-panel,.report-hero,.report-section{padding:16px}.checkout-panel h1,.report-hero h1{font-size:28px}.summary-grid,.detail-stats{grid-template-columns:1fr}.season-hero{min-height:0;padding:28px 0 16px}.season-copy h2{font-size:38px}.year-head{flex-direction:column;align-items:flex-start;gap:6px}.event-card h3{font-size:38px}.station-hero{min-height:0;padding:28px 0 16px}.station-hero h1{font-size:52px}.ai-hero{min-height:0;padding:28px 0 16px}.ai-hero h1{font-size:40px}.split-input-grid{grid-template-columns:1fr}.analysis-report .panel-head .row-actions,.ai-actions{width:100%}.analysis-report .panel-head .row-actions button,.ai-actions button{flex:1}.station-info-grid,.modal-summary-grid,.detail-split-grid,.mobile-result-meta{grid-template-columns:1fr}.panel-head,.search-results-head,.station-head{flex-direction:column;align-items:flex-start}.race-row{grid-template-columns:1fr}.race-row>span:last-child,.station-count{text-align:left}.pager{width:100%}.pager button{flex:1}th,td{padding:10px}.split-row{grid-template-columns:1fr;gap:5px}.split-time{text-align:left}.mobile-result-head{grid-template-columns:auto minmax(0,1fr)}.mobile-result-head .total-time{grid-column:1/-1}.analysis-header{flex-direction:column;align-items:flex-start}.data-note{text-align:left}}
