/* Generated from tokens.json. Iradeh source d4b44b41daad86f947b890f5fcddfc4e7c1ffbd7. */
:root, [data-ir-theme="light"] {
  --ir-background: #cbcbc0;
  --ir-foreground: #171a15;
  --ir-card: #cbcbc0;
  --ir-card-foreground: #171a15;
  --ir-primary: #f05a43;
  --ir-primary-foreground: #101110;
  --ir-secondary: #bdbdb1;
  --ir-secondary-foreground: #171a15;
  --ir-muted: #bdbdb1;
  --ir-muted-foreground: #464a40;
  --ir-accent: #dadad0;
  --ir-accent-foreground: #171a15;
  --ir-destructive: #86271c;
  --ir-destructive-surface: #86271c;
  --ir-border: #919487;
  --ir-input: #68705f;
  --ir-ring: #171a15;
  --ir-measurement: #181b16;
  --ir-measurement-foreground: #f0eee6;
  --ir-measurement-muted: #d0d3c5;
  --ir-warning: #e4b45f;
  --ir-warning-foreground: #101110;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-ir-theme="light"]) {
  --ir-background: #22221f;
  --ir-foreground: #f1eee5;
  --ir-card: #22221f;
  --ir-card-foreground: #f1eee5;
  --ir-primary: #f05a43;
  --ir-primary-foreground: #101110;
  --ir-secondary: #2f302a;
  --ir-secondary-foreground: #f1eee5;
  --ir-muted: #2d2e28;
  --ir-muted-foreground: #b9b8ad;
  --ir-accent: #3a3b33;
  --ir-accent-foreground: #f1eee5;
  --ir-destructive: #ffb2a4;
  --ir-destructive-surface: #b83c32;
  --ir-border: #57584f;
  --ir-input: #929487;
  --ir-ring: #f1eee5;
  --ir-measurement: #151613;
  --ir-measurement-foreground: #f1eee5;
  --ir-measurement-muted: #b9b8ad;
  --ir-warning: #e4b45f;
  --ir-warning-foreground: #101110;
  }
}
[data-ir-theme="dark"] {
  --ir-background: #22221f;
  --ir-foreground: #f1eee5;
  --ir-card: #22221f;
  --ir-card-foreground: #f1eee5;
  --ir-primary: #f05a43;
  --ir-primary-foreground: #101110;
  --ir-secondary: #2f302a;
  --ir-secondary-foreground: #f1eee5;
  --ir-muted: #2d2e28;
  --ir-muted-foreground: #b9b8ad;
  --ir-accent: #3a3b33;
  --ir-accent-foreground: #f1eee5;
  --ir-destructive: #ffb2a4;
  --ir-destructive-surface: #b83c32;
  --ir-border: #57584f;
  --ir-input: #929487;
  --ir-ring: #f1eee5;
  --ir-measurement: #151613;
  --ir-measurement-foreground: #f1eee5;
  --ir-measurement-muted: #b9b8ad;
  --ir-warning: #e4b45f;
  --ir-warning-foreground: #101110;
}
:root {
  --ir-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ir-font-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
  --ir-radius-control: 2px;
  --ir-target: 48px;
  --ir-body-size: 1rem;
  --ir-body-lineHeight: 1.5rem;
  --ir-body-weight: 400;
  --ir-small-size: 0.875rem;
  --ir-small-lineHeight: 1.25rem;
  --ir-small-weight: 500;
  --ir-h1-size: 2.25rem;
  --ir-h1-lineHeight: 2.5rem;
  --ir-h1-weight: 800;
  --ir-h2-size: 1.5rem;
  --ir-h2-lineHeight: 2rem;
  --ir-h2-weight: 800;
  --ir-h3-size: 1.5rem;
  --ir-h3-lineHeight: 2rem;
  --ir-h3-weight: 600;
  --ir-h4-size: 1.25rem;
  --ir-h4-lineHeight: 1.75rem;
  --ir-h4-weight: 600;
  --ir-metric-size: 3rem;
  --ir-metric-lineHeight: 3.5rem;
  --ir-metric-weight: 800;
}
:root[data-ir-accent="coral"], [data-ir-accent="coral"] {
  --ir-primary: #f05a43;
  --ir-primary-foreground: #101110;
}
:root[data-ir-accent="harbour"], [data-ir-accent="harbour"] {
  --ir-primary: #66b6db;
  --ir-primary-foreground: #101110;
}
:root[data-ir-accent="sage"], [data-ir-accent="sage"] {
  --ir-primary: #97bd9e;
  --ir-primary-foreground: #101110;
}
:root[data-ir-accent="iris"], [data-ir-accent="iris"] {
  --ir-primary: #b5a0df;
  --ir-primary-foreground: #101110;
}

/* Framework-independent primitives. Import tokens.css first. */
.ir-app{font-family:var(--ir-font-sans);font-size:var(--ir-body-size);line-height:1.5;color:var(--ir-foreground);background:var(--ir-background)}
.ir-app *{box-sizing:border-box}.ir-app a{color:inherit;text-underline-offset:4px}
.ir-title{font-size:var(--ir-h1-size);line-height:var(--ir-h1-lineHeight);font-weight:800;letter-spacing:-.04em;margin:0;text-align:left}
.ir-heading{font-size:var(--ir-h2-size);line-height:var(--ir-h2-lineHeight);font-weight:800;letter-spacing:-.025em;margin:0}
.ir-muted{color:var(--ir-muted-foreground)}
.ir-section{border:0;border-top:1px solid var(--ir-border);border-radius:0;padding:16px 0;background:var(--ir-card);color:var(--ir-card-foreground);box-shadow:none}
.ir-measurement{background:var(--ir-measurement);color:var(--ir-measurement-foreground);padding:16px;border:0;border-radius:0;box-shadow:none}
.ir-measurement .ir-muted{color:var(--ir-measurement-muted)}
.ir-metric{font-size:var(--ir-metric-size);line-height:var(--ir-metric-lineHeight);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:0}
.ir-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:44px;padding:12px 16px;border:1px solid transparent;border-radius:var(--ir-radius-control);font:600 1rem/1.5 var(--ir-font-sans);white-space:normal;text-align:center;background:var(--ir-primary);color:var(--ir-primary-foreground);cursor:pointer;box-shadow:none}
.ir-button-outline{background:var(--ir-background);color:var(--ir-foreground);border-color:var(--ir-input)}
.ir-button-secondary{background:var(--ir-secondary);color:var(--ir-secondary-foreground)}
.ir-button-destructive{background:var(--ir-destructive-surface);color:white}
.ir-button:disabled{opacity:.5;cursor:not-allowed}
.ir-button:hover:not(:disabled){filter:brightness(.95)}
.ir-button:focus-visible,.ir-input:focus-visible{outline:3px solid var(--ir-ring);outline-offset:3px}
.ir-input{display:block;min-height:48px;padding:10px 12px;width:100%;border:1px solid var(--ir-input);border-radius:2px;background:var(--ir-background);color:var(--ir-foreground);font:inherit}
.ir-divider{border:0;border-top:1px solid var(--ir-border)}
@media(prefers-reduced-motion:reduce){.ir-app *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

:root { color-scheme: light dark; }
body { margin: 0; }
[hidden] { display: none !important; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--ir-ring); outline-offset: 3px; }
p { margin: 0; }
.shell { max-width: 1160px; margin: 0 auto; padding: 24px; }
.masthead { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid var(--ir-border); }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 800; }
.brand-mark { display: grid; place-items: center; width: 44px; height: 44px; background: var(--ir-primary); color: var(--ir-primary-foreground); font-size: 24px; letter-spacing: -.06em; }
.small { font-size: var(--ir-small-size); line-height: var(--ir-small-lineHeight); }
.intro { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding: 32px 0; }
.intro .ir-title { margin: 8px 0; }
.layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 48px; align-items: start; }
.sidebar { position: sticky; top: 24px; }
.calendar { padding: 20px 0 24px; border-top: 1px solid var(--ir-border); }
.calendar h2 { font-size: 20px; line-height: 28px; margin: 0 0 16px; font-weight: 600; }
.week-label { margin: 16px 0 8px; }
.week-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.weekday { text-align: center; margin-bottom: 4px; font-size: var(--ir-small-size); color: var(--ir-muted-foreground); }
.day { display: flex; flex-direction: column; gap: 6px; align-items: center; justify-content: center; min-width: 0; min-height: 56px; border: 1px solid transparent; border-radius: var(--ir-radius-control); text-decoration: none; font-weight: 600; font-variant-numeric: tabular-nums; }
.day:hover { background: var(--ir-accent); }
.day[data-today="true"] { border-color: var(--ir-input); }
.day[aria-current="date"], .day[aria-current="date"]:hover { background: var(--ir-primary); color: var(--ir-primary-foreground); border-color: transparent; }
.day::after { content: ''; width: 4px; height: 4px; border-radius: 50%; background: currentColor; visibility: hidden; }
.day[data-published="true"]::after { visibility: visible; }
.legend { display: flex; gap: 8px; align-items: center; margin-top: 16px; }
.legend::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.today-link { margin-top: 16px; width: 100%; text-decoration: none; }
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.filter { text-decoration: none; flex: 1; padding: 8px 12px; }
.filter[aria-current="true"] { background: var(--ir-primary); color: var(--ir-primary-foreground); border-color: transparent; }
.day-overview { margin-bottom: 24px; }
.day-overview .ir-heading { margin: 4px 0 12px; }
.day-overview p + p { margin-top: 8px; }
.track { margin-top: 24px; }
.track-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 0 0 12px; border-bottom: 1px solid var(--ir-border); }
.track-heading h3 { font-size: 20px; line-height: 28px; font-weight: 600; margin: 0; }
.workout { border-bottom: 1px solid var(--ir-border); }
.workout summary { position: relative; list-style: none; padding: 20px 32px 20px 0; cursor: pointer; overflow-wrap: anywhere; }
.workout summary::-webkit-details-marker { display: none; }
.workout summary::after { content: '+'; position: absolute; right: 0; top: 20px; font-size: 24px; line-height: 28px; }
.workout[open] summary::after { content: '−'; }
.workout summary:hover .workout-title { text-decoration: underline; text-underline-offset: 4px; }
.workout-title { display: block; font-size: 20px; line-height: 28px; font-weight: 600; margin: 4px 0 8px; }
.workout-label { display: block; font-weight: 600; }
.preview { display: block; }
.workout-body { padding: 0 0 24px; overflow-wrap: anywhere; }
.prescription { white-space: pre-wrap; margin: 0 0 20px; font: inherit; }
.source { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.empty { padding: 20px 0; }
.status { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--ir-border); }
.status p + p { margin-top: 8px; }
.warning { background: var(--ir-warning); color: var(--ir-warning-foreground); padding: 16px; margin-bottom: 24px; }
.error { padding: 32px 0; }
.error p { margin: 16px 0 24px; }
.footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 48px; padding-top: 16px; border-top: 1px solid var(--ir-border); }
.skip { position: absolute; left: 16px; top: -100px; z-index: 2; }
.skip:focus { top: 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 800px) {
  .shell { padding: 16px; }
  .intro { padding: 24px 0; }
  .layout { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .sidebar { position: static; }
  .masthead { padding-bottom: 16px; }
  .calendar { padding-top: 16px; }
  .day { min-height: 48px; }
  .week-grid { gap: 0; margin-inline: -10px; }
  .today-link { width: auto; }
  .status { margin-top: 16px; }
  .footer { margin-top: 32px; }
}
@media print {
  .sidebar, .filters, .footer, .skip { display: none; }
  .layout { display: block; }
  .workout-body { display: block; }
}
