.str-calc-host { width: 100%; }

    .str-calc-host .header-row {
      display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px;
      background: var(--ys-bg-soft);
      padding: 18px;
      border-radius: 10px;
      margin-bottom: 16px;
      align-items: end;
    }
    @media (max-width: 700px) { .str-calc-host .header-row { grid-template-columns: 1fr; } }

    .str-calc-host label {
      display: block;
      font-family: var(--ys-font-display);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      font-size: 0.7rem;
      color: var(--ys-navy);
      margin-bottom: 6px;
    }
    .str-calc-host select,
    .str-calc-host input[type="number"],
    .str-calc-host input[type="text"] {
      width: 100%;
      padding: 10px 12px;
      border: 1.5px solid var(--ys-line);
      border-radius: 6px;
      font-size: 0.96rem;
      font-family: var(--ys-font-body);
      background: #fff;
      color: var(--ys-navy);
      box-sizing: border-box;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }
    .str-calc-host input:focus,
    .str-calc-host select:focus {
      outline: none;
      border-color: var(--wf-coral);
      box-shadow: 0 0 0 3px rgba(250, 119, 60, 0.18);
    }

    .str-calc-host .unit-toggle {
      font-family: var(--ys-font-display);
      letter-spacing: 0.1em; text-transform: uppercase;
      font-size: 0.7rem; color: var(--ys-muted);
    }
    .str-calc-host .unit-toggle .switch {
      display: inline-flex;
      border: 1.5px solid var(--ys-line);
      border-radius: 6px; overflow: hidden;
    }
    .str-calc-host .unit-toggle .switch button {
      background: #fff; border: 0; padding: 8px 14px;
      font-family: var(--ys-font-display);
      letter-spacing: 0.1em; text-transform: uppercase;
      font-size: 0.7rem; font-weight: 600;
      color: var(--ys-muted); cursor: pointer;
    }
    .str-calc-host .unit-toggle .switch button.active {
      background: var(--ys-navy); color: #fff;
    }

    .str-calc-host .ex-card {
      background: #fff;
      border: 1px solid var(--ys-line);
      border-radius: 12px;
      padding: 18px;
      margin-bottom: 16px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    @media (max-width: 820px) { .str-calc-host .ex-card { grid-template-columns: 1fr; } }

    .str-calc-host .ex-input-grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    }
    .str-calc-host .ex-input-grid .full { grid-column: 1 / -1; }

    .str-calc-host .ex-output {
      background: var(--ys-navy);
      border-radius: 10px;
      padding: 14px 16px;
      color: #fff;
      display: flex; flex-direction: column; gap: 12px;
    }
    .str-calc-host .ex-output-head {
      display: flex; justify-content: space-between; align-items: baseline;
      gap: 12px; flex-wrap: wrap;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(255,255,255,0.15);
    }
    .str-calc-host .ex-name {
      font-family: var(--ys-font-display);
      letter-spacing: 0.04em;
      font-size: 1.05rem;
      font-weight: 700;
      color: #fff;
    }
    .str-calc-host .ex-1rm {
      font-family: var(--ys-font-display);
      color: var(--wf-coral);
      font-size: 0.86rem;
      letter-spacing: 0.06em;
    }
    .str-calc-host .ex-1rm strong { font-size: 1.1rem; }
    .str-calc-host .ex-warn {
      display: inline-flex; align-items: center; gap: 4px;
      background: rgba(250, 119, 60, 0.18);
      color: var(--wf-coral);
      padding: 2px 8px;
      border-radius: 99px;
      font-size: 0.74rem;
      cursor: help;
    }
    .str-calc-host .ex-warn:not(.active) { display: none; }

    .str-calc-host .ex-phase {
      font-family: var(--ys-font-display);
      letter-spacing: 0.12em; text-transform: uppercase;
      font-size: 0.7rem;
      color: rgba(255, 255, 255, 0.7);
      text-align: center;
    }

    .str-calc-host .prescription {
      display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px;
    }
    @media (max-width: 540px) { .str-calc-host .prescription { grid-template-columns: 1fr 1fr; } }
    .str-calc-host .pres-tile {
      background: rgba(255, 255, 255, 0.08);
      border-radius: 8px;
      padding: 10px 6px;
      text-align: center;
    }
    .str-calc-host .pres-value {
      display: block;
      font-family: var(--ys-font-display);
      font-weight: 700;
      font-size: 0.96rem;
      color: #fff;
    }
    .str-calc-host .pres-label {
      display: block;
      font-family: var(--ys-font-display);
      letter-spacing: 0.06em; text-transform: uppercase;
      font-size: 0.62rem;
      color: rgba(255,255,255,0.6);
      margin-top: 4px;
    }
    .str-calc-host .pres-tile.intensity {
      background: rgba(250, 119, 60, 0.18);
    }
    .str-calc-host .pres-tile.intensity .pres-value { color: var(--wf-coral); }
    .str-calc-host .pres-pct {
      font-size: 0.7rem;
      color: rgba(255, 255, 255, 0.5);
      display: block;
      margin-top: 2px;
    }

    /* Exercise library */
    .ex-lib-tabs {
      display: flex; flex-wrap: wrap; gap: 4px;
      margin-bottom: 14px;
    }
    .ex-lib-tab {
      padding: 8px 14px;
      background: #fff;
      border: 1.5px solid var(--ys-line);
      border-radius: 999px;
      font-family: var(--ys-font-display);
      letter-spacing: 0.06em; text-transform: uppercase;
      font-size: 0.72rem; font-weight: 600;
      color: var(--ys-muted);
      cursor: pointer;
      transition: all 0.15s ease;
    }
    .ex-lib-tab:hover { color: var(--ys-navy); border-color: var(--ys-navy); }
    .ex-lib-tab.active {
      background: var(--ys-navy);
      border-color: var(--ys-navy);
      color: #fff;
    }
    .ex-lib-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 14px;
    }
    .ex-lib-card {
      background: #fff;
      border: 1px solid var(--ys-line);
      border-radius: 10px;
      padding: 16px;
    }
    .ex-lib-card h4 {
      font-family: var(--ys-font-display);
      color: var(--ys-navy);
      letter-spacing: 0.04em;
      font-size: 1rem;
      margin: 0 0 4px;
    }
    .ex-lib-card .ex-type {
      font-family: var(--ys-font-display);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      font-size: 0.66rem;
      color: var(--wf-coral);
      margin-bottom: 8px;
    }
    .ex-lib-card p {
      font-size: 0.88rem;
      color: var(--ys-navy);
      margin: 6px 0;
      line-height: 1.5;
    }
    .ex-lib-card p strong {
      color: var(--ys-muted);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-size: 0.74rem;
      font-family: var(--ys-font-display);
      font-weight: 600;
    }
    .ex-lib-cat { display: none; }
    .ex-lib-cat.active { display: block; }