
:root {
  --bg:#08090b; --surface:#101113; --raised:#191b1f; --line:#292b30;
  --text:#f3f3f3; --muted:#aaaeb6; --red:#f52b32; --red-text:#ff6f72;
  --reference:#8dbfff; --action:#d62229; --radius:5px;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;background:var(--bg);color:var(--text);font:14px/1.5 "Segoe UI",Arial,sans-serif}
button,select,input,textarea {font:inherit}
button,a,select,input {touch-action:manipulation}
button,select,summary {cursor:pointer}
button {color:inherit;transition:background .15s,border-color .15s}
button:disabled,select:disabled {opacity:.5;cursor:default}
button:hover:not(:disabled),.text-button:hover {background:#23262b}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,svg [role=button]:focus-visible {outline:2px solid #fff;outline-offset:4px}
h1,h2,h3,p,figure {margin:0}
h1,h2,h3,strong,select,output {font-family:Bahnschrift,"Segoe UI",sans-serif}
h1 {font-size:29px;font-weight:500;letter-spacing:-.5px;line-height:1.2}
h2 {font-size:15px;font-weight:500}
h3 {font-size:18px;font-weight:500}
small {font-size:11px}
a {color:inherit;text-decoration:none}
[hidden] {display:none!important}
.muted,.description,.empty-note,.quiet-note {color:var(--muted)}
.numeric,strong,output,select,td {font-variant-numeric:tabular-nums}
.skip-link {position:fixed;top:-70px;left:12px;padding:12px;background:var(--raised);z-index:10}
.skip-link:focus {top:10px}
.sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.app-header {height:77px;display:grid;grid-template-columns:290px 1fr auto;align-items:center;padding:0 30px;background:#000;border-bottom:1px solid var(--line)}
.brand {display:flex;align-items:center;gap:14px;width:fit-content}
.brand svg {width:208px;height:58px}
.brand span {display:none}
.main-nav {display:flex;align-self:stretch;align-items:stretch;gap:30px}
.main-nav a {display:flex;align-items:center;gap:9px;color:#a7a8ad;border-bottom:2px solid transparent;padding:0 3px;font-size:14px}
.main-nav a:hover {color:#fff}
.main-nav a.active {border-color:var(--red);color:#fff}
.main-nav a span {color:#9e9fa4;font-size:11px}
.header-status {display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}
.connection-indicator {width:5px;height:5px;background:#d6d6d9;border-radius:50%}
.source-tag {color:#d4d4d7;border:1px solid #3b3c41;border-radius:3px;padding:3px 7px;font-size:11px;white-space:nowrap}
.header-status .source-tag {margin-left:12px}
.workspace {max-width:1800px;margin:0 auto;padding:0 30px}
.status-message {min-height:19px;font-size:12px;color:#e9d8d8;text-align:right;padding-top:4px}
.status-message:empty {min-height:14px;padding:0}
.session-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0 23px}
.session-context {display:flex;flex-wrap:wrap;gap:17px;color:var(--muted);font-size:12px;margin-bottom:9px}
.session-context span:first-child {color:#f2f2f2}
.heading-actions {display:flex;align-items:center;gap:10px}
.session-title {color:var(--muted);font-size:12px;padding-right:10px}
.button {display:inline-flex;align-items:center;justify-content:center;border:1px solid #393b40;border-radius:var(--radius);min-height:40px;padding:8px 13px;background:transparent;color:#dedee0;font-size:12px;white-space:nowrap}
.button.primary {border-color:var(--action);background:var(--action);color:#fff;font-weight:600}
.button.primary:hover:not(:disabled) {background:#ce1e26;border-color:#ce1e26}
.button.compact {min-height:34px;padding:5px 10px;font-size:11px}
.text-button {background:transparent;border:0;color:#c0c0c6;padding:8px 0;min-height:38px;font-size:11px;text-align:left}
.lap-controls {display:grid;grid-template-columns:240px 260px minmax(170px,1fr) auto;align-items:center;gap:20px;padding:17px 0;margin-bottom:21px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lap-picker {display:grid;grid-template-columns:auto 1fr;align-items:center;gap:13px}
.lap-picker>span {font-size:11px;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:7px}
.lap-picker select {width:100%;border:1px solid #36383e;border-radius:4px;padding:8px 23px 8px 9px;background:#121315;color:#fff;font-size:13px;min-height:39px}
.line-key {display:inline-block;width:17px;border-top:2px solid var(--reference);flex-shrink:0}
.comparison-key {border-color:var(--red);border-top-style:dashed}
.delta-metric {display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:start;column-gap:12px;padding-left:20px;border-left:1px solid var(--line)}
.delta-metric>span {color:var(--muted);font-size:11px}
.delta-metric strong {font-size:24px;line-height:1.15;color:var(--red-text);font-weight:500}
.delta-metric small {color:var(--muted);grid-column:1/-1;margin-top:4px}
.analysis-legend {display:flex;gap:14px;font-size:10px;color:var(--muted)}
.analysis-legend span {display:flex;align-items:center;gap:5px}
.analysis-layout {display:grid;grid-template-columns:230px minmax(0,1fr) 284px;gap:25px;align-items:start}
.session-rail {border-right:1px solid var(--line);padding-right:20px;min-width:0}
.panel-heading {display:flex;align-items:center;justify-content:space-between;gap:10px}
.panel-heading>span {color:var(--muted);font-size:11px}
.track-panel {padding:1px 0 15px;border-bottom:1px solid var(--line)}
#track-map {width:100%;display:block;height:auto;margin:3px 0 0}
.track-line {fill:none;stroke:#454850;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.track-highlight {fill:none;stroke:#a5a8af;stroke-width:1.8}
.track-focus {fill:none;stroke:var(--red);stroke-width:7;stroke-linecap:round}
.zone-marker {cursor:pointer}
.zone-marker circle {fill:#141517;stroke:#7b7f88;stroke-width:1.5}
.zone-marker.active circle {fill:var(--red);stroke:#ff9fa3}
.zone-marker text {fill:#fff;font:10px Bahnschrift,"Segoe UI",sans-serif;text-anchor:middle;pointer-events:none}
.track-caption {display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}
#track-point {color:#fff;font-variant-numeric:tabular-nums}
.lap-rail {padding:18px 0 12px}
.compact-laps {display:grid;margin-top:12px}
.compact-lap {display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:9px;min-height:49px;width:100%;text-align:left;padding:6px 8px;border:0;border-bottom:1px solid #1f2024;background:transparent;border-left:2px solid transparent}
.compact-lap.reference {border-left-color:var(--reference);background:#131820}
.compact-lap.comparison,.compact-lap.selected {border-left-color:var(--red);background:#211315}
.compact-lap .lap-number {color:var(--muted);font-size:12px}
.compact-lap strong {font-weight:400;font-size:15px}
.compact-lap small {color:var(--muted);display:block;font-size:9px}
.lap-marker {color:#c1c3ca;font-size:10px}
.quality-details {padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
summary {min-height:38px;align-content:center;cursor:pointer}
summary span {margin-left:5px;color:#e2b4b6;font-size:10px}
.quality-details p {margin:4px 0 12px;line-height:1.7}
.telemetry {min-width:0}
.chart-heading h2 {font-size:17px}
.chart-heading p {font-size:11px;color:var(--muted);margin-top:5px}
.chart-toolbar {display:flex;align-items:center;justify-content:space-between;gap:15px;margin:17px 0 9px}
.channel-tabs {display:flex;gap:15px}
.channel-tabs button {min-height:35px;border:0;border-bottom:2px solid transparent;background:transparent;color:#a6a7ac;padding:5px 1px;font-size:12px}
.channel-tabs button.active {border-color:#f1f1f2;color:#fff}
.zoom-controls {display:flex;gap:5px}
.chart-figure {padding-top:9px;border-top:1px solid var(--line)}
figcaption {display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#dddfe3}
figcaption small {color:#8e929a;font-size:10px;margin-left:5px}
figcaption .numeric {color:#d9dde4;font-size:11px}
.chart {width:100%;height:auto;display:block;overflow:visible;user-select:none;touch-action:pan-y}
.chart text {fill:#9b9fa9;font:11px "Segoe UI",sans-serif}
.chart .grid-line {stroke:#25272d;stroke-width:.8}
.chart .cursor-line {stroke:#f4f4f4;stroke-width:.8;stroke-dasharray:3 5;opacity:.5}
.chart .ref-line {fill:none;stroke:var(--reference);stroke-width:1.9;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.chart .cmp-line {fill:none;stroke:#ff4a51;stroke-width:1.8;stroke-dasharray:6 3;vector-effect:non-scaling-stroke}
.chart .delta-line {fill:none;stroke:#ff5d63;stroke-width:1.8;vector-effect:non-scaling-stroke}
.chart .zone-shade {fill:#f52b3210}
.chart .gap-shade {fill:#ff777725}
.distance-control {display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px;border-top:1px solid var(--line);margin-top:8px;padding-top:9px}
.distance-control label {display:flex;justify-content:space-between;grid-column:1/-1;font-size:11px;color:var(--muted)}
.distance-control output {color:#fff}
.distance-control input {width:100%;height:29px;accent-color:#e5e5e7;cursor:crosshair}
.distance-control>span {color:var(--muted);font-size:10px}
.draw-note {font-size:10px;margin:6px 0 0}
.focus-rail {padding-left:21px;border-left:1px solid var(--line)}
.zone-list {display:grid;gap:5px;margin:13px 0 22px}
.zone-button {min-height:46px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:10px 9px;background:transparent;border:1px solid #27292d;border-radius:4px;text-align:left}
.zone-button .zone-number {color:#858a94;font-size:11px}
.zone-button strong {font-size:12px;font-weight:400}
.zone-button .zone-delta {font:15px Bahnschrift,"Segoe UI",sans-serif}
.zone-button.active {background:#231214;border-color:#7a282d}
.zone-button.active .zone-delta {color:#ff8c90}
.focus-detail {border-top:1px solid var(--line);padding-top:16px}
.focus-detail .focus-label {color:var(--muted);font-size:11px;margin-bottom:6px}
.focus-detail h3 {font-size:17px}
.focus-amount {display:flex;align-items:baseline;gap:10px;margin:13px 0 14px}
.focus-amount strong {font-size:31px;color:var(--red-text);font-weight:400;line-height:1}
.focus-amount span {color:var(--muted);font-size:11px}
.evidence-table {width:100%;border-collapse:collapse;font-size:10px;margin:12px 0}
.evidence-table th {font-weight:400;color:#989da7;font-size:9px;padding:8px 0;border-bottom:1px solid var(--line);text-align:right}
.evidence-table th:first-child {text-align:left}
.evidence-table td {padding:10px 0;border-bottom:1px solid #22242a;text-align:right}
.evidence-table td:first-child {text-align:left;color:#c3c5cb}
.evidence-table td:nth-child(2) {color:#ff9397}
.focus-comment {color:#b8bbc3;line-height:1.7;font-size:12px}
.practice-action {margin-top:23px;border-top:2px solid #613135;padding-top:15px}
.practice-action h2 {font-size:15px}
.practice-action>p {color:#babdc5;font-size:12px;line-height:1.65;margin:9px 0 13px}
.practice-action .button {width:100%}
.practice-action .quiet-note {font-size:10px;color:#969aa4;margin-bottom:0}
.workspace-footer {display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:#92969f;font-size:10px;margin-top:28px;padding:15px 0 22px}
.view-heading {display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 0 30px}
.section-context {color:#aaaeb6;font-size:12px;margin-bottom:7px}
.description {margin-top:11px;max-width:65ch;font-size:13px}
.session-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.session-item {min-height:133px;width:100%;text-align:left;display:grid;grid-template-columns:1fr auto;gap:4px 18px;border:1px solid var(--line);border-radius:5px;background:var(--surface);padding:21px 23px}
.session-item.active {border-color:#753138}
.session-item .session-label {grid-column:1/-1;color:#b6bac2;font-size:11px}
.session-item strong {font-size:21px;font-weight:400}
.session-item small {grid-column:1;color:var(--muted);margin-top:6px}
.session-item .open-label {color:#ff858b;align-self:end;grid-row:2/4;grid-column:2;font-size:12px}
.lap-section {margin-top:32px}
.lap-section>.panel-heading {margin-bottom:17px}
.table-wrap {border-top:1px solid var(--line);overflow-x:auto}
.table-wrap table {width:100%;border-collapse:collapse;text-align:left;font-size:13px}
.table-wrap th {padding:12px 10px;color:#a5a9b2;font-size:11px;font-weight:400}
.table-wrap td {padding:12px 10px;border-top:1px solid var(--line)}
.table-wrap td:last-child {text-align:right}
.lap-name small {display:block;color:var(--muted);margin-top:3px;font-size:10px}
.quality-label {color:#b2b6be;font-size:12px}
.quality-label.warn {color:#ff9fa5}
.goals-list {display:grid;gap:16px;max-width:1060px}
.goal {display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:5px;background:var(--surface);padding:24px}
.goal.tested {border-left-color:#b2b6c0}
.goal .goal-context {color:var(--muted);font-size:11px;margin-bottom:9px}
.goal h2 {font-size:21px}
.goal p {color:#bdc1c9;font-size:13px;line-height:1.7;margin-top:10px}
.goal .goal-measurements {color:#eee;font-size:13px;margin:18px 0 9px}
.goal .goal-status {font-size:11px;color:#ff9ca2}
.goal.tested .goal-status {color:#d4d6dc}
.goal-controls {display:grid;gap:9px;align-content:start}
.goal-controls label {color:#b8bdc7;font-size:11px}
.goal-controls textarea {color:#fff;background:#090a0d;border:1px solid #363a43;border-radius:4px;padding:9px;width:100%;min-height:87px;resize:vertical}
.goal-buttons {display:grid;grid-template-columns:1fr 1fr;gap:8px}
.followup {grid-column:1/-1;border-top:1px solid var(--line);padding-top:21px;min-width:0}
.followup-heading {display:flex;align-items:center;justify-content:space-between;gap:18px}
.followup h3 {font-size:17px;font-weight:400}
.followup-heading p {margin-top:5px;font-size:12px}
.followup-heading .button {min-height:44px}
.followup-fields {display:grid;grid-template-columns:minmax(0,1fr) 190px auto;align-items:end;gap:13px;margin:20px 0 7px}
.followup-fields label {display:grid;gap:8px;font-size:12px;color:#bdc1c9}
.followup-fields select {width:100%;min-height:44px;color:#fff;background:#090a0d;border:1px solid #454a55;border-radius:4px;padding:8px;font-size:13px}
.followup-fields .button {min-height:44px}
.followup-error {color:#ffb5b9!important;border-left:2px solid var(--red);padding-left:12px}
.candidate-exclusions {color:#bdc1c9;font-size:12px;margin-top:10px}
.candidate-exclusions li {line-height:1.7;margin:7px 0}
.candidate-exclusions ul {padding-left:20px}
.outcome {margin-top:22px;border-top:1px solid #363940;padding-top:6px}
.outcome>summary {display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:44px;font-size:12px;color:#cdd1d8}
.outcome>summary::before {content:'+';color:#e0e1e4}
.outcome[open]>summary::before {content:'−'}
.outcome>summary>span {margin-left:auto;color:var(--muted)}
.outcome-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin:15px 0 0}
.outcome-heading h3 {font-size:22px;color:#f0f1f4}
.outcome-heading>span {font-size:12px;color:#aeb5c1;white-space:nowrap}
.goal .outcome-source {font-size:12px;margin:8px 0 19px;color:#aeb5c1}
.outcome-table {width:100%;border-collapse:collapse;text-align:right;font-size:13px}
.outcome-table td,.outcome-table th {padding:10px 8px;border-bottom:1px solid var(--line);font-weight:400;font-variant-numeric:tabular-nums}
.outcome-table thead th {color:#aeb5c1;font-size:11px}
.outcome-table th:first-child {text-align:left}
.outcome-table td:last-child {color:#fff;background:#181b20}
.goal .outcome-limit {font-size:12px;color:#b7bdc8;margin-top:17px}
.measurement-source {font-size:11px;color:#aeb5c1;margin-top:8px}
.measurement-source p {overflow-wrap:anywhere;font-size:11px;line-height:1.6}
.source-hash {font-family:Consolas,monospace;font-size:10px!important}
.source-details p {overflow-wrap:anywhere;line-height:1.6}
.source-details a {color:var(--text);text-underline-offset:3px}
.consistency-panel {border-top:1px solid var(--line);padding:24px 0;margin-top:30px}
.consistency-panel .panel-heading p {font-size:12px;color:var(--muted);margin-top:7px}
.consistency-panel p {font-size:13px;line-height:1.7;max-width:90ch}
.consistency-panel h3 {font-size:20px;margin:20px 0 8px}
.profile-counts {font-variant-numeric:tabular-nums}
.profile-table {width:100%;text-align:left;font-size:13px;border-collapse:collapse;min-width:600px}
.profile-table td,.profile-table th {padding:15px 12px;border-bottom:1px solid var(--line);font-weight:400}
.profile-table thead {color:var(--muted);font-size:12px}
.profile-table small {display:block;color:var(--muted);margin-top:5px}
.profile-sources {font-size:12px;margin-top:20px}.profile-sources summary {cursor:pointer;min-height:44px;display:flex;align-items:center}
.profile-sources li {margin:12px 0}.profile-sources .source-hash {display:block;overflow-wrap:anywhere}
@media(max-width:740px) {.consistency-panel>.panel-heading {align-items:flex-start;gap:15px;flex-direction:column}}
.coaching-panel {border-bottom:1px solid var(--line);padding:18px 0 22px}
.coaching-panel>.panel-heading {align-items:flex-start}
.coaching-panel .panel-heading p {font-size:12px;color:var(--muted);margin:6px 0 0}
.coaching-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.coach-card {border-left:2px solid var(--line);padding:0 16px;min-width:0;max-width:66ch}
.coach-card p {font-size:12px;line-height:1.65;color:var(--muted)}
.coach-card .coach-observation {font-size:15px;color:var(--text);margin:9px 0}
.coach-heading {display:flex;align-items:center;gap:10px}
.coach-heading .text-button {text-align:left;font-size:13px}
.priority-number {font-family:Consolas,monospace;color:#f3787d;font-size:22px}
.coach-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.coach-actions .button,.coach-actions .text-button {min-height:44px}
.coach-review {margin-top:9px;font-size:12px}
.coach-review summary {cursor:pointer;min-height:44px;display:flex;align-items:center}
.coach-review label {display:block;margin:8px 0}
.coach-review textarea {display:block;resize:vertical;min-height:64px;width:100%;background:var(--bg);border:1px solid var(--line);padding:10px;color:var(--text);font:inherit;margin-bottom:10px}
.coach-review [role=alert] {color:#ffbfc3}
@media(max-width:740px) {
  .coaching-list {grid-template-columns:1fr;gap:22px}
  .coaching-panel>.panel-heading>.source-tag {display:none}
  .coaching-panel {padding:14px 0 20px}
  .header-status .source-tag {max-width:125px;white-space:normal;text-align:right}
}
@media(max-width:740px) {
  .followup-heading {align-items:flex-start;flex-direction:column}
  .followup-fields {grid-template-columns:1fr}.followup-fields .button {width:100%}
  .outcome-heading {display:block}.outcome-heading h3 {font-size:20px}.outcome-heading>span {display:block;margin-top:7px}
  .outcome-table {font-size:11px}.outcome-table td,.outcome-table th {padding:10px 4px}
  .outcome>summary>span {font-size:10px}
}
.empty-note {font-size:12px;padding:16px 0;line-height:1.8;max-width:65ch}
.goals-list>.empty-note {border-top:1px solid var(--line);padding:27px 0;font-size:14px}
.error-message {color:#ffd5d5;background:#32171c;border-left:3px solid #e04451;padding:12px 15px;margin-top:12px;font-size:13px}
.public-note {color:#e6e7ea;background:#1c2230;border-left:3px solid #4d7cff;padding:12px 15px;margin:12px 0 0;font-size:13px;line-height:1.5}
body.read-only #save-goal, body.read-only #freeze-source, body.read-only [data-feedback], body.read-only [data-coach-goal],
body.read-only .goal-buttons, body.read-only .coach-review, body.read-only .practice-action .quiet-note {display:none}
@media(min-width:1600px) {
  .analysis-layout {grid-template-columns:260px minmax(0,1fr) 310px;gap:30px}
  .workspace {padding:0 42px}.app-header {padding:0 42px}
}
@media(max-width:1200px) {
  .workspace {padding:0 20px}.app-header {padding:0 20px;grid-template-columns:235px 1fr auto}
  .brand svg {width:190px}.main-nav {gap:20px}
  .header-status {font-size:10px}.header-status .source-tag {margin-left:4px}
  .analysis-layout {grid-template-columns:200px minmax(0,1fr) 250px;gap:18px}
  .session-rail {padding-right:16px}.focus-rail {padding-left:16px}
  .lap-controls {grid-template-columns:230px 250px 1fr;gap:13px}
  .analysis-legend,.heading-actions .session-title {display:none}
}
@media(max-width:1010px) {
  .analysis-layout {grid-template-columns:200px minmax(0,1fr)}
  .focus-rail {grid-column:1/-1;display:grid;grid-template-columns:200px minmax(0,1fr) 240px;gap:18px;border:0;border-top:1px solid var(--line);padding:20px 0 0}
  .focus-rail>.panel-heading {grid-column:1}.zone-list {grid-column:1;margin-top:0}
  .focus-detail {grid-column:2;grid-row:1/3;border:0;padding:0}
  .practice-action {grid-column:3;grid-row:1/3;margin:0}
  .focus-amount {margin:10px 0}.header-status {font-size:0;gap:0}
  .header-status .connection-indicator {display:none}.app-header {grid-template-columns:220px 1fr auto}
}
@media(max-width:740px) {
  .app-header {height:auto;padding:0 17px;grid-template-columns:1fr auto}
  .brand svg {width:185px;height:57px}.header-status {grid-column:2;grid-row:1}
  .main-nav {grid-column:1/-1;grid-row:2;gap:28px;height:45px}.main-nav a {font-size:13px}
  .workspace {padding:0 17px}.session-heading {padding:13px 0 18px;gap:12px;align-items:flex-end}
  h1 {font-size:24px}.session-context {font-size:10px;gap:10px}.heading-actions {gap:7px;flex-wrap:wrap;max-width:100%}
  #freeze-source {flex-basis:100%}
  .session-heading {flex-wrap:wrap}
  .heading-actions .button {font-size:11px;padding:7px 10px;min-height:44px}
  .lap-controls {grid-template-columns:1fr 1fr;gap:16px;padding:15px 0}
  .lap-picker {grid-template-columns:1fr;gap:6px}.lap-picker select {min-height:43px;font-size:13px}
  .delta-metric {grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;grid-template-columns:auto 1fr auto}
  .delta-metric strong {font-size:23px}.delta-metric small {grid-column:3;grid-row:1;margin:0;text-align:right}
  .analysis-layout {grid-template-columns:1fr;gap:22px}
  .session-rail {display:grid;grid-template-columns:1fr 1fr;gap:17px;border:0;padding:0}
  .track-panel {padding:0;border:0}.lap-rail {padding:0}.compact-laps {margin-top:8px}
  .compact-lap {min-height:44px;padding:4px 6px;grid-template-columns:25px 1fr auto}
  .compact-lap strong {font-size:13px}.quality-details {grid-column:1/-1;border-top:1px solid var(--line);padding-top:2px}
  #track-map {margin:5px 0}.track-caption {font-size:9px}.track-caption span:last-child {max-width:70px;text-align:right}
  .telemetry {border-top:1px solid var(--line);padding-top:16px}
  .chart-heading p {max-width:30ch}.chart-heading .text-button {max-width:92px;text-align:right}
  .focus-rail {display:block}.zone-list {grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:15px 0 21px}
  .zone-button {display:flex;flex-wrap:wrap;align-content:center;gap:4px 8px;padding:10px;min-height:67px}
  .zone-button strong {display:none}.zone-button .zone-delta {font-size:16px}
  .focus-detail {padding-top:18px;border-top:1px solid var(--line)}
  .evidence-table {font-size:12px}.evidence-table th {font-size:10px}
  .practice-action {margin-top:21px}.practice-action .button {min-height:44px}
  .workspace-footer {flex-direction:column;align-items:flex-start;gap:4px}
  .view-heading {align-items:flex-start;padding:20px 0 24px}.view-heading>.source-tag {display:none}
  .session-grid {grid-template-columns:1fr}.session-item {min-height:117px;padding:18px}.session-item strong {font-size:19px}
  .lap-section>.panel-heading {display:block}.lap-section>.panel-heading span {display:block;margin-top:6px}
  .goal {grid-template-columns:1fr;gap:20px;padding:19px}.goal h2 {font-size:20px}.goal-buttons .button {min-height:44px}
}
@media(max-width:390px) {
  .session-context {gap:7px;font-size:9px}.session-context span:first-child {display:none}
  .delta-metric {grid-template-columns:auto 1fr}.delta-metric small {grid-row:2;grid-column:1/-1;text-align:left;margin-top:4px}
  .chart text {font-size:20px}.compact-lap {gap:3px}.lap-marker {font-size:9px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}*,*::before,*::after {transition:none!important;animation:none!important}
}
