.profile-analytics-page{display:grid;gap:16px;max-width:100%;padding:20px 32px 34px}.profile-jsf-notice{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid #e8b84a;border-radius:var(--radius-surface, 12px);background:linear-gradient(180deg,#fff9e8,#fff4d6);color:#7a4b00;box-shadow:0 8px 24px #b478141f}.profile-jsf-notice__icon{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:#f59e0b;color:#fff;font-size:18px;font-weight:900;line-height:32px;text-align:center;box-shadow:0 2px 6px #f59e0b73}.profile-jsf-notice__body{flex:1 1 auto;min-width:0;display:grid;gap:14px}.profile-jsf-notice__copy strong{display:block;margin-bottom:6px;font-size:16px;color:#6b3f00}.profile-jsf-notice__copy p{margin:0 0 8px;font-size:14px;line-height:1.55}.profile-jsf-notice__copy p:last-child{margin-bottom:0}.profile-jsf-notice__meta{font-size:13px;color:#92610d}.profile-jsf-notice__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.profile-jsf-notice__btn{appearance:none;border:1px solid #c98a12;border-radius:999px;background:#fff;color:#7a4b00;font-size:14px;font-weight:700;line-height:1.2;padding:10px 16px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.profile-jsf-notice__btn:hover:not(:disabled){background:#fffdf5;border-color:#a86f00;transform:translateY(-1px)}.profile-jsf-notice__btn:disabled{opacity:.72;cursor:not-allowed}.profile-jsf-notice__status{margin:0;font-size:13px;color:#92610d}.profile-jsf-notice__status[hidden]{display:none!important}.profile-jsf-notice[data-resync-state=pending] .profile-jsf-notice__btn,.profile-jsf-notice[data-resync-state=running] .profile-jsf-notice__btn{background:#fff8e6}.analytics-topbar,.featured-card,.stroke-summary article,.records-area,.event-detail-panel,.bottom-analytics article,.kpi-grid article{border:var(--border-surface);border-radius:var(--radius-surface);background:var(--surface);box-shadow:var(--shadow)}.analytics-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px}.athlete-block{flex:1 1 auto;min-width:0}.athlete-identity{display:flex;align-items:flex-start;gap:18px;min-width:0}.athlete-identity-copy{display:grid;flex:1 1 auto;gap:12px;min-width:0}.athlete-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px}.athlete-profile-meta{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.athlete-name-block{min-width:0}.athlete-name-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:100%}.athlete-name-stack h1{margin:0}.athlete-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:0 0 auto}.athlete-meta-strip{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 320px;min-width:0}.athlete-photo{position:relative;display:block;flex:0 0 112px;width:112px;height:112px;overflow:hidden;border:2px solid rgba(65,166,198,.22);border-radius:18px;background:linear-gradient(160deg,var(--accent-soft-bg) 0%,var(--surface-muted) 100%);box-shadow:inset 0 0 0 1px #ffffffa6}.athlete-photo img{display:block;width:100%;height:100%;object-fit:cover}.athlete-photo-fallback{display:grid;width:100%;height:100%;place-items:center;color:var(--accent-strong);font-size:34px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.athlete-photo-fallback[hidden]{display:none}.athlete-photo:has(img:not([hidden])) .athlete-photo-fallback{display:none}.athlete-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.athlete-header p,.section-title p,.records-header p,.event-detail-panel p{margin:0 0 3px;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.stroke-label{display:inline-flex;align-items:center;gap:6px}.athlete-header h1,.section-title h2,.records-header h2,.event-detail-panel h3{margin:0}.athlete-name-block h1{font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.12}.athlete-name-ar{margin:0;width:fit-content;max-width:100%;color:var(--muted);font-size:1.05rem;font-weight:700;line-height:1.35;text-align:start}.athlete-profile-meta .athlete-badges{align-self:center}.athlete-meta-strip span{display:grid;gap:2px;min-width:104px;border:var(--border-surface);border-radius:var(--btn-radius);padding:8px 10px;background:var(--surface-muted);color:var(--text);font-size:13px;font-weight:850}.athlete-meta-strip b{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.badge{border-radius:var(--radius-pill);padding:7px 10px;font-size:12px;font-weight:900}.badge.cyan{background:var(--accent-soft-bg);color:var(--accent-strong)}.badge-specialty{display:inline-flex;align-items:center;gap:8px;padding:8px 13px 8px 10px;line-height:1}.badge-specialty .stroke-icon--badge{width:28px;height:28px;flex:0 0 28px;background-color:currentColor}.badge.green{background:var(--success-soft-bg);color:var(--success)}.badge.muted{background:#eef1f6;color:#5c6678}.header-controls,.course-toggle{display:grid;gap:12px;width:100%}.header-controls-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.header-controls-export{display:flex;align-items:end}.header-controls-export .export-button,.profile-filter-field--pool select,.profile-filter-field--year select{width:100%}.year-form{margin:0}body.profile-export-busy{cursor:progress}body.profile-export-busy .export-button{opacity:.8;cursor:progress}.records-controls{display:grid;gap:12px}.records-controls-strokes{display:flex;flex-wrap:wrap;gap:8px}.records-controls-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end}.profile-filter-field{display:grid;gap:6px;min-width:0}.profile-filter-field span{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.profile-filter-field select,.profile-filter-field input{width:100%;min-height:44px;border:var(--border-surface);border-radius:var(--btn-radius);padding:10px 12px;background:var(--surface-muted);color:var(--text);font:inherit;font-size:14px;font-weight:750;outline:none}.profile-filter-field--search input{padding-right:12px}.profile-filter-field--year select{min-height:calc(var(--btn-min-height) - 4px)}.profile-filter-toolbar{display:none;flex:0 0 auto}.profile-filter-toggle{display:none;align-items:center;gap:8px;min-height:44px;border:var(--border-surface);border-radius:999px;padding:10px 14px;background:var(--surface-muted);color:var(--text);font-size:13px;font-weight:850;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.profile-filter-toggle.is-active{border-color:#41a6c673;background:var(--accent-soft-bg);color:var(--accent-strong);box-shadow:var(--shadow)}.profile-filter-icon{flex:0 0 auto;color:currentColor}.profile-filter-summary{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;font-weight:750}.profile-filter-panel .profile-filter-backdrop,.profile-filter-panel .profile-filter-sheet-head,.profile-filter-panel .profile-filter-sheet-foot{display:none}.profile-filter-sheet-head{align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.profile-filter-sheet-head h2{margin:0;font-size:17px;line-height:1.2}.profile-filter-close{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:999px;background:var(--surface-muted);color:var(--text);font-size:24px;line-height:1;cursor:pointer}.profile-filter-sheet-foot{padding:12px 18px max(18px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}.profile-filter-done{width:100%;min-height:48px;border:1px solid var(--btn-primary-border);border-radius:var(--btn-radius);background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:15px;font-weight:var(--btn-font-weight);cursor:pointer}body.profile-filter-sheet-open{overflow:hidden}.course-toggle{border:var(--border-surface);border-radius:var(--radius-pill);padding:4px;background:var(--surface-muted)}.course-toggle button,.records-controls button,.header-controls select,.records-controls select,.records-controls input,.export-button{min-height:calc(var(--btn-min-height) - 4px);flex:0 0 auto;border:1px solid var(--btn-secondary-border);border-radius:var(--btn-radius);padding:8px 11px;background:var(--btn-secondary-bg);color:var(--btn-secondary-text);outline:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.course-toggle button{border:0;border-radius:var(--btn-pill-radius);color:var(--btn-muted-text)}.course-toggle button.selected,.records-controls button.active,.export-button{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-text);font-weight:var(--btn-font-weight)}.export-button{border-radius:var(--btn-radius)}.kpi-grid{display:flex;flex-wrap:wrap;gap:12px}.kpi-grid>article{flex:1 1 calc((100% - 60px) / 6);min-width:min(100%,148px);box-sizing:border-box}.kpi-grid.kpi-grid--no-goals>article,.profile-analytics-page[data-jordan-goals="0"] .kpi-grid>article{flex-basis:calc((100% - 48px)/5)}.kpi-grid article{min-height:112px;padding:15px;overflow:visible}.kpi-card-head,.chart-title-row,.body-map-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.kpi-card-head>span:first-child,.chart-title-row h3{flex:1 1 auto;min-width:0}.kpi-help-slot{display:inline-flex;flex:0 0 auto;align-items:center}.chart-title-row{align-items:center;gap:10px}.chart-title-row h3{margin:0}.body-map-title-row{align-items:center;gap:10px;margin-bottom:4px}.body-map-title-row h2{margin:0}.kpi-grid span,.featured-stats span{display:block;color:var(--muted);font-size:12px;font-weight:850}.kpi-grid strong{display:block;margin:10px 0 7px;font-size:23px;line-height:1.05;color:var(--kpi-value)}.kpi-grid small{color:var(--muted);font-weight:750}.positive{color:var(--success)!important}.negative{color:var(--error)!important}.warning{color:var(--gold-text)!important}.analytics-focus{display:grid;grid-template-columns:minmax(0,1.15fr) 390px;gap:14px}.featured-card{padding:18px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-title h2{font-size:30px}.featured-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.featured-stats div{border:var(--border-surface);border-radius:var(--radius-surface);padding:12px;background:var(--surface-muted)}.featured-stats strong{display:block;margin-top:8px;font-size:19px}.comparison-track{position:relative;height:92px;border-radius:var(--radius-surface);background:var(--row-hover-bg)}.track-line{position:absolute;top:44px;right:36px;left:36px;height:4px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--chart-grid),var(--accent),var(--success))}.comparison-track span{position:absolute;top:22px;transform:translate(-50%);color:var(--muted);font-size:12px;font-weight:850;text-align:center}.comparison-track b{display:block;color:var(--text)}.stroke-summary{display:grid;gap:10px}.stroke-summary article{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:13px 14px}.stroke-summary span{color:var(--muted);font-size:13px}.stroke-summary b{grid-row:span 2;align-self:center;color:var(--accent)}.stroke-summary em{position:absolute;top:10px;right:80px;border-radius:var(--radius-pill);padding:4px 8px;background:var(--accent-soft-bg);color:var(--accent-strong);font-size:11px;font-style:normal;font-weight:950}.stroke-summary .top-stroke{border-color:var(--accent);background:var(--mint-soft-bg)}.records-area{padding:16px}.profile-chart-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr) minmax(280px,.8fr);gap:14px}.chart-card{border:var(--border-surface);border-radius:var(--radius-surface);padding:16px;background:var(--surface);box-shadow:var(--shadow)}.chart-card.wide,.apex-profile-chart{min-width:0}.apex-profile-chart .apexcharts-canvas{margin-inline:auto}.apex-tooltip{display:grid;gap:4px;padding:10px 12px;color:var(--text);font-size:12px}.apex-tooltip strong{color:var(--accent-strong);font-size:13px}.apex-tooltip span{color:var(--muted)}.chart-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.chart-title-with-filters{flex-wrap:wrap}.chart-filters{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.chart-filters label{display:grid;gap:4px}.chart-filters label span{margin:0;font-size:10px}.chart-filters select{min-height:34px;border:var(--border-surface);border-radius:var(--btn-radius);padding:7px 30px 7px 10px;background:var(--surface-muted);color:var(--text);font:inherit;font-size:13px;font-weight:850;outline:none}.chart-title span{display:block;margin-bottom:3px;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.chart-title h3{margin:0;font-size:17px}.chart-title b{color:var(--muted);font-size:12px}.profile-line-chart{display:block;width:100%;height:230px;border-radius:var(--radius-surface);background:var(--row-hover-bg)}.profile-line-chart .axis{fill:none;stroke:var(--chart-grid);stroke-width:2}.profile-line-chart polyline{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.profile-line-chart circle{fill:var(--swim-white);stroke:var(--accent);stroke-width:3}.profile-line-chart .chart-point{cursor:help;outline:none}.profile-line-chart .chart-point text{fill:var(--accent-strong);font-size:10px;font-weight:950;pointer-events:none}.profile-line-chart .chart-point:hover circle,.profile-line-chart .chart-point:focus circle{fill:var(--accent-soft-bg);stroke:var(--accent-strong);stroke-width:4}.profile-line-chart .chart-point:hover text,.profile-line-chart .chart-point:focus text{fill:var(--text)}.profile-bar-chart{display:grid;gap:11px}.bar-row{display:grid;grid-template-columns:minmax(98px,.8fr) minmax(90px,1fr) auto;align-items:center;gap:8px}.bar-row span{color:var(--text);font-size:12px;font-weight:850}.bar-row div{overflow:hidden;height:9px;border-radius:var(--radius-pill);background:var(--surface-muted)}.bar-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-hover))}.bar-row b{color:var(--muted);font-size:12px;white-space:nowrap}.chart-empty{margin:0;color:var(--muted)}.records-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.records-header>div:first-child{min-width:0}.records-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:14px;margin-top:14px}.records-table-card{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:var(--border-surface);border-radius:var(--radius-surface)}.records-table{width:100%;border-collapse:collapse;font-size:12px}.records-table th,.records-table td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;white-space:nowrap}.records-table td.records-time{font-size:14px;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--text)}.records-table td.records-meet{white-space:normal;max-width:14.5rem;line-height:1.35;vertical-align:middle}.records-table td.records-meet .meet-name{display:flex;flex-direction:column;gap:1px}.records-table td.records-meet .meet-name-line{display:block}.records-table th{background:var(--accent-soft-bg);color:var(--accent-strong);font-size:11px;text-transform:uppercase}.records-table tr:not(.group-row):hover,.records-table .selected-row{background:var(--mint-soft-bg)}.records-table tr[data-event] td:first-child:before{content:"\25e6";display:inline-grid;width:18px;height:18px;margin-right:7px;place-items:center;border-radius:50%;background:var(--accent-soft-bg);color:var(--accent-strong);font-size:14px;font-weight:950}.records-table .positive:before,.kpi-grid strong.positive:before,.event-detail-panel dd.positive:before{content:"\2193  ";font-weight:950}.records-table .negative:before,.kpi-grid strong.negative:before,.event-detail-panel dd.negative:before{content:"\2191  ";font-weight:950}.group-row td{background:var(--accent-soft-bg);color:var(--accent-strong);font-size:12px;font-weight:950;text-transform:uppercase}.status{border-radius:var(--radius-pill);padding:5px 8px;background:var(--surface-muted);color:var(--muted);font-size:11px;font-weight:900}.status.best{background:var(--gold-soft-bg);color:var(--gold-text)}.status.best:before{content:"\2605  "}.status:not(.best):before{content:"\25cf  "}.event-detail-panel{padding:16px}.detail-chart{position:relative;display:flex;align-items:end;gap:12px;height:150px;margin:18px 0;border-radius:var(--radius-surface);padding:18px;background:var(--row-hover-bg)}.detail-chart span:not(.target-line){flex:1;border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,var(--accent),var(--accent-hover))}.detail-chart .target-line{position:absolute;right:14px;left:14px;top:42px;height:2px;border-top:2px dashed var(--chart-target)}.event-detail-panel dl{display:grid;gap:10px;margin:0 0 16px}.event-detail-panel dt{color:var(--muted);font-size:12px;font-weight:850}.event-detail-panel dd{margin:3px 0 0;font-weight:850}.event-detail-panel button{width:100%;min-height:var(--btn-min-height);border:1px solid var(--btn-primary-border);border-radius:var(--btn-radius);padding:12px;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-weight:var(--btn-font-weight);cursor:pointer;transition:background .15s ease,border-color .15s ease}.event-detail-panel button:hover{border-color:var(--btn-primary-hover-border);background:var(--btn-primary-hover-bg)}.bottom-analytics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bottom-analytics.bottom-analytics--no-goals,.profile-analytics-page[data-jordan-goals="0"] .bottom-analytics{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-analytics article{padding:16px}.bottom-analytics h3{margin:0 0 12px;font-size:16px}.bottom-analytics p{margin:8px 0 0;color:var(--muted);font-size:13px}.body-performance-map-card{--upper-body-score: 0;--core-score: 0;--kick-score: 0;--endurance-score: 0;--technique-score: 0;height:100%;border:var(--border-surface);border-radius:var(--radius-surface);padding:18px;background:radial-gradient(circle at 22% 18%,rgba(21,199,189,.12),transparent 30%),var(--surface);box-shadow:var(--shadow)}.body-map-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.body-map-header p,.body-map-header span{margin:0;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.body-map-header h2{margin:3px 0 5px;font-size:22px}.body-map-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.body-map-badges .hidden{display:none}.body-map-layout{display:grid;grid-template-columns:minmax(220px,.44fr) minmax(0,1fr);gap:18px;align-items:center}.body-map-figure{display:grid;min-height:340px;margin:0;place-items:center;border:var(--border-surface);border-radius:var(--radius-surface);background:radial-gradient(circle at 50% 24%,rgba(21,199,189,.16),transparent 34%),linear-gradient(180deg,var(--surface-muted),var(--mint-soft-bg))}.body-map-figure svg{display:block;width:min(100%,260px);height:auto}.body-base{fill:url(#bodyMapSkin);stroke:var(--chart-grid);stroke-width:2}.body-map-person{filter:drop-shadow(0 14px 18px rgba(15,143,134,.12))}.body-map-arm{opacity:.96}.body-map-shadow{fill:#102a431a}.body-zone{fill:url(#bodyMapCyan);stroke:#fff;stroke-width:1.5;transform-box:fill-box;transform-origin:center;transition:opacity .26s ease,filter .26s ease}.body-zone.is-strongest{fill:url(#bodyMapHeat);filter:drop-shadow(0 0 10px rgba(224,51,47,.38));stroke:#ffffffe6}.body-zone.upper-body{opacity:calc(.16 + var(--upper-body-score) * .78)}.body-zone.core{opacity:calc(.16 + var(--core-score) * .78)}.body-zone.kick{opacity:calc(.16 + var(--kick-score) * .78)}.body-zone.endurance-outline{fill:none;filter:url(#bodyMapGlow);opacity:calc(.2 + var(--endurance-score) * .55);stroke:var(--chart-primary);stroke-dasharray:10 12;stroke-linecap:round;stroke-width:7}.body-zone.technique-glow{fill:none;filter:url(#bodyMapGlow);opacity:calc(.16 + var(--technique-score) * .58);stroke:var(--accent-strong);stroke-dasharray:4 10;stroke-linecap:round;stroke-width:4}.body-zone.endurance-outline.is-strongest,.body-zone.technique-glow.is-strongest{fill:none;filter:url(#bodyMapGlow) drop-shadow(0 0 8px rgba(224,51,47,.42));stroke:#e0332f}.body-map-breathe{animation:bodyMapBreathe 3.8s ease-in-out infinite}.body-map-pulse{animation:bodyMapPulse 5.2s ease-in-out infinite}.body-map-panel{display:grid;gap:14px}.body-map-scores{display:grid;gap:10px}.body-map-score-row{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(120px,1fr) 42px;align-items:center;gap:10px;border:var(--border-surface);border-radius:var(--radius-surface);padding:10px 12px;background:var(--surface-muted)}.body-map-score-row.is-strongest{border-color:#e0332f57;background:linear-gradient(90deg,rgba(255,122,89,.12),var(--surface-muted) 46%)}.body-map-score-row span{color:var(--text);font-size:13px;font-weight:900}.body-map-score-row div{overflow:hidden;height:10px;border-radius:var(--radius-pill);background:var(--surface-muted)}.body-map-score-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-hover));transition:width .32s ease}.body-map-score-row.is-strongest i{background:linear-gradient(90deg,#ff7a59,#e0332f)}.body-map-score-row.is-strongest b{color:#b4231f}.body-map-score-row b{color:var(--accent-strong);font-size:13px;text-align:right}.body-map-empty{border:1px dashed var(--line);border-radius:var(--radius-surface);padding:14px;color:var(--muted);background:var(--surface-muted);font-weight:800}.body-map-insight{margin:0;border-left:4px solid var(--accent);padding:10px 12px;border-radius:var(--btn-radius);background:var(--mint-soft-bg);color:var(--text);font-weight:850}.body-map-disclaimer{margin:0;color:var(--muted);font-size:12px;line-height:1.45}@keyframes bodyMapBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes bodyMapPulse{0%,to{stroke-dashoffset:0}50%{stroke-dashoffset:-18}}@media(prefers-reduced-motion:reduce){.body-map-breathe,.body-map-pulse{animation:none}}@media(max-width:1100px){.profile-analytics-page{padding:16px 18px 28px}.kpi-grid>article,.kpi-grid.kpi-grid--no-goals>article,.profile-analytics-page[data-jordan-goals="0"] .kpi-grid>article{flex-basis:calc((100% - 24px) / 3)}.analytics-focus,.profile-chart-grid,.records-layout,.bottom-analytics,.profile-insights-row{grid-template-columns:1fr}.featured-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.records-header{align-items:stretch}.analytics-topbar,.header-controls{align-items:stretch;flex-direction:column}.header-controls{width:100%}.header-controls-filters,.header-controls-export{grid-template-columns:1fr}.header-controls-export .export-button,.year-form,.year-form select{width:100%}.athlete-identity{align-items:flex-start}.athlete-photo{flex-basis:92px;width:92px;height:92px;border-radius:16px}.athlete-photo-fallback{font-size:28px}.records-controls-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.body-map-layout{grid-template-columns:1fr}.body-map-figure{min-height:300px}}@media(max-width:680px){.profile-analytics-page{gap:14px;padding:12px max(14px,env(safe-area-inset-right,0px)) max(22px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px))}.analytics-topbar{padding:14px}.athlete-identity{flex-direction:column;align-items:center;text-align:center}.athlete-identity-copy{width:100%}.athlete-name-block h1{font-size:clamp(1.35rem,6vw,1.65rem)}.athlete-name-stack{align-items:center;width:100%}.athlete-name-ar{text-align:center}.athlete-profile-meta{flex-direction:column;align-items:stretch}.athlete-profile-meta .athlete-badges{justify-content:center;align-self:stretch}.athlete-meta-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1 1 auto}.athlete-meta-strip span{min-width:0}.kpi-grid>article,.kpi-grid.kpi-grid--no-goals>article,.profile-analytics-page[data-jordan-goals="0"] .kpi-grid>article{flex-basis:calc((100% - 12px)/2)}.kpi-grid article{min-height:96px;padding:12px}.kpi-grid strong{font-size:20px}.section-title{flex-direction:column;align-items:flex-start;gap:10px}.section-title h2{font-size:clamp(1.35rem,5.5vw,1.75rem);line-height:1.15}.featured-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0}.comparison-track{display:none}.stroke-summary em{position:static;grid-column:1 / -1;justify-self:start;margin-top:4px}.chart-title,.chart-title-with-filters{flex-direction:column;align-items:stretch}.bar-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.bar-row div{grid-column:1 / -1}.records-table th,.records-table td{padding:12px 10px}.body-map-header{align-items:stretch;flex-direction:column}.body-map-badges{justify-content:flex-start}.body-map-score-row{grid-template-columns:1fr 40px}.body-map-score-row div{grid-column:1 / -1;grid-row:2}.performance-card-widget{padding:14px}.performance-card-widget-head{flex-direction:column;align-items:stretch}.performance-card{width:100%;max-width:none}.performance-card-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-card-points{font-size:clamp(1.85rem,8vw,2.35rem)}.profile-insights-row{grid-template-columns:1fr;margin-bottom:0}}@media(max-width:480px){.kpi-grid>article,.kpi-grid.kpi-grid--no-goals>article,.profile-analytics-page[data-jordan-goals="0"] .kpi-grid>article{flex-basis:100%}.featured-stats,.athlete-meta-strip{grid-template-columns:1fr}.course-toggle button{padding-inline:8px;font-size:12px}}@media(min-width:681px){.profile-filter-panel[data-profile-filter-panel=dashboard] .profile-filter-sheet-body{display:flex;justify-content:flex-end}.records-area>.profile-filter-panel[data-profile-filter-panel=records]{margin-bottom:14px}.chart-title-with-filters>.profile-filter-panel[data-profile-filter-panel=chart-progress]{margin-left:auto}}@media(max-width:680px){.profile-filter-toolbar{display:flex;justify-content:flex-end}.profile-filter-toolbar--dashboard{width:100%}.profile-filter-toolbar--dashboard .profile-filter-toggle,.profile-filter-toolbar--records .profile-filter-toggle{width:100%;justify-content:center}.profile-filter-toggle{display:inline-flex}.profile-filter-toggle .profile-filter-summary{color:var(--accent-strong);font-weight:800}.profile-filter-panel:not(.is-open){display:none}.profile-filter-panel.is-open{position:fixed;inset:0;z-index:1100;display:block}.profile-filter-panel.is-open .profile-filter-backdrop{display:block;position:absolute;inset:0;background:#0c17247a}.profile-filter-panel.is-open .profile-filter-sheet{position:absolute;left:0;right:0;bottom:0;display:flex;max-height:min(88vh,760px);flex-direction:column;border-radius:18px 18px 0 0;background:var(--surface);box-shadow:0 -18px 40px #0c172438;animation:profile-filter-sheet-in .24s ease}.profile-filter-panel.is-open .profile-filter-sheet-head,.profile-filter-panel.is-open .profile-filter-sheet-foot{display:flex;flex-shrink:0}.profile-filter-panel.is-open .profile-filter-sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:14px 18px 18px}.profile-filter-panel.is-open .header-controls,.profile-filter-panel.is-open .records-controls,.profile-filter-panel.is-open .chart-filters{display:grid;gap:14px}.profile-filter-panel.is-open .course-toggle{width:100%;flex-wrap:wrap}.profile-filter-panel.is-open .course-toggle button{flex:1 1 calc(33.333% - 6px);min-height:44px}.profile-filter-panel.is-open .header-controls-filters,.profile-filter-panel.is-open .header-controls-export,.profile-filter-panel.is-open .year-form,.profile-filter-panel.is-open .export-button{width:100%}.profile-filter-panel.is-open .records-controls-strokes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-filter-panel.is-open .records-controls-strokes button{min-height:44px;width:100%;justify-content:center}.profile-filter-panel.is-open .records-controls-fields,.profile-filter-panel.is-open .chart-filters{grid-template-columns:1fr;gap:12px}.profile-filter-panel.is-open .chart-filters label,.profile-filter-panel.is-open .profile-filter-field{width:100%}.chart-title-with-filters>.profile-filter-toggle[data-profile-filter-open=chart-progress]{width:100%;margin-top:4px}}@keyframes profile-filter-sheet-in{0%{transform:translateY(18px);opacity:.92}to{transform:translateY(0);opacity:1}}.goal-context-inline{margin:0 0 12px;color:var(--muted);font-size:12px;font-weight:750;line-height:1.4}.profile-insights-row{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:18px;align-items:stretch;margin:0 0 18px}.performance-card-widget{display:grid;gap:12px;height:100%;border:var(--border-surface);border-radius:var(--radius-surface);padding:18px;background:radial-gradient(circle at 12% 0%,rgba(65,166,198,.08),transparent 34%),var(--surface);box-shadow:var(--shadow)}.performance-card-widget-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.performance-card-widget-copy p,.body-map-header p{margin:0}.performance-card-widget-copy p{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.performance-card-widget-copy h2{margin:3px 0 0;font-size:22px;line-height:1.1}.performance-card-widget-hint{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:650;line-height:1.4}.performance-card-course-toggle{display:inline-flex;flex-shrink:0;gap:4px;padding:4px;border:var(--border-surface);border-radius:999px;background:var(--surface-muted)}.performance-card-course-toggle button{border:0;border-radius:999px;padding:8px 13px;background:transparent;color:var(--muted);font-size:12px;font-weight:850;cursor:pointer}.performance-card-course-toggle button.is-active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow)}.performance-card-shell{display:grid;place-items:center;padding:4px 0 0}.performance-card{position:relative;width:min(100%,340px);padding:18px 16px 22px;color:#f4fbff;border-radius:22px;background:linear-gradient(165deg,rgba(65,166,198,.14) 0%,transparent 42%),linear-gradient(180deg,#12101f,#1f1a38 56%,#12101f);box-shadow:0 16px 34px #0c172447,inset 0 1px #ffffff0f;transform:translateY(10px);opacity:0;transition:transform .35s ease,box-shadow .35s ease}.performance-card.is-entering{animation:performance-card-enter .55s ease forwards}.performance-card.is-entering:hover,.performance-card:hover{transform:translateY(-3px);box-shadow:0 22px 42px #0c172457,inset 0 1px #ffffff14}.performance-card-frame{position:absolute;inset:0;border:1px solid rgba(65,166,198,.34);border-radius:inherit;pointer-events:none}.performance-card-notch{position:absolute;left:50%;bottom:-1px;width:54px;height:14px;transform:translate(-50%);background:linear-gradient(180deg,#41a6c659,#41a6c614);clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none}.performance-card-pattern{position:absolute;inset:0;border-radius:inherit;opacity:.2;background:repeating-linear-gradient(180deg,rgba(173,221,199,.07) 0,rgba(173,221,199,.07) 1px,transparent 1px,transparent 12px),radial-gradient(circle at 16% 10%,rgba(65,166,198,.16),transparent 36%);pointer-events:none}.performance-card-sheen{position:absolute;inset:-50% auto -50% -35%;width:40%;border-radius:inherit;background:linear-gradient(120deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(16deg) translate(-130%);transition:transform .85s ease;pointer-events:none}.performance-card:hover .performance-card-sheen{transform:rotate(16deg) translate(250%)}.performance-card-top,.performance-card-hero,.performance-card-best-event,.performance-card-stats{position:relative;z-index:1}.performance-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.performance-card-score-label,.performance-card-points-meta,.performance-card-best-event span,.performance-card-stat span{display:block;color:#adddc7d1;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.performance-card-points{display:block;margin-top:2px;color:#fff;font-size:clamp(2.15rem,6vw,2.75rem);font-weight:950;line-height:.95;letter-spacing:-.02em}.performance-card-tier-wrap{display:grid;gap:6px;justify-items:end}.performance-card-tier,.performance-card-course-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.performance-card-tier{gap:4px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff}.performance-card-course-pill{background:#41a6c62e;color:#72c4bd}.performance-card-hero{display:grid;justify-items:center;gap:10px;margin:16px 0 12px}.performance-card-avatar{display:grid;width:88px;height:88px;place-items:center;overflow:hidden;border:2px solid rgba(65,166,198,.5);border-radius:20px;background:linear-gradient(160deg,#41a6c63d,#35495e9e);box-shadow:0 10px 24px #0c172447,inset 0 0 0 1px #ffffff14}.performance-card-avatar-fallback{color:#72c4bd;font-size:28px;font-weight:950;letter-spacing:.04em}.performance-card-identity{width:100%;text-align:center}.performance-card-identity h3{margin:0;overflow:hidden;color:#fff;font-size:1.05rem;font-weight:900;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.performance-card-specialty{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:7px 0 0;color:#adddc7eb;font-size:12px;font-weight:800}.performance-card-stroke-icon{width:18px;height:18px;flex:0 0 18px;background-color:#72c4bd}.performance-card-best-event{padding:10px 12px;border:1px solid rgba(65,166,198,.24);border-radius:14px;background:#ffffff0d}.performance-card-best-event strong{display:block;margin-top:4px;font-size:13px;font-weight:850;line-height:1.3}.performance-card-best-event em{display:block;margin-top:3px;color:#adddc7e0;font-size:12px;font-style:normal;font-weight:800}.performance-card-best-event em[hidden]{display:none}.performance-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.performance-card-stat{min-height:52px;padding:7px 8px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#0c172470;opacity:0;transform:translateY(6px)}.performance-card-stat.is-pbs{grid-column:span 1;background:#41a6c61f;border-color:#41a6c63d}.performance-card-widget-title{display:inline-flex;align-items:center;gap:6px;margin:3px 0 0;font-size:22px;line-height:1.1}.performance-card-inline-help{display:inline-flex;align-items:center;transform:scale(.78);transform-origin:center}.performance-card-inline-help [data-perf-help-toggle]{border-color:#adddc759;background:#0c17248c;color:#adddc7eb}.performance-card-stat.is-pbs .performance-card-stat-label{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:100%}.performance-card-stat.is-peak{border-color:#e8ad3273;background:#e8ad321a}.performance-card-stat.is-peak strong{color:#f6d27b}.performance-card-stat.is-visible{animation:performance-card-stat-in .4s ease forwards;animation-delay:var(--stat-delay, 0ms)}.performance-card-stat strong{display:block;margin-top:3px;font-size:14px;font-weight:900}.performance-card-insight{min-height:18px;margin:0;padding:10px 12px;border:var(--border-dashed);border-radius:var(--btn-radius);background:var(--surface-muted);color:var(--text);font-size:12px;font-weight:750;line-height:1.4}.performance-card-footnote{display:grid;gap:6px}.performance-card-tier-note{position:relative;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.performance-card-tier-help{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:900;vertical-align:middle;cursor:pointer}.performance-card-tier-tip{display:none;margin:0;padding:10px 12px;border:var(--border-surface);border-radius:var(--btn-radius);background:var(--surface-muted);color:var(--muted);font-size:11px;line-height:1.45}.performance-card-tier-tip.is-open{display:block}.performance-card--standard .performance-card-frame{border-color:#35495ebf}.performance-card--rising .performance-card-frame{border-color:#41a6c68c}.performance-card--silver{background:linear-gradient(165deg,rgba(173,221,199,.14) 0%,transparent 38%),linear-gradient(180deg,#1f1a38,#35495e 56%,#12101f)}.performance-card--silver .performance-card-frame{border-color:#adddc76b}.performance-card--silver .performance-card-tier{background:#adddc729;color:#dff5ea}.performance-card--gold .performance-card-frame{border-color:#e8ad329e}.performance-card--gold .performance-card-tier{background:#e8ad322e;color:#f6d27b}.performance-card--platinum .performance-card-frame{border-color:#9442c585;box-shadow:0 0 18px #9442c529}.performance-card--platinum .performance-card-tier{background:#9442c538;color:#d8a8ef}.performance-card--elite{background:radial-gradient(circle at 84% 8%,rgba(232,173,50,.14),transparent 28%),radial-gradient(circle at 10% 16%,rgba(65,166,198,.16),transparent 32%),linear-gradient(180deg,#12101f,#1f1a38 52%,#12101f)}.performance-card--elite .performance-card-frame{border-color:#e8ad32ad}.performance-card--elite .performance-card-tier{background:#e8ad3233;color:#f6d27b}.performance-card--elite .performance-card-points{background:linear-gradient(180deg,#fff,#f6d27b);-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes performance-card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes performance-card-stat-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.profile-insights-row{grid-template-columns:1fr}.kpi-grid>article,.kpi-grid.kpi-grid--no-goals>article,.profile-analytics-page[data-jordan-goals="0"] .kpi-grid>article{flex-basis:calc((100% - 24px) / 3)}}@media(max-width:680px){.profile-insights-row{grid-template-columns:1fr;margin-bottom:0}.kpi-grid>article,.kpi-grid.kpi-grid--no-goals>article,.profile-analytics-page[data-jordan-goals="0"] .kpi-grid>article{flex-basis:calc((100% - 12px)/2)}.performance-card{width:100%;max-width:none}}@media(max-width:480px){.kpi-grid>article,.kpi-grid.kpi-grid--no-goals>article,.profile-analytics-page[data-jordan-goals="0"] .kpi-grid>article{flex-basis:100%}}.profile-related-swimmers{margin:0 auto;padding:28px 32px;background:#fff;border-top:1px solid var(--border-surface, #dce6ec)}.related-swimmers-heading{font-size:16px;font-weight:700;color:var(--swim-navy, #35495e);margin:0 0 16px}.related-swimmers-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:10px 20px}.related-swimmers-list li{display:flex;align-items:center;gap:6px}.related-swimmers-list a{color:var(--swim-link, #1a6fc4);font-weight:600;text-decoration:none;font-size:14px}.related-swimmers-list a:hover{text-decoration:underline}.related-fina{font-size:12px;color:var(--muted, #6b7280);background:#f3f4f6;padding:1px 6px;border-radius:3px}.related-swimmers-more{font-size:13px;color:var(--swim-link, #1a6fc4);text-decoration:none;font-weight:600}.related-swimmers-more:hover{text-decoration:underline}@media(max-width:640px){.profile-related-swimmers{padding:20px 18px}}
