/* Bislett club flow. Local fonts and existing calculation controls are retained. */
:root {
  --bislett-paper:#f4f3ee;
  --bislett-surface:#fff;
  --bislett-pine:#1c4939;
  --bislett-cream:#f8f5e9;
  --bislett-ink:#17251f;
  --bislett-muted:#57655e;
  --bislett-tartan:#b9442c;
  --bislett-line:#d6dcd4;
  --bislett-tint:#e8eee5;
  --ink:var(--bislett-ink);
  --ground:var(--bislett-paper);
  --surface:var(--bislett-surface);
  --line:var(--bislett-line);
  --line-soft:var(--bislett-line);
  --line-faint:#e5e8e1;
  --fill-muted:var(--bislett-tint);
  --muted:var(--bislett-muted);
  --text-soft:var(--bislett-muted);
  --tartan:var(--bislett-tartan);
  --tartan-tint:#e8eee5;
  --tartan-chip:#e8eee5;
  --alert-text:#9e3027;
  --dark-2:#1c4939;
  --dark-3:#173c30;
  --dark-line:#346452;
  --on-dark-muted:#d9e4d7;
  --on-dark-soft:#edf1e6;
}
html { background:var(--bislett-paper); scroll-padding-bottom:100px; }
body { background:var(--bislett-paper); color:var(--bislett-ink); padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
.shell { max-width:1440px; }
#header { padding:0; background:var(--bislett-pine); color:var(--bislett-cream); }
#header.b-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:16px 24px; }
.b-brand { display:flex; align-items:center; gap:10px; min-height:44px; color:var(--bislett-cream); text-decoration:none; }
.b-brand img,.b-brand svg { flex:none; }
.b-brand>span,.b-brand>div { display:flex; flex-direction:column; gap:2px; font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:24px; font-weight:700; line-height:1.15; }
.b-brand strong { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:24px; font-weight:700; }
.b-brand small { display:block; font-family:Barlow,system-ui,sans-serif; font-size:14px; font-weight:400; line-height:19px; letter-spacing:0; }
.b-topnav { display:none; align-items:center; gap:12px; }
.b-topnav a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; color:var(--bislett-cream); border-radius:12px; text-decoration:none; font-size:16px; font-weight:600; }
.b-topnav a[aria-current="page"] { background:#346452; }
#navigation.b-navigation,.b-navigation { position:fixed; z-index:20; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--bislett-line); background:var(--bislett-surface); }
.b-navigation a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px; border-radius:12px; color:var(--bislett-muted); text-align:center; text-decoration:none; font-size:14px; font-weight:600; }
.b-navigation a[aria-current="page"] { background:var(--bislett-tint); color:var(--bislett-pine); }
.b-app { color:var(--bislett-ink); background:var(--bislett-paper); font-family:Barlow,system-ui,sans-serif; font-size:16px; line-height:1.5; font-variant-numeric:tabular-nums; }
.b-app *,.b-app *::before,.b-app *::after { box-sizing:border-box; }
.b-app :where(h1,h2,h3,p,blockquote,figure) { margin:0; }
.b-app :where(button,input,select,textarea) { font:inherit; }
.b-app :where(button,a,input,select,textarea,summary):focus-visible,.b-navigation a:focus-visible { outline:3px solid var(--bislett-ink); outline-offset:3px; }
#header :focus-visible,.b-large :focus-visible { outline-color:var(--bislett-cream); }
.b-app button { cursor:pointer; }
.b-app button:disabled { cursor:default; opacity:.5; }
.b-app [hidden],#header[hidden],#navigation[hidden] { display:none!important; }
.b-app :where(h1,h2,h3,p,button,a,td,th,label,summary) { overflow-wrap:break-word; }
.b-content,.b-layout,.b-workout,.b-splits { display:flex; flex-direction:column; gap:12px; min-width:0; }
.b-content,.b-layout { width:100%; max-width:480px; padding:24px; margin-inline:auto; }
.b-layout .b-content { padding:0; max-width:none; margin:0; }
.b-layout .b-workout,.b-layout .b-splits { display:contents; }
.b-sidebar { display:none; min-width:0; }
.b-choices { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.22fr) minmax(0,1fr); gap:8px; }
.b-choices button,.b-choices a { display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; padding:10px 8px; border:1px solid var(--bislett-line); border-radius:12px; background:var(--bislett-surface); color:var(--bislett-ink); text-align:center; text-decoration:none; font-size:14px; font-weight:600; line-height:20px; }
.b-choices button:hover,.b-choices a:hover { border-color:var(--bislett-pine); }
.b-meta { color:var(--bislett-muted); font-size:14px; font-weight:500; line-height:19px; }
.b-meta.is-uppercase { text-transform:uppercase; }
.b-title { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:36px; font-weight:600; line-height:47px; }
.b-card-title { font-size:20px; font-weight:600; line-height:26px; }
.b-heading { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:28px; font-weight:600; line-height:1.2; }
.b-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; min-width:0; min-height:52px; padding:14px 16px; border:1px solid transparent; border-radius:12px; background:var(--bislett-surface); color:var(--bislett-ink); text-align:center; text-decoration:none; font-size:16px; font-weight:600; line-height:24px; }
.b-button:hover:not(:disabled) { border-color:var(--bislett-pine); }
.b-button.is-primary { background:var(--bislett-tartan); color:var(--bislett-cream); }
.b-button.is-dark { background:var(--bislett-pine); color:var(--bislett-cream); }
.b-button.is-primary:focus-visible,.b-button.is-dark:focus-visible { outline-color:var(--bislett-ink); }
.b-button.is-quiet { background:transparent; }
.b-button.is-small { min-height:44px; padding:8px 12px; font-size:14px; line-height:20px; }
.b-button[aria-pressed="true"] { background:var(--bislett-pine); color:var(--bislett-cream); }
.b-button:disabled { background:var(--bislett-line); color:var(--bislett-muted); opacity:1; }
.b-actions { display:flex; flex-direction:column; gap:12px; }
.b-hero { display:flex; flex-direction:column; gap:4px; padding:16px 20px; border-radius:16px; background:var(--bislett-pine); color:var(--bislett-cream); }
.b-hero-label { font-size:14px; font-weight:500; line-height:19px; }
.b-hero-time { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:72px; font-weight:600; line-height:94px; letter-spacing:0; white-space:nowrap; }
.b-hero-footer { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; }
.b-hero-footer strong { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:22px; font-weight:600; line-height:29px; }
.b-hero-footer span { font-size:14px; line-height:19px; }
.b-card,.b-summary,.b-change-round { display:flex; flex-direction:column; gap:12px; padding:16px; border-radius:16px; background:var(--bislett-surface); }
.b-summary.is-tint { background:var(--bislett-tint); }
.b-summary p { font-size:16px; line-height:24px; }
.b-summary .b-note { font-size:14px; line-height:20px; }
.b-segmented { display:grid; grid-auto-columns:minmax(0,1fr); grid-auto-flow:column; gap:8px; }
.b-segmented button { min-width:0; min-height:44px; padding:10px 8px; border:1px solid transparent; border-radius:12px; background:var(--bislett-surface); color:var(--bislett-ink); font-size:16px; font-weight:600; line-height:24px; }
.b-segmented button[aria-pressed="true"],.b-segmented button[aria-selected="true"] { background:var(--bislett-pine); color:var(--bislett-cream); }
.b-table { width:100%; table-layout:fixed; border-collapse:collapse; text-align:left; font-variant-numeric:tabular-nums; }
.b-table th { padding:0 0 8px; color:var(--bislett-muted); font-size:14px; font-weight:500; line-height:20px; vertical-align:bottom; }
.b-table th:first-child { width:44%; }
.b-table td { padding:8px 0; border-top:1px solid var(--bislett-line); font-size:16px; font-weight:500; line-height:24px; vertical-align:middle; }
.b-table td:nth-child(2) { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:24px; font-weight:600; line-height:32px; }
.b-table small { display:block; color:var(--bislett-muted); font-family:Barlow,system-ui,sans-serif; font-size:13px; font-weight:400; line-height:18px; }
.b-note { color:var(--bislett-muted); font-size:14px; font-weight:400; line-height:20px; }
.b-round-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.b-round-stats>div { display:flex; flex-direction:column; gap:4px; min-width:0; }
.b-round-stats span { color:var(--bislett-muted); font-size:14px; line-height:20px; }
.b-round-stats strong { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:32px; font-weight:600; line-height:42px; }
.b-round-stats>div:first-child strong { color:var(--bislett-pine); }
.b-part-choice { display:flex; flex-wrap:wrap; gap:8px; }
.b-part-choice>* { flex:1 1 70px; min-width:0; }
.b-week-list { display:flex; flex-direction:column; gap:16px; }
.b-week-card { display:flex; flex-direction:column; align-items:flex-start; gap:8px; width:100%; min-height:80px; padding:16px; border:1px solid transparent; border-radius:16px; background:var(--bislett-surface); color:var(--bislett-ink); text-align:left; text-decoration:none; }
.b-week-card:hover { border-color:var(--bislett-pine); }
.b-week-message:hover { border-color:transparent; }
.b-week-card.is-current,.b-week-card[aria-current="page"] { background:var(--bislett-tint); }
.b-week-card h3,.b-week-card strong { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:26px; font-weight:600; line-height:1.25; }
.b-week-card .b-meta,.b-week-card small { font-family:Barlow,system-ui,sans-serif; font-size:14px; font-weight:400; line-height:20px; color:var(--bislett-muted); }
.b-weekbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.b-weekbar .b-button { width:52px; flex:none; min-height:44px; padding:8px; font-size:24px; }
.b-week-heading { flex:1; min-width:0; text-align:center; font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:28px; font-weight:600; line-height:36px; }
.b-week-page { max-width:900px; }
.b-source { padding:8px 16px; border-radius:16px; background:var(--bislett-surface); }
.b-source summary { display:flex; align-items:center; min-height:44px; cursor:pointer; font-size:16px; font-weight:600; line-height:24px; }
.b-source summary::after { content:"+"; margin-left:auto; padding-left:12px; font-size:22px; }
.b-source[open] summary::after { content:"−"; }
.b-source-text { margin:4px 0 12px; white-space:pre-wrap; font:inherit; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.b-source .b-note { margin:0 0 12px; }
.b-notice { display:flex; flex-direction:column; gap:8px; padding:16px; border-radius:16px; background:var(--bislett-tint); color:var(--bislett-pine); font-size:16px; line-height:24px; }
.b-notice strong,.b-notice h2 { font-size:16px; font-weight:600; line-height:24px; }
.b-notice p { font-size:14px; line-height:20px; }
.b-notice.is-warning { background:#fff1d7; color:#79521c; }
.b-notice.is-error { background:#fae9e6; color:#9e3027; }
.b-empty { display:flex; flex-direction:column; align-items:stretch; gap:20px; padding-block:12px; }
.b-empty>.b-title { max-width:600px; }
.b-options { display:flex; flex-direction:column; gap:12px; padding:0; margin:0; list-style:none; border:0; min-width:0; }
.b-options legend { margin-bottom:12px; font-size:20px; font-weight:600; }
.b-option { position:relative; display:flex; align-items:center; gap:16px; width:100%; min-height:64px; padding:12px 16px; border:1px solid transparent; border-radius:16px; background:var(--bislett-surface); color:var(--bislett-ink); cursor:pointer; text-align:left; text-decoration:none; }
.b-option:hover { border-color:var(--bislett-pine); }
.b-option.is-selected,.b-option:has(input:checked) { background:var(--bislett-tint); }
.b-option input[type="radio"],.b-option input[type="checkbox"] { flex:none; width:20px; height:20px; min-height:20px; margin:0; accent-color:var(--bislett-pine); }
.b-option>span:not(.b-group-letter),.b-option>div { flex:1; min-width:0; }
.b-option strong { display:block; font-size:20px; font-weight:600; line-height:26px; }
.b-option small { display:block; margin-top:3px; color:var(--bislett-muted); font-size:14px; line-height:20px; }
.b-option .b-group-letter { flex:0 0 40px; font-family:"Barlow Condensed","Arial Narrow",sans-serif; color:var(--bislett-pine); font-size:28px; font-weight:600; line-height:36px; }
.b-option.is-group { gap:12px; }
.b-option.is-group strong { font-size:16px; line-height:24px; }
.b-onboarding { max-width:480px; gap:20px; }
.b-onboarding .b-options { gap:12px; }
.b-onboarding .b-title { line-height:1.15; }
.b-track-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.b-track-options .b-option { justify-content:center; min-height:52px; padding:12px; text-align:center; }
.b-track-options .b-option input { width:16px; height:16px; min-height:16px; }
.b-track-options .b-option strong { font-size:16px; line-height:24px; }
.b-dialog { width:calc(100% - 32px); max-width:480px; max-height:90svh; margin:auto; padding:24px; border:0; border-radius:24px; background:var(--bislett-paper); color:var(--bislett-ink); overflow:auto; overscroll-behavior:contain; font-family:Barlow,system-ui,sans-serif; }
.b-dialog::backdrop { background:#0e201bb3; }
.b-dialog form { display:flex; flex-direction:column; gap:20px; }
.b-dialog :where(h1,h2,h3,p) { margin:0; }
.b-dialog .b-title { font-size:36px; line-height:42px; }
.b-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.b-dialog-header .b-button { flex:none; width:44px; min-height:44px; padding:6px; font-size:24px; }
.b-dialog .b-options { gap:8px; }
.b-dialog .b-card { gap:16px; }
.b-field { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:16px; font-weight:600; }
fieldset.b-field { margin:0; padding:0; border:0; }
.b-field input,.b-field select,.b-field textarea,.b-dialog input[type="number"],.b-dialog input[type="text"] { width:100%; min-width:0; min-height:48px; padding:10px 12px; border:1px solid var(--bislett-line); border-radius:10px; background:var(--bislett-surface); color:var(--bislett-ink); font:inherit; }
.b-field input[aria-invalid="true"] { border-color:#9e3027; }
.b-field small { font-size:14px; font-weight:400; color:var(--bislett-muted); }
.b-stepper { display:flex; align-items:center; gap:16px; }
.b-stepper .b-button { flex:none; width:52px; padding:8px; font-size:24px; }
.b-stepper input[type="number"] { flex:1; width:100%; min-width:0; text-align:center; font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:32px; font-weight:600; }
.b-status { min-height:20px; color:var(--bislett-muted); font-size:14px; line-height:20px; }
.b-status:empty { min-height:0; }
.b-date { text-transform:uppercase; }
.b-after-splits { display:flex; flex-direction:column; gap:12px; }
.b-round-list,.b-source-body { display:flex; flex-direction:column; gap:16px; }
.b-round-title { font-size:18px; line-height:24px; font-weight:600; }
.b-table-card { gap:4px; }
.b-table-card td { padding-block:4px; }
.b-alternatives { display:flex; flex-direction:column; gap:8px; margin:0; padding:0; border:0; min-width:0; }
.b-alternatives legend { margin-bottom:8px; font-size:20px; font-weight:600; }
.b-onboarding form { display:flex; flex-direction:column; gap:20px; }
.b-option input[type="radio"] { position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; opacity:0; cursor:pointer; }
.b-option:has(input:focus-visible) { outline:3px solid var(--bislett-ink); outline-offset:3px; }
.b-option>span.b-option-check { flex:0 0 20px; text-align:right; }
.b-track-options .b-option:has(input:checked)::after { content:"✓"; flex:none; font-weight:600; }
.b-large-title { font-size:20px; line-height:26px; }
.b-copy-fallback { display:block; width:100%; min-height:260px; margin-top:12px; padding:12px; border:1px solid var(--bislett-line); border-radius:12px; background:white; color:var(--bislett-ink); font:inherit; resize:vertical; }
.b-form-error { color:#9e3027; font-size:14px; line-height:20px; }
.b-check { display:flex; align-items:center; gap:10px; min-height:44px; }
.b-check input { width:20px; height:20px; accent-color:var(--bislett-pine); }
.b-assumptions { margin:0; padding-left:20px; font-size:14px; color:var(--bislett-muted); }
.b-coach-note { padding:12px 0; font-size:16px; }
@media(max-width:899px) {
  .b-layout .b-splits>* { order:1; }
  .b-layout .b-after-splits { order:2; }
  .b-layout .b-copy-button,.b-layout .b-status { order:3; }
}
.b-error { color:#9e3027; font-size:14px; line-height:20px; }
.b-large { width:100%; min-height:100svh; max-width:720px; margin-inline:auto; padding:24px; display:flex; flex-direction:column; gap:24px; color:var(--bislett-cream); background:var(--bislett-pine); font-variant-numeric:tabular-nums; }
.b-large .b-button { background:transparent; border-color:#729281; color:var(--bislett-cream); }
.b-large .b-meta,.b-large .b-note,.b-large .b-table th,.b-large .b-table small { color:var(--bislett-cream); }
.b-large .b-hero { padding:0; }
.b-large .b-hero-label { font-size:20px; line-height:26px; }
.b-large-time,.b-large .b-hero-time { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:100px; font-weight:600; line-height:1.15; }
.b-large .b-hero-footer strong { font-size:48px; line-height:1.2; }
.b-large .b-card,.b-large .b-change-round { background:transparent; color:var(--bislett-cream); padding:0; }
.b-large .b-table td { padding-block:12px; font-size:18px; border-color:#729281; }
.b-large .b-table td:nth-child(2) { font-size:36px; line-height:44px; }
.b-large .b-round-stats strong,.b-large .b-round-stats span { color:var(--bislett-cream); }
body.is-large { padding-bottom:0; background:var(--bislett-pine); }
.is-large .shell { background:var(--bislett-pine); }
/* The free calculators and advanced pace controls remain fully available. */
.c-calculator,.p-app { max-width:720px; margin-inline:auto; }
.c-controls,.c-passages,.c-round-controls,.p-setup-section,.p-session-content { padding-inline:24px; }
.c-button,.p-button { border-radius:12px; font-family:Barlow,system-ui,sans-serif; font-size:16px; line-height:1.4; letter-spacing:0; text-transform:none; }
.c-button[aria-pressed="true"],.p-button.is-primary,.p-recovery-modes>button[aria-pressed="true"] { background:var(--bislett-pine); border-color:var(--bislett-pine); color:var(--bislett-cream); }
.c-section-title,.p-section-title { font-family:Barlow,system-ui,sans-serif; font-size:20px; line-height:26px; letter-spacing:0; text-transform:none; }
.c-section-title::before,.p-section-title::before { display:none; }
.c-help,.c-footer,.c-label,.c-keyboard-label,.p-help,.p-muted { font-size:14px; line-height:20px; letter-spacing:0; text-transform:none; }
.c-oval-section,.c-rounds-hero { margin:20px 24px 0; border:0; border-radius:16px; background:var(--bislett-pine); }
.c-group-picker,.c-pace-picker,.c-race-picker,.c-lap-card,.p-profile-card,.p-extra-card,.p-recovery-settings { border-radius:16px; }
.c-result-lanes,.c-rounds-scoreboard { margin-inline:24px; border-radius:16px; overflow:hidden; background:var(--bislett-pine); }
.c-rounds-scoreboard { margin:0; background:transparent; }
.c-timeline-distance,.c-timeline-row.is-final .c-timeline-distance,.c-lap-number { background:var(--bislett-pine); }
.c-timeline-row.is-lap .c-timeline-distance { background:#2b5e4b; }
.c-timeline-row.is-final { background:var(--bislett-pine); color:var(--bislett-cream); }
.c-segmented .c-button,.c-races .c-button,.c-types .c-button>span { letter-spacing:0; text-transform:none; }
.c-passage-heading h2,.c-rounds-hero>h2,.p-setup-intro h1 { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-weight:600; text-transform:none; }
.c-copy-button { border:0; background:var(--bislett-tartan); color:var(--bislett-cream); min-height:52px; }
.c-lap-number { min-width:52px; }
.p-workout-summary { border:0; border-radius:16px; background:var(--bislett-tint); }
.p-setup-intro { padding:24px 24px 8px; }
.p-recovery-settings,.p-profile-card,.p-extra-card { border-color:var(--bislett-line); }
@media(min-width:900px) {
  body { padding-bottom:0; }
  #header.b-header { padding:24px 32px; flex-wrap:nowrap; }
  .b-topnav { display:flex; }
  #navigation.b-navigation { display:none; }
  .b-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; width:100%; max-width:1120px; padding:32px; }
  .b-layout .b-workout,.b-layout .b-splits { display:flex; min-width:0; max-width:none; }
  .b-layout .b-workout { grid-column:1; }
  .b-layout .b-splits { grid-column:2; }
  .b-workout,.b-splits { gap:20px; }
  .b-layout>.b-notice,.b-layout>.b-empty { grid-column:1/-1; }
  .b-content.b-week-page { max-width:900px; padding:40px; }
  .b-content.b-onboarding { padding-block:40px; }
  .b-large { padding:40px; }
}
@media(min-width:1200px) {
  #header.b-header { padding:24px 40px; }
  .b-topnav { gap:24px; margin-left:auto; }
  .b-topnav a { min-width:120px; }
  .b-layout { max-width:1440px; grid-template-columns:240px minmax(0,1fr) minmax(0,1.14fr); gap:28px; padding:40px; }
  .b-sidebar { grid-column:1; display:flex; flex-direction:column; gap:20px; }
  .b-layout .b-workout { grid-column:2; }
  .b-layout .b-splits { grid-column:3; }
  .b-sidebar .b-week-card { gap:8px; }
  .b-sidebar .b-week-card strong,.b-sidebar .b-week-card h3 { font-size:24px; }
}
@media(max-width:359px) {
  #header.b-header { padding:16px; }
  .b-content,.b-layout { padding:16px; }
  .b-hero { padding:16px; }
  .b-hero-footer { align-items:flex-start; flex-direction:column; gap:4px; }
  .b-choices { grid-template-columns:1fr 1.12fr .85fr; gap:6px; }
  .b-choices button,.b-choices a { padding-inline:6px; font-size:13px; }
  .b-table th:first-child { width:48%; }
  .b-dialog { padding:20px 16px; }
  .b-option { gap:10px; padding:12px; }
  .b-option .b-group-letter { flex-basis:34px; }
  .b-large { padding:20px 16px; }
  .b-large-time,.b-large .b-hero-time { font-size:88px; }
  .c-controls,.c-passages,.c-round-controls,.p-setup-section,.p-session-content { padding-inline:16px; }
  .c-oval-section,.c-rounds-hero,.c-result-lanes { margin-inline:16px; }
  .c-passage-heading { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .b-app * { scroll-behavior:auto!important; transition:none!important; } }
@media print {
  body { padding-bottom:0; }
  .b-navigation,.b-topnav,.b-choices,.b-actions,.b-segmented,.b-dialog { display:none!important; }
  .b-layout { display:block; max-width:none; padding:0; }
  .b-layout .b-sidebar { display:none; }
  .b-layout .b-workout,.b-layout .b-splits { display:flex; }
  .b-hero { background:#fff; color:#000; border:1px solid #888; break-inside:avoid; }
  .b-card,.b-change-round { break-inside:avoid; }
}
/* Gjeldende På skjema, Figma-side 25:2. */
#header.b-header { min-height:96px; padding:16px 24px; }
.b-brand { gap:12px; }
.b-brand>span { font-size:28px; font-weight:600; line-height:32px; }
.b-brand .b-badge { display:flex; flex:none; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:white; }
.b-badge img { width:48px; height:auto; object-fit:contain; }
.b-content,.b-layout,.b-workout,.b-splits,.b-after-splits { gap:16px; }
.b-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
.b-choices button { min-height:52px; font-size:16px; border-radius:16px; }
.b-title { font-size:32px; line-height:36px; }
.b-button { border-color:var(--bislett-line); border-radius:16px; }
.b-button.is-quiet { border-color:transparent; }
.b-hero { gap:12px; padding:16px; }
.b-hero-time { line-height:76px; }
.b-hero-footer strong { font-family:Barlow,system-ui,sans-serif; font-size:16px; line-height:24px; font-weight:400; }
.b-table th:first-child { width:52%; }
.b-table-card td { padding-block:8px; }
.b-table td:nth-child(2) { font-size:28px; }
.b-source { border:1px solid var(--bislett-line); }
.b-source summary { justify-content:center; }
.b-source summary::after { margin-left:4px; }
.b-alternatives legend { font-size:14px; }
.b-week-card h3 { font-family:Barlow,system-ui,sans-serif; font-size:20px; line-height:26px; }
.b-track-panel { gap:12px; }
.b-track-panel p { font-size:14px; }
.b-race-form { display:flex; flex-direction:column; gap:16px; }
.b-goal-input { width:100%; min-width:0; min-height:52px; border:1px solid var(--bislett-line); border-radius:8px; padding:8px; font-family:"Barlow Condensed","Arial Narrow",sans-serif!important; font-size:28px!important; line-height:32px; color:var(--bislett-ink); background:white; }
.b-track-dialog { background:white; }
.b-track-dialog .b-track-options { gap:8px; }
.b-track-dialog .b-track-options .b-option { border-color:var(--bislett-line); font-weight:600; }
.b-track-dialog .b-track-options .b-option:has(input:checked) { background:var(--bislett-pine); color:var(--bislett-cream); }
.b-description:has(.b-track-panel) { gap:16px; }
@media(max-width:899px) {
  .b-track-dialog { width:100%; max-width:600px; max-height:92svh; margin:auto auto 0; border-radius:24px 24px 0 0; }
  .b-layout .b-after-splits { order:3; }
}
@media(min-width:900px) {
  #header.b-header { padding:16px 24px; }
  .b-layout.b-no-splits { grid-template-columns:260px minmax(0,1fr); max-width:1120px; gap:32px; }
  .b-no-splits .b-sidebar { display:flex; flex-direction:column; gap:16px; grid-column:1; }
  .b-layout.b-no-splits .b-workout { grid-column:2; }
  .b-no-splits .b-workout { gap:16px; }
  .b-choices { max-width:342px; }
}
@media(min-width:1200px) {
  .b-layout.b-no-splits { padding:32px; }
}
@media(max-width:359px) {
  #header.b-header { padding:16px; }
  .b-brand small { font-size:12px; }
  .b-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .b-hero-time { font-size:64px; }
  .b-large .b-hero-time { font-size:72px; }
}
.b-option:has(input[name="distancePolicy"])::before { content:"○"; flex:none; color:var(--bislett-pine); }
.b-option:has(input[name="distancePolicy"]:checked)::before { content:"●"; }
.b-option:has(input:disabled) { opacity:.55; cursor:default; }
.b-option input:disabled { cursor:default; }
.b-brand .b-badge { overflow:hidden; }
.b-sidebar .b-week-heading { text-align:left; }
.b-run-actions { display:flex; flex-direction:column; gap:16px; }
@media(min-width:900px) {
  .b-run-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .b-run-actions>.b-note,.b-run-actions>.b-track-panel { grid-column:1/-1; }
}
/* Treningsoppgaven kommer før den personlige passeringsplanen. */
.b-task-layout .b-workout { display:flex; flex-direction:column; gap:16px; min-width:0; }
.b-session-header,.b-personal,.b-personal-pace,.b-personal-splits,.b-source-footer,.b-location { display:flex; flex-direction:column; gap:12px; min-width:0; }
.b-session-header .b-choices button { min-height:44px; padding-block:10px; }
.b-task-summary,.b-task-part,.b-task-step { display:flex; flex-direction:column; gap:8px; min-width:0; }
.b-task-part+.b-task-part { padding-top:16px; border-top:1px solid var(--bislett-line); }
.b-task-step+.b-task-step { padding-top:8px; }
.b-task-fields { display:flex; flex-direction:column; gap:8px; margin:0; }
.b-task-fields>div { display:grid; grid-template-columns:56px minmax(0,1fr); gap:8px; }
.b-task-fields dt { color:var(--bislett-muted); font-size:14px; font-weight:600; }
.b-task-fields dd { margin:0; }
.b-task-total { padding-top:8px; font-size:14px; font-weight:600; }
.b-task-adjustment { color:var(--bislett-pine); }
.b-location .b-button { min-height:44px; }
.b-location .b-button span { margin-left:4px; }
.b-results-grid { display:flex; flex-direction:column; gap:16px; min-width:0; }
.b-task-layout .b-club-message { margin:0; }
.b-week-card .b-source-line { display:block; font-size:16px; line-height:1.5; overflow-wrap:anywhere; white-space:pre-line; }
.b-week-card .b-source-line strong { font:inherit; font-weight:600; }
.b-audience { font-size:13px; font-weight:600; color:var(--bislett-pine); }
.b-week-advice p { white-space:pre-line; }
.b-mobile-week-advice { display:grid; gap:12px; }
.b-mobile-week-advice .b-note { margin:0; }
@media(min-width:900px) { .b-mobile-week-advice { display:none; } }
@media(min-width:900px) {
  .b-layout.b-task-layout { max-width:1200px; grid-template-columns:240px minmax(0,1fr); gap:32px; padding:32px; }
  .b-task-layout .b-sidebar { display:flex; flex-direction:column; gap:16px; grid-column:1; }
  .b-task-layout .b-workout { grid-column:2; }
  .b-task-layout .b-results-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:20px; }
  .b-task-layout.b-no-splits .b-workout { grid-column:2; }
}
@media print {
  .b-task-layout .b-workout { display:flex; }
  .b-task-layout .b-location { display:none; }
  .b-task-summary,.b-club-message { break-inside:avoid; }
}
/* Direkte valg og redigering bruker samme, avgrensede dialog. */
#navigation.b-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); }
.b-group-option .b-group-letter { flex:0 0 104px; font-size:24px; }
.b-group-option { border-color:var(--bislett-line); }
.b-onboarding-group { height:calc(100dvh - 180px); min-height:260px; }
.b-group-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:4px; }
.b-session-settings { display:flex; flex-direction:column; gap:12px; }
.b-settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.b-setting { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; min-height:88px; padding:12px; border:1px solid var(--bislett-pine); border-radius:16px; background:var(--bislett-surface); text-align:left; }
.b-setting>span { font-size:14px; color:var(--bislett-muted); }
.b-setting strong { padding-right:12px; font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:26px; line-height:30px; }
.b-setting>svg { position:absolute; right:8px; top:12px; }
.b-setting:hover,.b-pace-value:hover { background:var(--bislett-tint); }
.b-contained { position:fixed; top:calc(var(--b-viewport-top,0px) + 12px); bottom:auto; width:calc(100% - 24px); max-height:calc(var(--b-viewport-height,100dvh) - 24px); margin:0 auto; padding:0; overflow:hidden; }
.b-dialog.b-contained form { gap:0; max-height:calc(var(--b-viewport-height,100dvh) - 24px); }
.b-contained .b-dialog-header { flex:none; align-items:center; padding:16px 20px; border-bottom:1px solid var(--bislett-line); background:var(--bislett-paper); }
.b-contained .b-dialog-header .b-title { font-size:28px; line-height:32px; }
.b-contained .b-dialog-body { display:flex; flex-direction:column; gap:16px; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:20px; scroll-padding-block:16px; }
.b-dialog-actions { flex:none; display:grid; grid-template-columns:1.4fr 1fr; gap:8px; padding:12px 16px max(12px,env(safe-area-inset-bottom)); border-top:1px solid var(--bislett-line); background:var(--bislett-paper); }
.b-dialog-actions .b-button { min-height:48px; padding:10px 8px; }
.b-pace-input { position:relative; display:flex; align-items:center; }
.b-pace-input input { padding-right:52px!important; }
.b-pace-input>span { position:absolute; right:12px; color:var(--bislett-muted); }
.b-profile-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.b-setup { max-width:720px; }
.b-pace-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:12px; border-top:1px solid var(--bislett-line); }
.b-pace-row small { display:block; color:var(--bislett-muted); font-size:14px; margin-top:4px; }
.b-pace-row>div { display:flex; flex-direction:column; align-items:flex-end; }
.b-pace-value { min-height:48px; display:flex; align-items:center; gap:10px; white-space:nowrap; font-weight:600; }
.b-part-choice { display:flex; flex-wrap:wrap; gap:8px; }
.b-part-choice .b-button { min-height:44px; }
[data-b-rest-seconds] { display:flex; flex-direction:column; gap:12px; }
[data-b-rest-seconds][hidden] { display:none; }
@media(max-width:359px) {
  .b-settings-grid { grid-template-columns:1fr; }
  .b-setting { min-height:64px; flex-direction:row; align-items:center; justify-content:space-between; padding-right:32px; }
  .b-setting strong { font-size:24px; }
  .b-contained .b-dialog-body { padding:16px; }
  .b-pace-row { flex-wrap:wrap; }
}

.b-profile-heading .b-button { width:auto; }
.b-profile-heading>strong { white-space:nowrap; }
.b-pace-setting { grid-column:1/-1; display:flex; flex-direction:column; gap:8px; }
.b-pace-setting>span { font-size:14px; font-weight:600; }
.b-pace-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.b-settings-grid:has(.b-pace-setting) { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:479px) { .b-pace-buttons .b-setting>span { font-size:12px; max-width:calc(100% - 12px); } }

.c-group-picker.c-direct-groups { display:block; }
.c-direct-groups summary { display:flex; align-items:center; min-height:48px; padding:12px; cursor:pointer; font-weight:600; }
.c-direct-groups .c-group-list { max-height:300px; overflow-y:auto; padding:8px; }
.c-direct-groups:not([open]) [data-c-close-groups],.c-direct-groups:not([open]) .c-group-list { display:none; }
.c-direct-groups .b-option strong { font-size:18px; white-space:nowrap; }

.b-setting strong { padding-right:0; white-space:nowrap; }
@media(max-width:479px) { .b-setting strong { font-size:24px; } }
/* Pace-kortet er en statisk avskriftsflate før økta. */
#navigation[hidden] { display:none!important; }
body.has-pace-card { overflow:hidden; }
.b-open-pace-card { min-height:52px; font-weight:700; }
.b-week-entry { display:flex; flex-direction:column; gap:4px; }
.b-week-pace-card { min-height:44px; border-color:var(--bislett-pine); color:var(--bislett-pine); }
.b-pace-card { max-width:440px; background:#fff; font-variant-numeric:tabular-nums; }
.b-pace-card .b-dialog-header { padding:10px 16px; background:#fff; }
.b-pace-card .b-dialog-header .b-title { font-size:26px; line-height:32px; }
.b-pace-card .b-dialog-body { padding:12px 20px 16px; gap:8px; }
.b-card-meta,.b-card-part-name,.b-card-footnote { font-size:14px; line-height:20px; }
.b-card-meta { font-weight:600; }
.b-card-part-name,.b-card-footnote { color:var(--bislett-muted); }
.b-card-pace-line { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.b-card-pace-line>.b-button { width:auto; min-height:44px; padding:6px 12px; font-size:22px; }
.b-card-environment .b-button { min-height:44px; padding:8px; }
.b-card-part { font-size:14px; gap:4px; }
.b-card-part select { min-height:44px; padding:8px; }
.b-card-lap { display:flex; flex-direction:column; align-items:center; gap:0; padding:4px 0; }
.b-card-lap>span { font-size:16px; font-weight:600; }
.b-card-lap>strong { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:64px; line-height:1.1; font-weight:700; }
.b-card-passings { width:100%; border-collapse:collapse; }
.b-card-passings caption { text-align:left; padding-bottom:8px; font-size:16px; line-height:24px; font-weight:600; }
.b-card-passings th,.b-card-passings td { border-top:1px solid var(--bislett-line); padding:6px 0; }
.b-card-passings th { text-align:left; font-size:18px; font-weight:500; }
.b-card-passings th small { display:inline-block; margin-left:6px; font-size:13px; }
.b-card-passings td { text-align:right; font-size:30px; line-height:36px; font-weight:600; }
.b-card-passings tr:last-child th,.b-card-passings tr:last-child td { font-weight:700; }
@media(max-width:359px) { .b-pace-card .b-dialog-body { padding-inline:16px; } .b-card-passings th small { display:block; margin-left:0; } }

/* Minutter og sekunder rulles hver for seg; tastaturet er et valgfritt alternativ. */
.b-pace-picker { display:flex; flex-direction:column; gap:8px; }
.b-pace-wheel-line { display:flex; align-items:center; justify-content:center; gap:12px; font-variant-numeric:tabular-nums; }
.b-pace-wheel-unit { display:flex; flex-direction:column; align-items:center; gap:4px; }
.b-pace-wheel-unit>span { font-size:14px; font-weight:600; }
.b-pace-wheel-box { position:relative; width:80px; height:144px; }
.b-pace-wheel-band { position:absolute; top:48px; width:100%; height:48px; background:#e8eee9; border:2px solid var(--bislett-pine); border-radius:8px; pointer-events:none; }
.b-pace-wheel { position:absolute; inset:0; overflow-y:auto; scroll-snap-type:y mandatory; scrollbar-width:none; overscroll-behavior:contain; }
.b-pace-wheel::-webkit-scrollbar { display:none; }
.b-pace-wheel-spacer { height:48px; }
.b-pace-wheel-item { display:block; width:100%; height:48px; min-height:48px; border:0; border-radius:8px; padding:0; margin:0; background:transparent; color:var(--bislett-muted); font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:28px; line-height:1; font-weight:600; scroll-snap-align:center; }
.b-pace-wheel-item[aria-pressed="true"] { color:var(--bislett-ink); font-size:38px; font-weight:700; }
.b-pace-wheel-item:focus-visible { outline:2px solid var(--bislett-pine); outline-offset:-4px; }
.b-pace-wheel-colon,.b-pace-wheel-suffix { padding-top:24px; font-size:24px; font-weight:600; }
[data-b-pace-output] { align-self:center; font-size:24px; font-variant-numeric:tabular-nums; font-weight:600; }
.b-pace-keyboard>summary { display:flex; align-items:center; min-height:44px; cursor:pointer; text-decoration:underline; font-size:15px; }

/* Selected option text inherits the surface, overriding generic pressed buttons. */
.b-option.is-selected,.b-option[aria-pressed="true"] { color:var(--bislett-ink); background:var(--bislett-tint); }
.b-option.is-selected .b-group-letter,.b-option[aria-pressed="true"] .b-group-letter { color:var(--bislett-pine); }
.c-direct-groups .b-option[aria-pressed="true"] { color:var(--bislett-ink); background:var(--bislett-tint); }
.b-onboarding-group { height:auto; min-height:calc(100dvh - 180px); }
.b-onboarding-group .b-group-scroll { max-height:50dvh; flex:auto; }
.b-pace-wheel-item[data-b-pace-fraction="true"] { font-size:30px; }
.c-oval-center .b-pace-wheel-item[data-b-pace-fraction="true"] { font-size:30px; }
@media(max-width:359px) { .c-oval-center .b-pace-wheel-item[data-b-pace-fraction="true"] { font-size:26px; } }

/* One round, distances down and an independent pace in each column. */
.b-matrix-card { max-width:720px; }
.b-matrix-card .b-dialog-body { padding:8px 10px 10px; gap:8px; }
.b-matrix-controls { display:flex; align-items:center; justify-content:space-between; gap:8px; flex:none; }
.b-matrix-controls>.b-button { width:auto; flex:none; padding:6px 8px; font-size:14px; white-space:nowrap; }
.b-matrix-controls .b-segmented { display:flex; width:auto; flex:1; max-width:180px; min-width:0; }
.b-matrix-controls .b-button { min-height:44px; }
.b-card-collected { flex:none; min-width:0; }
.b-pace-matrix { width:100%; table-layout:fixed; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.b-pace-matrix caption { text-align:left; font-size:16px; line-height:21px; font-weight:600; padding:2px 0 8px; }
.b-pace-matrix caption small { display:block; color:var(--bislett-muted); font-size:12px; line-height:18px; font-weight:400; }
.b-pace-matrix th,.b-pace-matrix td { padding:5px 2px; text-align:center; border-bottom:1px solid var(--bislett-line); }
.b-pace-matrix thead th { font-weight:600; vertical-align:bottom; }
.b-pace-matrix thead span { display:block; font-size:13px; line-height:16px; overflow-wrap:anywhere; }
.b-pace-matrix thead strong { display:block; font-family:"Barlow Condensed",sans-serif; font-size:24px; line-height:28px; }
.b-pace-matrix th:first-child { width:50px; }
.b-pace-matrix thead th:first-child { font-size:12px; }
.b-pace-matrix tbody th,.b-pace-matrix td { font-family:"Barlow Condensed",sans-serif; font-size:27px; line-height:30px; font-weight:600; white-space:nowrap; }
.b-pace-matrix small { display:block; font-family:Barlow,sans-serif; font-size:11px; line-height:13px; white-space:normal; }
.b-pace-matrix tbody tr:nth-child(even) { background:var(--bislett-paper); }
.b-pace-matrix tbody tr.is-lap { background:var(--bislett-pine); color:#fff; }
.b-pace-matrix .is-lap th,.b-pace-matrix .is-lap td { font-weight:700; border:0; }
.b-pace-matrix:has(thead th:nth-child(n+5)) td { font-size:22px; }
.b-pace-matrix:has(thead th:nth-child(n+6)) td { font-size:17px; }
.b-pace-matrix:has(thead th:nth-child(n+6)) thead strong { font-size:18px; }
.b-pace-matrix:has(thead th:nth-child(n+6)) thead span { font-size:12px; }
@media(max-width:359px) {
  .b-pace-matrix:has(thead th:nth-child(n+5)) td { font-size:20px; }
  .b-pace-matrix:has(thead th:nth-child(n+6)) th:first-child { width:36px; }
  .b-pace-matrix:has(thead th:nth-child(n+6)) td,.b-pace-matrix:has(thead th:nth-child(n+6)) thead strong { font-size:14px; letter-spacing:-.02em; }
}

.b-matrix-controls .b-segmented .b-button { width:auto; flex:1; min-width:52px; }
.b-pace-matrix tbody th small { font-size:10px; }

/* Samlet distanse ved innendørs tilpasning, inkludert regneeksempel med færre drag. */
.b-track-comparison { margin:12px 0 20px; padding:16px; border:1px solid var(--bislett-line); border-radius:16px; background:var(--bislett-surface); color:var(--bislett-ink); }
.b-track-comparison h3 { margin:0 0 12px; }
.b-track-comparison dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.b-track-comparison dt { font-size:13px; line-height:1.4; }
.b-track-comparison dd { margin:2px 0 0; font:600 28px/1.2 'Barlow Condensed',sans-serif; font-variant-numeric:tabular-nums; }
.b-track-delta { font-weight:600; margin:10px 0; }
.b-track-advice { margin:12px 0; padding:10px 12px; border-left:3px solid var(--bislett-pine); background:var(--bislett-paper); line-height:1.5; }
.b-track-comparison .b-note { margin:10px 0 0; font-size:12px; }
.b-track-dialog .b-track-comparison { padding:12px; margin:12px 0 0; }
@media(max-width:359px) { .b-track-dialog .b-track-comparison dd { font-size:24px; } }

/* Reflow: keep values readable at 320 px; let wider screens share the work. */
.b-session-body,.b-session-overview { display:flex; flex-direction:column; gap:16px; min-width:0; }
.b-status:empty { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.b-workout>[data-b-back-week] { align-self:flex-start; width:auto; min-height:44px; padding:8px 0; }
.b-session-settings>.b-button.is-quiet { align-self:flex-start; width:auto; min-height:44px; padding:6px 0; text-decoration:underline; text-underline-offset:3px; }
.b-profile-heading { flex-wrap:wrap; }
.b-profile-heading>strong,.b-profile-heading>h2 { min-width:0; white-space:normal; }
.b-profile-heading>.b-button { min-height:44px; padding:8px; }
.b-profile-paces { min-width:0; }
.b-pace-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.b-pace-row>span,.b-pace-row>div { min-width:0; }
.b-pace-row .b-button.is-quiet { min-height:44px; padding:6px 8px; font-size:14px; }
.b-notice.is-warning:has(>[data-b-refresh]) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:12px 16px; }
.b-notice.is-warning:has(>[data-b-refresh])>strong { grid-column:1/-1; }
.b-notice.is-warning>[data-b-refresh] { width:auto; min-height:44px; padding:8px; align-self:center; font-size:14px; }
@media(max-width:899px) {
  body { padding-bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
  #header.b-header { min-height:80px; padding:12px 16px; }
  .b-brand .b-badge { width:44px; height:44px; }
  .b-badge img { width:40px; }
  .b-brand>span { font-size:26px; line-height:30px; }
  .b-brand small { font-size:12px; line-height:17px; }
  #navigation.b-navigation { padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:479px) {
  .c-source-controls>.c-segmented:has(>.c-button:nth-child(4)) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .b-settings-grid,.b-settings-grid:has(.b-pace-setting) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .b-settings-grid>.b-setting { flex-direction:column; align-items:flex-start; justify-content:center; min-height:76px; gap:4px; padding:10px 12px; }
  .b-settings-grid>.b-setting:first-child { grid-column:1/-1; }
  .b-settings-grid>.b-setting:first-child,.b-pace-buttons .b-setting { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:52px; gap:8px; padding:8px 36px 8px 12px; }
  .b-settings-grid>.b-setting:first-child>svg,.b-pace-buttons .b-setting>svg { top:50%; transform:translateY(-50%); }
  .b-pace-buttons { grid-template-columns:minmax(0,1fr); }
  .b-pace-buttons .b-setting>span { max-width:none; font-size:14px; }
  .b-setting strong { font-size:24px; line-height:30px; }
}
@media(min-width:700px) {
  .b-week-page>.b-week-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
}
@media(min-width:1200px) {
  .b-layout.b-task-layout { max-width:1440px; }
  .b-session-body:has(>.b-personal) { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:24px; align-items:start; }
  .b-session-body>.b-personal .b-results-grid { display:flex; flex-direction:column; align-items:stretch; }
}

/* Use a single gutter in calculators instead of adding it at each nesting level. */
.c-calculator .c-round-controls { padding-inline:0; }
.c-passages .c-passage-heading,.c-passages .c-copy-wrap { padding-inline:0; }
.c-calculator .c-section-heading,.c-calculator .c-lap-counter { flex-wrap:wrap; }
.c-lap-counter>div { flex:none; }
.c-types .c-button { min-width:0; height:auto; }
.c-types .c-button>span { display:block; white-space:normal; overflow-wrap:anywhere; line-height:1.25; }
.c-lap-stats { flex-wrap:wrap; }
.c-calculator .c-first-lap { margin:0 16px 16px; padding:8px 16px 16px; border-radius:16px; }
.c-first-lap table { table-layout:fixed; }
.c-first-lap td { font-size:clamp(26px,8vw,32px); }
.c-heading { padding:4px 16px 12px; }
.c-heading h1 { font-family:'Barlow Condensed',sans-serif; font-size:30px; line-height:1.15; font-weight:600; }
.c-heading p { margin-top:4px; }
@media(max-width:899px) {
  .b-calculator-nav { padding:12px 16px; margin-bottom:4px; }
  .b-calculator-nav a { padding:8px 6px; font-size:14px; }
}
@media(min-width:1100px) {
  #app:has(#free-calculator)>.b-calculator-nav { max-width:1120px; padding-inline:24px; }
  .c-calculator { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:1120px; padding:4px 24px 24px; align-items:start; }
  .c-calculator>.c-heading,.c-calculator>.c-import-origin,.c-calculator>.c-session-context,.c-calculator>.c-footer { grid-column:1/-1; }
  .c-calculator>.c-heading { padding:0; }
  .c-calculator>[data-c-hero],.c-calculator>.c-controls { grid-column:1; min-width:0; }
  .c-calculator>[data-c-results],.c-calculator>[data-c-timeline] { grid-column:2; min-width:0; }
  .c-calculator .c-oval-section,.c-calculator .c-rounds-hero { margin-inline:0; margin-top:0; }
  .c-calculator .c-first-lap { margin:0; }
  .c-calculator .c-controls { padding:16px; border:1px solid var(--bislett-line); border-radius:16px; background:var(--bislett-surface); }
  .c-calculator>[data-c-timeline] .c-passages { padding-inline:0; }
  .c-calculator.c-rounds>.c-controls { grid-column:2; }
  .c-calculator.c-rounds>[data-c-timeline] { grid-column:1/-1; }
}
