/* ENDYVO v21 — calm task-first UI, with one energetic accent. */
.ex-training-hub,.ex-receipt,#workoutHistorySection{color:var(--ink)}
.ex-legacy-head{display:none!important}.ex-training-hub{animation:ex-enter .28s ease both}.ex-hub-head{max-width:720px;margin-bottom:24px}.ex-hub-head h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.04em;margin:8px 0}.ex-training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ex-tile,.ex-training-grid .station-round-launch{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface-2);margin:0;min-width:0;transition:transform .2s ease,border-color .2s ease}.ex-tile:hover{border-color:var(--muted);transform:translateY(-2px)}.ex-tile h3,.ex-tile p{margin:0}.ex-tile h3{font-size:23px;letter-spacing:-.025em}.ex-tile>button{width:100%;text-align:left;white-space:normal;font-size:15px;min-height:48px;margin-top:auto}.ex-tile>button+button{margin-top:0}.ex-glyph,.ex-tile>.station-glyph{display:grid;place-items:center;width:48px;height:48px;background:#dfff00;color:#10120c;border-radius:14px;font-size:25px;line-height:1}.ex-tile .ex-planned-name{font-size:18px}.ex-tile .ex-optional{width:100%;background:var(--surface)}.ex-tile .ex-optional .field{margin:12px 0 0}.ex-tile select{font-size:16px}.ex-tool-row{display:flex;flex-wrap:wrap;gap:10px;padding:22px 0 16px}.ex-tool-row button{font-size:14px;min-height:44px}.ex-resume,.ex-receipt{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);margin:16px 0}.ex-receipt{border-left:5px solid var(--green);animation:ex-enter .35s ease both}.ex-receipt p{margin:6px 0 0}.ex-receipt button{white-space:nowrap}.is-live .ex-training-hub,.is-live .ex-receipt{display:none}.ex-live-pulse{font-size:13px;padding:8px 12px;min-height:40px;margin:0 0 12px;align-self:flex-end}
.ex-dialog{width:min(820px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);overflow:auto}.ex-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(7px)}.ex-dialog[open]{animation:ex-enter .2s ease both}.ex-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.ex-dialog-head h2{font-size:clamp(25px,4vw,36px);line-height:1.1;letter-spacing:-.04em;margin:8px 0}.ex-close{display:grid;place-items:center;width:44px;height:44px;padding:0;font-size:26px;flex-shrink:0}.ex-dialog p{line-height:1.55}.ex-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.ex-choice{display:flex;flex-direction:column;text-align:left;gap:6px;padding:20px;white-space:normal}.ex-choice.active{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.ex-choice b{font-size:22px}.ex-choice span{font-weight:500}.ex-field{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:700;min-width:0;margin:16px 0}.ex-field input:not([type=checkbox]),.ex-field select{width:100%;height:50px;font-size:16px}.ex-field:has(input[type=checkbox]){display:flex;flex-direction:row;align-items:center;gap:12px;background:var(--surface-2);padding:12px;border-radius:12px}.ex-field input[type=checkbox]{width:22px;height:22px;flex-shrink:0;accent-color:var(--brand);order:-1}.ex-optional{border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--surface-2);margin:14px 0;font-size:15px}.ex-optional summary{cursor:pointer;font-weight:700;min-height:24px}.ex-optional[open] summary{margin-bottom:14px}.ex-note{background:var(--surface-2);border-left:3px solid var(--brand);padding:14px;border-radius:10px}.ex-wide{width:100%;min-height:54px}.ex-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.ex-actions button,.ex-actions a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.ex-actions a{text-decoration:none;padding:12px}
.ex-result-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px}.ex-result-time{font-size:clamp(54px,9vw,82px);letter-spacing:-.06em;font-weight:900;line-height:1.2}.ex-share-preview{width:100%;border-radius:16px;background:#080a07;max-height:480px;object-fit:contain;align-self:start}.ex-share-options,.ex-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ex-split{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.ex-trend{font-weight:700;color:var(--ink)}.ex-race-card{padding:20px;border:1px solid var(--line);border-radius:16px;margin:12px 0;background:var(--surface-2)}.ex-race-card h3{margin:8px 0 0}.ex-race-card p{margin:6px 0}.ex-race-card .ex-actions{margin-bottom:0}.ex-race-list{margin:20px 0}.ex-pulse-value{font-size:64px;font-weight:900;letter-spacing:-.05em;text-align:center;background:var(--surface-2);border-radius:18px;padding:24px}.ex-result-button{font-size:14px!important;margin:12px 0 0!important}.history-body>button{margin:10px 10px 0 0}.ex-dialog button:focus-visible,.ex-tile button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@keyframes ex-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.ex-training-grid{grid-template-columns:1fr}.ex-tile,.ex-training-grid .station-round-launch{padding:20px}.ex-hub-head{margin-bottom:18px}.ex-dialog{padding:20px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.ex-choice-row{gap:8px}.ex-choice{padding:14px}.ex-choice b{font-size:20px}.ex-choice span{font-size:12px}.ex-result-grid{grid-template-columns:1fr}.ex-share-preview{width:160px;max-height:285px;justify-self:center}.ex-share-options,.ex-fields{grid-template-columns:1fr;gap:0}.ex-actions>*{flex:1 1 140px}.ex-receipt,.ex-resume{align-items:flex-start;flex-direction:column}.ex-receipt button,.ex-resume button{width:100%}.ex-tool-row{display:grid;grid-template-columns:1fr 1fr}.ex-tool-row button:last-child{grid-column:1/-1}.ex-tile:hover{transform:none}.ex-split{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ex-training-hub,.ex-receipt,.ex-dialog[open]{animation:none}.ex-tile{transition:none}}
.ex-hub-extras{margin:0 0 20px}.ex-hub-extras .ex-actions{margin-bottom:0}.ex-training-hub .ex-tool-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ex-training-hub .ex-tool-row button{grid-column:auto;text-align:center;white-space:normal}.ew-import-hero{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:24px;margin:22px 0}.ew-import-hero p{margin:0;text-align:center}.ew-watch-icon{display:grid;place-items:center;background:#dfff00;color:#10120c;width:58px;height:58px;border-radius:18px;font-size:30px;line-height:1}.ew-import-hero b{font-size:20px;text-align:center}.ew-privacy{border-left:3px solid var(--line);padding-left:14px;color:var(--muted)}.ew-provider{padding:16px 0;border-bottom:1px solid var(--line)}.ew-provider h3{margin:0;font-size:18px}.ew-provider p{margin:8px 0}.ew-help-link{color:var(--ink);font-size:14px;font-weight:700;text-underline-offset:3px}.ew-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.ew-stats>div{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:18px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}.ew-stats b{font-size:clamp(20px,4vw,30px);letter-spacing:-.04em;overflow-wrap:anywhere}.ew-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.ew-edit-grid>label:first-child{grid-column:1/-1}.ew-feelings{display:flex;gap:10px;flex-wrap:wrap}.ew-feelings button{flex:1;white-space:normal;min-height:48px;font-size:14px}.ew-feelings button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.ew-error{border-left:4px solid var(--red);padding:14px;background:var(--surface-2);border-radius:12px}.ew-status{min-height:24px;line-height:1.55}.ew-dialog .ex-field{margin:12px 0;align-self:start}.ew-dialog button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:600px){.ew-import-hero{padding:20px}.ew-stats{gap:6px}.ew-stats>div{padding:14px 9px}.ew-stats b{font-size:21px}.ew-stats span{font-size:11px}.ew-edit-grid{grid-template-columns:1fr}.ew-edit-grid>label:first-child{grid-column:auto}.ex-training-hub .ex-tool-row button{font-size:13px;padding:12px 8px}}
@media(max-width:600px){.ex-training-grid{gap:10px}.ex-training-grid .ex-tile,.ex-training-grid .station-round-launch{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 12px;padding:16px;align-items:start}.ex-training-grid .ex-glyph,.ex-training-grid .station-glyph{width:40px;height:40px;font-size:22px;grid-column:1;grid-row:1/span 2;margin:0;border-radius:12px;align-self:start}.ex-training-grid h3{grid-column:2;font-size:19px;line-height:1.25;align-self:center;min-height:30px}.ex-training-grid .ex-tile>p{grid-column:2;font-size:13px;line-height:1.45}.ex-training-grid .station-round-launch>div{grid-column:2}.ex-training-grid .station-round-launch p{font-size:13px;line-height:1.45;margin-top:6px}.ex-training-grid .ex-tile>button,.ex-training-grid .ex-tile>details,.ex-training-grid .ex-planned-name{grid-column:1/-1}.ex-training-grid .ex-tile>button{margin:4px 0 0;min-height:46px}.ex-training-grid .ex-planned-name{font-size:16px}.ex-training-hub .ex-hub-head p{font-size:14px;line-height:1.5}.ex-training-grid .station-round-launch>.station-glyph{background:#dfff00;color:#10120c;border:none}}
@media(max-width:600px){.ex-training-hub .ex-training-grid .station-round-launch>.station-glyph{width:40px;height:40px;background:#dfff00;color:#10120c;border:none;border-radius:12px}}
