.tool-heading { padding-block:30px 20px; border-block-end:1px solid var(--line); }
.tool-heading h1 { max-inline-size:25ch; margin-block:12px 16px; font:750 clamp(2.1rem,4.3vw,3.6rem)/1.05 var(--font-display); letter-spacing:-.03em; }
.tool-heading .page-lead { max-inline-size:70ch; }
.calc-fields { min-inline-size:0; margin:0; padding:0; border:0; }
.lifting-tool-page .calc-field { min-inline-size:0; }
.lifting-tool-page .calc-field input,.lifting-tool-page .calc-field select { inline-size:100%; min-inline-size:0; }
.lifting-tool-page .calc-card { min-inline-size:0; }
.lifting-tool-page .calc-card > h2 { font:750 1.5rem/1.25 var(--body); letter-spacing:-.025em; }
.lifting-tool-page .calc-card > p { max-inline-size:80ch; }
.lifting-tool-page .calc-copy { margin-block:14px; }
.lifting-tool-page .calc-output { font-size:1rem; }
.tool-results-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-block-start:20px; }
.tool-results-grid > * { min-inline-size:0; }
.lifting-tool-page .table-wrap,.lifting-tool-page .table-scroll { inline-size:100%; max-inline-size:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.lifting-tool-page .data-table caption { padding-block:14px; text-align:start; font-weight:700; }
.lifting-tool-page .data-table th,.lifting-tool-page .data-table td { padding:10px 12px; }
.lifting-tool-page .editorial-section > p { max-inline-size:77ch; }
.formula-box { margin-block:8px 12px; padding:10px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:6px; font-family:var(--font-mono,monospace); font-size:.875rem; line-height:1.6; overflow-wrap:anywhere; word-break:break-word; }
.formula-box code { white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
.lifting-tool-page pre { white-space:pre-wrap; overflow-wrap:anywhere; margin:0; }
.lifting-tool-page code { white-space:normal; overflow-wrap:anywhere; }
.tool-note,.tool-byline { color:var(--muted); font-size:.875rem; }
.tool-byline { padding-block:24px; border-block-start:1px solid var(--line); }
.tool-browse-intro { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:32px; align-items:start; }
.tool-browse-intro > * { min-inline-size:0; }
.lifting-tool-page .catalog-card { content-visibility:visible; min-inline-size:0; }
.tool-photo { margin:0; }
.tool-photo picture,.tool-photo img { display:block; inline-size:100%; block-size:auto; border-radius:12px; }
.tool-photo figcaption { color:var(--muted); font-size:.8125rem; line-height:1.5; margin-block-start:10px; }
.tool-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 28px; padding-inline-start:20px; }
.tool-links li { min-inline-size:0; overflow-wrap:anywhere; }
.tool-links a { display:inline-block; padding-block:8px; }
.tool-future { padding:16px 20px; border:1px solid var(--line); border-radius:10px; }
.tool-future summary,.lifting-tool-page #faq summary { min-block-size:44px; padding-block:10px; cursor:pointer; font-weight:650; }
@media(max-width:900px) { .tool-browse-intro { grid-template-columns:minmax(0,1fr); } .tool-photo { max-inline-size:600px; } }
@media(max-width:760px) { .tool-results-grid,.tool-links { grid-template-columns:minmax(0,1fr); } .lifting-tool-page .calc-card { padding:18px; } }
@media print { .tool-future::details-content { content-visibility:visible; } .calc-copy { display:none; } }

/* Barbell sleeve and plate visuals */
.plate-inventory-grid { display:flex; flex-wrap:wrap; gap:8px 16px; margin-block:10px 16px; }
.plate-check-label { display:inline-flex; align-items:center; gap:6px; font-size:.9rem; font-weight:600; cursor:pointer; }
.bar-visual-container { margin-block:18px; padding:20px; background:#18181b; border-radius:12px; overflow-x:auto; }
.bar-visual-wrap { display:flex; align-items:center; min-inline-size:280px; block-size:120px; position:relative; }
.bar-shaft { inline-size:50px; block-size:14px; background:#71717a; border-radius:3px 0 0 3px; flex-shrink:0; }
.bar-collar { inline-size:18px; block-size:52px; background:#a1a1aa; border-radius:4px; flex-shrink:0; border:2px solid #52525b; margin-inline-end:4px; }
.bar-sleeve { display:flex; align-items:center; gap:3px; flex-grow:1; min-inline-size:180px; block-size:26px; background:#3f3f46; border-radius:0 4px 4px 0; padding-inline:4px 12px; }
.bar-plate { display:flex; align-items:center; justify-content:center; color:#fff; font-weight:750; font-size:.75rem; border-radius:4px; text-shadow:0 1px 2px rgba(0,0,0,.6); box-shadow:1px 0 3px rgba(0,0,0,.4); flex-shrink:0; user-select:none; }
.plate-25 { inline-size:22px; block-size:110px; background:#dc2626; border:1px solid #991b1b; }
.plate-20 { inline-size:20px; block-size:104px; background:#2563eb; border:1px solid #1d4ed8; }
.plate-15 { inline-size:18px; block-size:94px; background:#eab308; color:#18181b; text-shadow:none; border:1px solid #ca8a04; }
.plate-10 { inline-size:16px; block-size:82px; background:#16a34a; border:1px solid #15803d; }
.plate-5 { inline-size:14px; block-size:68px; background:#f8fafc; color:#0f172a; text-shadow:none; border:1px solid #94a3b8; }
.plate-2_5 { inline-size:12px; block-size:54px; background:#1e293b; border:1px solid #0f172a; }
.plate-1_25 { inline-size:10px; block-size:44px; background:#94a3b8; color:#0f172a; text-shadow:none; border:1px solid #64748b; }
.plate-0_5 { inline-size:8px; block-size:36px; background:#cbd5e1; color:#0f172a; text-shadow:none; border:1px solid #94a3b8; }
.plate-45 { inline-size:22px; block-size:110px; background:#2563eb; border:1px solid #1d4ed8; }
.plate-35 { inline-size:19px; block-size:98px; background:#eab308; color:#18181b; text-shadow:none; border:1px solid #ca8a04; }
.sleeve-empty { color:#a1a1aa; font-size:.875rem; font-style:italic; padding-inline-start:12px; }

/* Calorie calculator targets & macros */
.macro-badges-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px 20px; }
.macro-badge { padding:14px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:10px; text-align:center; }
.macro-badge-title { font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.macro-badge-value { font-size:1.15rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.safe-floor-alert { margin-block:16px; padding:14px 18px; background:#fffbeb; border:1px solid #fde68a; border-inline-start:4px solid #f59e0b; border-radius:8px; color:#92400e; font-size:.925rem; line-height:1.5; }
.safe-floor-alert strong { color:#78350f; }
.calorie-targets-table { inline-size:100%; border-collapse:collapse; margin-block:14px; font-size:.95rem; }
.calorie-targets-table th,.calorie-targets-table td { padding:10px 14px; text-align:start; border-block-end:1px solid var(--line,#e2e8f0); }
.calorie-targets-table th { background:var(--surface-subtle,#f8fafc); font-weight:700; }
.calorie-targets-table td:last-child { font-family:var(--font-mono,monospace); font-weight:700; text-align:end; }
@media(max-width:640px) { .macro-badges-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:360px) { .lifting-tool-page .data-table th, .lifting-tool-page .data-table td { padding:8px 6px; font-size:.8125rem; } }

/* FFMI Calculator styles */
.ffmi-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.ffmi-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:8px; }
.ffmi-number { font-size:2.5rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); line-height:1; }
.ffmi-badge { display:inline-block; padding:4px 10px; border-radius:20px; font-size:.875rem; font-weight:700; background:#e0f2fe; color:#0369a1; }
.ffmi-desc { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:16px; }
.ffmi-breakdown-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-block-start:12px; padding-block-start:14px; border-block-start:1px solid var(--line,#e2e8f0); }
.ffmi-metric-card { padding:10px 14px; background:var(--surface-subtle,#f8fafc); border-radius:8px; }
.ffmi-metric-label { font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.ffmi-metric-value { font-size:1.15rem; font-weight:750; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block-start:2px; }
.ffmi-ceiling-alert { margin-block:14px; padding:14px 18px; background:#fef2f2; border:1px solid #fecaca; border-inline-start:4px solid #ef4444; border-radius:8px; color:#991b1b; font-size:.925rem; line-height:1.5; }
.ffmi-ceiling-alert strong { color:#7f1d1d; }
@media(max-width:480px) { .ffmi-breakdown-grid { grid-template-columns:minmax(0,1fr); } }

/* Calories Burned Calculator styles */
.burn-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.burn-hero-score { display:flex; align-items:baseline; gap:10px; margin-block-end:6px; }
.burn-number { font-size:2.5rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); line-height:1; }
.burn-sublabel { font-size:1.1rem; font-weight:600; color:var(--muted,#64748b); }
.burn-equiv-box { margin-block:10px 14px; padding:10px 14px; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:8px; color:#166534; font-size:.925rem; line-height:1.5; }
.burn-breakdown-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block-start:14px; padding-block-start:14px; border-block-start:1px solid var(--line,#e2e8f0); }
.burn-metric-card { padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-radius:8px; }
.burn-metric-label { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.burn-metric-value { font-size:1.1rem; font-weight:750; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block-start:2px; }
@media(max-width:768px) { .burn-breakdown-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .burn-breakdown-grid { grid-template-columns:minmax(0,1fr); } }

/* RPE Calculator styles */
.rpe-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.rpe-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.rpe-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; }
.rpe-number { font-size:2.5rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); line-height:1; }
.rpe-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.rpe-breakdown-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block-start:14px; padding-block-start:14px; border-block-start:1px solid var(--line,#e2e8f0); }
.rpe-metric-card { padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-radius:8px; }
.rpe-metric-label { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.rpe-metric-value { font-size:1.1rem; font-weight:750; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block-start:2px; }
.rpe-target-table { width:100%; border-collapse:collapse; margin-block-start:14px; font-size:.9rem; }
.rpe-target-table th, .rpe-target-table td { padding:8px 10px; text-align:left; border-bottom:1px solid var(--line,#e2e8f0); }
.rpe-target-table th { background:var(--surface-subtle,#f8fafc); font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.rpe-target-table td { font-family:var(--font-mono,monospace); font-weight:600; }
@media(max-width:768px) { .rpe-breakdown-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .rpe-breakdown-grid { grid-template-columns:minmax(0,1fr); } }

/* BMR Calculator styles */
.bmr-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.bmr-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.bmr-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; }
.bmr-number { font-size:2.5rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); line-height:1; }
.bmr-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.bmr-breakdown-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block-start:14px; padding-block-start:14px; border-block-start:1px solid var(--line,#e2e8f0); }
.bmr-metric-card { padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-radius:8px; }
.bmr-metric-label { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.bmr-metric-value { font-size:1.1rem; font-weight:750; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block-start:2px; }
.bmr-activity-table { width:100%; border-collapse:collapse; margin-block-start:14px; font-size:.9rem; }
.bmr-activity-table th, .bmr-activity-table td { padding:8px 10px; text-align:left; border-bottom:1px solid var(--line,#e2e8f0); }
.bmr-activity-table th { background:var(--surface-subtle,#f8fafc); font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.bmr-activity-table td:nth-child(3) { font-family:var(--font-mono,monospace); font-weight:700; }
@media(max-width:768px) { .bmr-breakdown-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .bmr-breakdown-grid { grid-template-columns:minmax(0,1fr); } }

/* TDEE Calculator styles */
.tdee-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.tdee-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.tdee-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; }
.tdee-number { font-size:2.5rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); line-height:1; }
.tdee-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.tdee-breakdown-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-block-start:14px; padding-block-start:14px; border-block-start:1px solid var(--line,#e2e8f0); }
.tdee-metric-card { padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-radius:8px; }
.tdee-metric-label { font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.tdee-metric-value { font-size:1.05rem; font-weight:750; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block-start:2px; }
.tdee-goals-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-block:14px; }
.tdee-goal-card { padding:10px 12px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; }
.tdee-goal-label { font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.tdee-goal-value { font-size:1.05rem; font-weight:750; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block-start:2px; }
.tdee-goal-desc { font-size:.75rem; color:var(--muted,#64748b); margin-block-start:2px; }
.tdee-activity-table { width:100%; border-collapse:collapse; margin-block-start:14px; font-size:.9rem; }
.tdee-activity-table th, .tdee-activity-table td { padding:8px 10px; text-align:left; border-bottom:1px solid var(--line,#e2e8f0); }
.tdee-activity-table th { background:var(--surface-subtle,#f8fafc); font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.tdee-activity-table td:nth-child(3) { font-family:var(--font-mono,monospace); font-weight:700; }
tr.tdee-active-tier { background:var(--surface-accent,#eef2ff); }
tr.tdee-active-tier td { color:var(--accent,#4f46e5); font-weight:700; }
@media(max-width:900px) {
  .tdee-breakdown-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tdee-goals-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .tdee-breakdown-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tdee-goals-grid { grid-template-columns:minmax(0,1fr); }
}

/* Macro Calculator styles */
.macro-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.macro-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.macro-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; }
.macro-number { font-size:2.5rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); line-height:1; }
.macro-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.macro-breakdown-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.macro-metric-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.macro-metric-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.macro-metric-value { font-size:1.6rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.macro-metric-sub { font-size:.85rem; color:var(--muted,#64748b); font-weight:500; }
.macro-meals-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-block-start:12px; padding-block-start:12px; border-block-start:1px solid var(--line,#e2e8f0); }
.macro-meal-card { padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-radius:8px; text-align:center; }
.macro-meal-label { font-size:.72rem; font-weight:600; text-transform:uppercase; color:var(--muted,#64748b); }
.macro-meal-value { font-size:1.1rem; font-weight:750; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block-start:2px; }
@media(max-width:768px) {
  .macro-breakdown-grid { grid-template-columns:minmax(0,1fr); }
  .macro-meals-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Protein Calculator styles */
.protein-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.protein-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.protein-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; }
.protein-number { font-size:2.6rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); line-height:1; }
.protein-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.protein-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.protein-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.protein-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.protein-summary-val { font-size:1.5rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.protein-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.protein-benchmarks-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-block:14px; }
.protein-benchmark-card { padding:12px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; }
.protein-benchmark-title { font-size:.78rem; font-weight:700; text-transform:uppercase; color:var(--muted,#64748b); }
.protein-benchmark-val { font-size:1.3rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:2px; }
.protein-benchmark-sub { font-size:.75rem; color:var(--muted,#64748b); }
@media(max-width:768px) {
  .protein-summary-grid { grid-template-columns:minmax(0,1fr); }
  .protein-benchmarks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Body Fat Calculator (US Navy Method) styles */
.bodyfat-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.bodyfat-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.bodyfat-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.bodyfat-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); line-height:1; }
.bodyfat-category-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#e0f2fe; color:#0284c7; font-weight:700; font-size:.9rem; }
.bodyfat-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.bodyfat-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.bodyfat-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.bodyfat-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.bodyfat-summary-val { font-size:1.4rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.bodyfat-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
@media(max-width:768px) {
  .bodyfat-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* Heart Rate Zone Calculator (Karvonen & % Max) styles */
.hr-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.hr-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.hr-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.hr-zone2-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#059669; line-height:1; }
.hr-badge-karvonen { display:inline-block; padding:4px 10px; border-radius:6px; background:#ecfdf5; color:#047857; font-weight:700; font-size:.85rem; }
.hr-badge-max { display:inline-block; padding:4px 10px; border-radius:6px; background:#eff6ff; color:#1d4ed8; font-weight:700; font-size:.85rem; }
.hr-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.hr-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.hr-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.hr-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.hr-summary-val { font-size:1.4rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.hr-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.lifting-tool-page .tool-form-grid { min-inline-size:0; }
.lifting-tool-page .tool-field { min-inline-size:0; }
.lifting-tool-page .tool-field input, .lifting-tool-page .tool-field select { inline-size:100%; max-inline-size:100%; min-inline-size:0; box-sizing:border-box; }
.hr-zones-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.hr-zones-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.hr-zones-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.hr-zones-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.hr-z-badge { display:inline-block; padding:3px 8px; border-radius:4px; font-weight:700; font-size:.8rem; font-family:var(--font-mono,monospace); }
.hr-z1 { background:#f1f5f9; color:#475569; }
.hr-z2 { background:#dcfce7; color:#15803d; font-weight:800; }
.hr-z3 { background:#fef9c3; color:#854d0e; }
.hr-z4 { background:#ffedd5; color:#c2410c; }
.hr-z5 { background:#fee2e2; color:#b91c1c; }
.hr-bpm-range { font-weight:800; font-family:var(--font-mono,monospace); font-size:1.05rem; color:var(--ink,#0f172a); }
.hr-comp-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-block:14px; }
.hr-comp-card { padding:12px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; }
.hr-comp-title { font-size:.78rem; font-weight:700; text-transform:uppercase; color:var(--muted,#64748b); }
.hr-comp-val { font-size:1.3rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:2px; }
.hr-comp-sub { font-size:.75rem; color:var(--muted,#64748b); }
@media(max-width:768px) {
  .hr-summary-grid { grid-template-columns:minmax(0,1fr); }
  .hr-comp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Steps to Calories Calculator styles */
.steps-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.steps-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.steps-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.steps-calories-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#ea580c; line-height:1; }
.steps-activity-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#ffedd5; color:#c2410c; font-weight:700; font-size:.85rem; }
.steps-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.steps-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.steps-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.steps-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.steps-summary-val { font-size:1.4rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.steps-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.steps-eq-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-block:14px; }
.steps-eq-card { padding:12px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; text-align:center; }
.steps-eq-icon { font-size:1.5rem; margin-block-end:4px; }
.steps-eq-val { font-size:1.1rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.steps-eq-name { font-size:.75rem; color:var(--muted,#64748b); }
.steps-milestones-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.steps-milestones-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.steps-milestones-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.steps-milestones-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.steps-ms-number { font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.steps-ms-cal { font-weight:800; font-family:var(--font-mono,monospace); color:#ea580c; }
@media(max-width:768px) {
  .steps-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .steps-eq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .steps-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* Walking Calorie Calculator styles */
.walking-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.walking-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.walking-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.walking-calories-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0284c7; line-height:1; }
.walking-met-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#e0f2fe; color:#0369a1; font-weight:700; font-size:.85rem; }
.walking-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.walking-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.walking-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.walking-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.walking-summary-val { font-size:1.4rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.walking-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.walking-grade-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.walking-grade-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.walking-grade-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.walking-grade-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.walking-grade-badge { display:inline-block; padding:3px 8px; border-radius:4px; font-weight:700; font-size:.8rem; font-family:var(--font-mono,monospace); background:#f1f5f9; color:#475569; }
.walking-grade-highlight { background:#eff6ff; font-weight:700; }
.walking-mult-badge { display:inline-block; padding:2px 6px; border-radius:4px; font-weight:700; font-size:.78rem; background:#dbeafe; color:#1d4ed8; font-family:var(--font-mono,monospace); }
@media(max-width:768px) {
  .walking-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .walking-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* VO2 Max Calculator styles */
.vo2-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.vo2-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.vo2-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.vo2-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#059669; line-height:1; }
.vo2-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#dcfce7; color:#15803d; font-weight:700; font-size:.85rem; }
.vo2-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.vo2-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.vo2-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.vo2-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.vo2-summary-val { font-size:1.4rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.vo2-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.vo2-norms-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.vo2-norms-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.vo2-norms-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.vo2-norms-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.vo2-tier-badge { display:inline-block; padding:3px 8px; border-radius:4px; font-weight:700; font-size:.8rem; font-family:var(--font-mono,monospace); }
.vo2-tier-superior { background:#dcfce7; color:#15803d; }
.vo2-tier-excellent { background:#e0f2fe; color:#0369a1; }
.vo2-tier-good { background:#fef9c3; color:#854d0e; }
.vo2-tier-fair { background:#ffedd5; color:#c2410c; }
.vo2-tier-poor { background:#fee2e2; color:#b91c1c; }
@media(max-width:768px) {
  .vo2-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .vo2-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* BMI Calculator styles */
.bmi-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.bmi-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.bmi-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.bmi-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#2563eb; line-height:1; }
.bmi-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#dbeafe; color:#1e40af; font-weight:700; font-size:.85rem; }
.bmi-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.bmi-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.bmi-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.bmi-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.bmi-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.bmi-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.bmi-lifter-box { margin-block:16px; padding:16px 20px; background:#fffbeb; border:1px solid #fef3c7; border-inline-start:4px solid #f59e0b; border-radius:8px; }
.bmi-lifter-title { font-weight:800; font-size:.95rem; color:#92400e; margin-block-end:6px; display:flex; align-items:center; gap:8px; }
.bmi-lifter-text { font-size:.9rem; color:#78350f; line-height:1.5; margin:0; }
.bmi-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.bmi-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.bmi-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.bmi-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.bmi-cat-badge { display:inline-block; padding:3px 8px; border-radius:4px; font-weight:700; font-size:.8rem; font-family:var(--font-mono,monospace); }
.bmi-cat-normal { background:#dcfce7; color:#15803d; }
.bmi-cat-overweight { background:#fef9c3; color:#854d0e; }
.bmi-cat-obese { background:#fee2e2; color:#b91c1c; }
.bmi-cat-underweight { background:#e0f2fe; color:#0369a1; }
@media(max-width:768px) {
  .bmi-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .bmi-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* Running Pace Calculator styles */
.pace-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.pace-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.pace-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.pace-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0284c7; line-height:1; }
.pace-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#e0f2fe; color:#0369a1; font-weight:700; font-size:.85rem; }
.pace-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.pace-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.pace-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.pace-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.pace-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.pace-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.pace-weather-box { margin-block:16px; padding:16px 20px; background:#fff7ed; border:1px solid #ffedd5; border-inline-start:4px solid #ea580c; border-radius:8px; }
.pace-weather-title { font-weight:800; font-size:.95rem; color:#9a3412; margin-block-end:6px; display:flex; align-items:center; gap:8px; }
.pace-weather-text { font-size:.9rem; color:#7c2d12; line-height:1.5; margin:0; }
.pace-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.pace-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.pace-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.pace-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.pace-lap-badge { display:inline-block; padding:3px 8px; border-radius:4px; font-weight:700; font-size:.8rem; font-family:var(--font-mono,monospace); background:#f1f5f9; color:#334155; }
@media(max-width:768px) {
  .pace-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .pace-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* Wilks Calculator styles */
.wilks-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.wilks-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.wilks-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.wilks-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#2563eb; line-height:1; }
.wilks-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#dbeafe; color:#1d4ed8; font-weight:700; font-size:.85rem; }
.wilks-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.wilks-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.wilks-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.wilks-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.wilks-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.wilks-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.wilks-age-box { margin-block:16px; padding:16px 20px; background:#eff6ff; border:1px solid #dbeafe; border-inline-start:4px solid #2563eb; border-radius:8px; }
.wilks-age-title { font-weight:800; font-size:.95rem; color:#1e40af; margin-block-end:6px; display:flex; align-items:center; gap:8px; }
.wilks-age-text { font-size:.9rem; color:#1e3a8a; line-height:1.5; margin:0; }
.wilks-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.wilks-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.wilks-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.wilks-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
@media(max-width:768px) {
  .wilks-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .wilks-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* DOTS Calculator styles */
.dots-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.dots-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.dots-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.dots-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#7c3aed; line-height:1; }
.dots-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#ede9fe; color:#6d28d9; font-weight:700; font-size:.85rem; }
.dots-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.dots-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.dots-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.dots-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.dots-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.dots-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.dots-target-box { margin-block:16px; padding:16px 20px; background:#faf5ff; border:1px solid #ede9fe; border-inline-start:4px solid #7c3aed; border-radius:8px; }
.dots-target-title { font-weight:800; font-size:.95rem; color:#6b21a8; margin-block-end:6px; display:flex; align-items:center; gap:8px; }
.dots-target-text { font-size:.9rem; color:#581c87; line-height:1.5; margin:0; }
.dots-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.dots-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.dots-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.dots-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
@media(max-width:768px) {
  .dots-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .dots-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* Warm-Up Set Calculator styles */
.warmup-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.warmup-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.warmup-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.warmup-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#d97706; line-height:1; }
.warmup-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#fef3c7; color:#b45309; font-weight:700; font-size:.85rem; }
.warmup-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.warmup-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.warmup-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.warmup-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.warmup-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.warmup-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.warmup-work-card { margin-block:18px; padding:18px 20px; background:#fffbeb; border:1px solid #fef3c7; border-inline-start:5px solid #d97706; border-radius:10px; }
.warmup-work-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-block-end:8px; }
.warmup-work-title { font-weight:800; font-size:1.15rem; color:#92400e; margin:0; }
.warmup-work-tag { padding:3px 8px; border-radius:4px; background:#fde68a; color:#78350f; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.warmup-work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block-start:10px; }
.warmup-work-item { font-size:.92rem; color:#78350f; }
.warmup-work-item strong { display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:#b45309; margin-block-end:2px; }

.warmup-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.warmup-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.warmup-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); white-space:nowrap; }
.warmup-table td { padding:12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.warmup-set-pill { display:inline-block; padding:3px 8px; border-radius:4px; font-weight:700; font-size:.8rem; background:#f1f5f9; color:#334155; white-space:nowrap; }
.warmup-weight-badge { display:inline-block; font-family:var(--font-mono,monospace); font-weight:800; font-size:1.05rem; color:#0f172a; white-space:nowrap; }
.warmup-plates-pill { display:inline-block; padding:3px 8px; border-radius:6px; background:#fef3c7; color:#92400e; font-weight:700; font-size:.82rem; font-family:var(--font-mono,monospace); white-space:nowrap; }
.warmup-cue-cell { font-size:.88rem; color:#475569; line-height:1.45; }
.warmup-cue-cell strong { color:#0f172a; }

@media(max-width:768px) {
  .warmup-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .warmup-work-grid { grid-template-columns:minmax(0,1fr); gap:8px; }
}
@media(max-width:480px) {
  .warmup-summary-grid { grid-template-columns:minmax(0,1fr); }
}

/* Training Volume Calculator styles */
.volume-tabs { display:flex; gap:8px; margin-block-end:18px; border-bottom:2px solid var(--line,#e2e8f0); padding-bottom:4px; }
.volume-tab-btn { padding:10px 18px; border-radius:8px 8px 0 0; border:none; background:transparent; font-weight:700; font-size:.92rem; color:var(--muted,#64748b); cursor:pointer; transition:all .15s ease; }
.volume-tab-btn:hover { color:var(--ink,#0f172a); background:var(--surface-subtle,#f8fafc); }
.volume-tab-btn.active { color:#4338ca; background:#e0e7ff; border-bottom:3px solid #4f46e5; }
.volume-panel[hidden] { display:none; }

.volume-result-box { margin-block:16px 20px; padding:22px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.volume-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.volume-hero-score { display:flex; align-items:baseline; gap:14px; margin-block-end:8px; flex-wrap:wrap; }
.volume-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#4338ca; line-height:1; }

.volume-tier-badge { display:inline-block; padding:4px 12px; border-radius:6px; font-weight:700; font-size:.88rem; }
.volume-badge-mav { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.volume-badge-mev { background:#e0f2fe; color:#0369a1; border:1px solid #bae6fd; }
.volume-badge-high { background:#fef3c7; color:#92400e; border:1px solid #fde68a; }
.volume-badge-mv { background:#f1f5f9; color:#334155; border:1px solid #cbd5e1; }
.volume-badge-under { background:#ffe4e6; color:#9f1239; border:1px solid #fecdd3; }
.volume-badge-mrv { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }

.volume-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:16px; }

.volume-meter-wrapper { margin-block:16px 14px; }
.volume-meter-track { height:12px; border-radius:6px; background:#e2e8f0; position:relative; overflow:hidden; }
.volume-meter-fill { height:100%; border-radius:6px; transition:width .3s ease; }
.volume-meter-fill.volume-badge-mav { background:#10b981; }
.volume-meter-fill.volume-badge-mev { background:#0284c7; }
.volume-meter-fill.volume-badge-high { background:#f59e0b; }
.volume-meter-fill.volume-badge-mv { background:#64748b; }
.volume-meter-fill.volume-badge-under { background:#f43f5e; }
.volume-meter-fill.volume-badge-mrv { background:#ef4444; }

.volume-landmarks-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-block:14px; }
.volume-landmark-card { padding:10px 12px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; text-align:center; }
.volume-landmark-name { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.volume-landmark-val { font-size:1.15rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:2px; }
.volume-landmark-sub { font-size:.72rem; color:var(--muted,#64748b); }

.volume-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.volume-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.volume-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.volume-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.volume-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.volume-tonnage-table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-block:16px; }
.volume-tonnage-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.volume-tonnage-table th { text-align:left; padding:10px 12px; background:var(--surface-subtle,#f8fafc); border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.volume-tonnage-table td { padding:10px 12px; border-bottom:1px solid var(--line,#e2e8f0); }
.volume-tonnage-pct { display:inline-block; padding:2px 7px; border-radius:4px; background:#e0e7ff; color:#3730a3; font-weight:700; font-size:.8rem; font-family:var(--font-mono,monospace); }

.volume-set-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-block-end:10px; align-items:end; }

@media(max-width:768px) {
  .volume-landmarks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .volume-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .volume-set-row { grid-template-columns:1fr 1fr 1fr; }
}
@media(max-width:480px) {
  .volume-summary-grid { grid-template-columns:minmax(0,1fr); }
  .volume-set-row { grid-template-columns:1fr; }
}

/* Workout Split Finder styles */
.split-result-box { margin-block:16px 20px; padding:22px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.split-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.split-hero-header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-block-end:8px; flex-wrap:wrap; }
.split-hero-title { font-size:2.2rem; font-weight:800; color:#0f766e; line-height:1.15; margin:0; }
.split-match-badge { display:inline-block; padding:4px 12px; border-radius:6px; background:#ccfbf1; color:#0f766e; font-weight:700; font-size:.9rem; }

.split-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.split-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.split-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.split-summary-val { font-size:1.25rem; font-weight:800; color:var(--ink,#0f172a); margin-block:4px; }
.split-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.split-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin-block:18px; }
.split-day-card { padding:10px 8px; border-radius:8px; border:1px solid var(--line,#e2e8f0); display:flex; flex-direction:column; min-height:120px; }
.split-day-workout { background:#f0fdfa; border-color:#99f6e4; }
.split-day-rest { background:#f8fafc; border-color:#e2e8f0; opacity:.85; }
.split-day-header { display:flex; justify-content:space-between; align-items:center; margin-block-end:6px; }
.split-day-name { font-weight:700; font-size:.75rem; text-transform:uppercase; letter-spacing:.03em; color:var(--muted,#64748b); }
.split-day-badge { font-size:.68rem; font-weight:700; padding:2px 5px; border-radius:4px; }
.badge-workout { background:#ccfbf1; color:#0f766e; }
.badge-rest { background:#e2e8f0; color:#475569; }
.split-day-label { font-weight:800; font-size:.88rem; color:var(--ink,#0f172a); margin-block-end:4px; }
.split-day-focus { font-size:.75rem; color:#475569; line-height:1.35; flex-grow:1; }

.split-pros-cons-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-block:16px; }
.split-pros-card { padding:14px 18px; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:10px; }
.split-cons-card { padding:14px 18px; background:#fff1f2; border:1px solid #fecdd3; border-radius:10px; }
.split-pros-card h4, .split-cons-card h4 { margin:0 0 8px 0; font-size:.92rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.split-pros-card h4 { color:#166534; }
.split-cons-card h4 { color:#9f1239; }
.split-pros-card ul, .split-cons-card ul { margin:0; padding-inline-start:18px; font-size:.88rem; line-height:1.5; color:#334155; }

.split-alt-card { margin-block-start:16px; padding:16px 18px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.split-alt-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.split-alt-title { font-size:1.1rem; font-weight:800; color:var(--ink,#0f172a); margin-block:2px 4px; }
.split-alt-desc { font-size:.88rem; color:#475569; margin:0 0 4px 0; }
.split-alt-freq { font-size:.82rem; font-weight:700; color:#0f766e; }

@media(max-width:1024px) {
  .split-calendar-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:768px) {
  .split-calendar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .split-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .split-pros-cons-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .split-calendar-grid { grid-template-columns:minmax(0,1fr); }
  .split-summary-grid { grid-template-columns:minmax(0,1fr); }
  .split-hero-title { font-size:1.7rem; }
}

/* Rest Timer & Interval Styles */
.timer-tabs { display:flex; gap:8px; margin-block-end:20px; border-bottom:2px solid var(--line,#e2e8f0); padding-bottom:8px; flex-wrap:wrap; }
.timer-tab-btn { padding:10px 18px; border-radius:8px; font-weight:700; font-size:.92rem; border:none; background:transparent; color:var(--muted,#64748b); cursor:pointer; transition:all .15s ease; }
.timer-tab-btn:hover { background:var(--surface-subtle,#f8fafc); color:var(--ink,#0f172a); }
.timer-tab-btn.active { background:#0f766e; color:#fff; }

.timer-display-box { padding:28px 20px; background:var(--surface-subtle,#f8fafc); border:2px solid var(--line,#e2e8f0); border-radius:16px; text-align:center; margin-block:16px 20px; }
.timer-digits { font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace); font-size:4rem; font-weight:800; color:#0f766e; line-height:1; letter-spacing:-.02em; margin-block:8px 12px; }
.timer-status-text { font-size:1.05rem; font-weight:700; color:var(--muted,#64748b); text-transform:uppercase; letter-spacing:.05em; }

.timer-progress-track { width:100%; height:10px; background:var(--line,#e2e8f0); border-radius:6px; overflow:hidden; margin-block:14px 18px; }
.timer-progress-fill { height:100%; background:linear-gradient(90deg,#0d9488,#0f766e); width:100%; transition:width 1s linear; }

.timer-controls { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-block:12px; }
.timer-btn-primary { padding:12px 28px; font-size:1.1rem; font-weight:800; border-radius:10px; border:none; background:#0f766e; color:#fff; cursor:pointer; transition:background .15s ease; }
.timer-btn-primary:hover { background:#115e59; }
.timer-btn-secondary { padding:12px 20px; font-size:1rem; font-weight:700; border-radius:10px; border:1px solid var(--line,#cbd5e1); background:var(--surface,#fff); color:var(--ink,#0f172a); cursor:pointer; }
.timer-btn-secondary:hover { background:var(--surface-subtle,#f1f5f9); }
.timer-btn-adj { padding:8px 14px; font-size:.85rem; font-weight:700; border-radius:8px; border:1px solid #cbd5e1; background:var(--surface,#fff); color:#475569; cursor:pointer; }
.timer-btn-adj:hover { background:#e2e8f0; }

.timer-presets-row { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-block:14px; }
.timer-preset-pill { padding:8px 14px; border-radius:8px; border:1px solid var(--line,#cbd5e1); background:var(--surface,#fff); font-weight:700; font-size:.88rem; color:var(--ink,#0f172a); cursor:pointer; }
.timer-preset-pill:hover { border-color:#0f766e; color:#0f766e; }
.timer-preset-pill.active { background:#ccfbf1; border-color:#0f766e; color:#0f766e; }

.timer-rec-card { padding:18px 20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; margin-block:18px; }
.timer-rec-header { display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; }
.timer-rec-hero { font-size:2rem; font-weight:800; color:#0f766e; }
.timer-rec-atp { padding:4px 10px; border-radius:6px; background:#e0f2fe; color:#0369a1; font-weight:700; font-size:.82rem; }
.timer-rec-title { font-size:1.1rem; font-weight:800; color:var(--ink,#0f172a); margin-block:4px 2px; }
.timer-rec-range { font-size:.85rem; color:var(--muted,#64748b); font-weight:600; margin-block-end:8px; }
.timer-rec-rationale { font-size:.9rem; line-height:1.55; color:#334155; margin:0 0 12px 0; }

.timer-phase-badge { display:inline-block; padding:6px 14px; border-radius:6px; font-weight:800; font-size:.95rem; text-transform:uppercase; letter-spacing:.05em; margin-block-end:8px; }
.badge-work { background:#dcfce7; color:#166534; }
.badge-rest { background:#fef3c7; color:#92400e; }
.badge-finish { background:#e0e7ff; color:#3730a3; }

.timer-round-text { font-size:1.25rem; font-weight:800; color:var(--ink,#0f172a); margin-block-end:4px; }

@media(max-width:480px) {
  .timer-digits { font-size:2.8rem; }
  .timer-btn-primary { width:100%; }
}

/* Army Body Fat Calculator (AR 600-9 ABCP Standard) */
.abcp-result-box { margin-block:16px 20px; padding:22px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.abcp-status-banner { padding:12px 16px; border-radius:8px; font-weight:800; font-size:1.05rem; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-block-end:16px; }
.abcp-status-pass { background:#dcfce7; border:1px solid #86efac; color:#166534; }
.abcp-status-fail { background:#fee2e2; border:1px solid #fca5a5; color:#991b1b; }
.abcp-hero-header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-block-end:12px; flex-wrap:wrap; }
.abcp-hero-val { font-size:2.8rem; font-weight:800; color:#0f766e; line-height:1; }
.abcp-hero-sub { font-size:1rem; font-weight:700; color:var(--muted,#64748b); }
.abcp-badges-row { display:flex; gap:8px; flex-wrap:wrap; margin-block:8px 14px; }
.abcp-badge { display:inline-block; padding:4px 10px; border-radius:6px; font-weight:700; font-size:.85rem; }
.badge-standard { background:#f1f5f9; color:#334155; border:1px solid #cbd5e1; }
.badge-margin-pass { background:#ccfbf1; color:#0f766e; }
.badge-margin-fail { background:#fef2f2; color:#b91c1c; }

.abcp-metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.abcp-metric-card { padding:12px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; text-align:center; }
.abcp-metric-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.abcp-metric-val { font-size:1.25rem; font-weight:800; color:var(--ink,#0f172a); margin-block:4px; }

.abcp-notice-card { margin-block-start:14px; padding:12px 16px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:8px; font-size:.88rem; line-height:1.5; color:#1e40af; }
.abcp-notice-card strong { color:#1e3a8a; }

@media(max-width:768px) {
  .abcp-metrics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .abcp-metrics-grid { grid-template-columns:minmax(0,1fr); }
  .abcp-hero-val { font-size:2.2rem; }
}

/* Army Fitness Test Calculator (AFT / ACFT Standard) */
.aft-result-box { margin-block:16px 20px; padding:22px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.aft-status-banner { padding:12px 16px; border-radius:8px; font-weight:800; font-size:1.05rem; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-block-end:16px; }
.aft-status-pass { background:#dcfce7; border:1px solid #86efac; color:#166534; }
.aft-status-fail { background:#fee2e2; border:1px solid #fca5a5; color:#991b1b; }
.aft-hero-header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-block-end:12px; flex-wrap:wrap; }
.aft-hero-val { font-size:3rem; font-weight:800; color:#0f766e; line-height:1; }
.aft-hero-sub { font-size:1rem; font-weight:700; color:var(--muted,#64748b); }

.aft-events-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-block:16px; }
.aft-event-card { padding:12px 10px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; text-align:center; }
.aft-event-title { font-size:.78rem; font-weight:700; color:var(--ink,#0f172a); margin-block-end:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.aft-event-score { font-size:1.35rem; font-weight:800; color:#0f766e; margin-block:2px 6px; }
.aft-event-badge { display:inline-block; padding:3px 8px; border-radius:4px; font-weight:700; font-size:.75rem; text-transform:uppercase; letter-spacing:.03em; }
.aft-event-badge.badge-pass { background:#dcfce7; color:#166534; }
.aft-event-badge.badge-fail { background:#fee2e2; color:#991b1b; }

.aft-metrics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.aft-metric-card { padding:12px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; text-align:center; }
.aft-metric-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.aft-metric-val { font-size:1.2rem; font-weight:800; color:var(--ink,#0f172a); margin-block:4px; }

.aft-notice-card { margin-block-start:14px; padding:12px 16px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:8px; font-size:.88rem; line-height:1.5; color:#1e40af; }
.aft-notice-card strong { color:#1e3a8a; }

.aft-time-inputs { display:flex; align-items:center; gap:6px; }
.aft-time-inputs input { width:80px; text-align:center; }
.aft-time-colon { font-size:1.2rem; font-weight:700; color:var(--muted,#64748b); }

@media(max-width:900px) {
  .aft-events-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .aft-events-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aft-metrics-grid { grid-template-columns:minmax(0,1fr); }
  .aft-hero-val { font-size:2.4rem; }
}
@media(max-width:400px) {
  .aft-events-summary { grid-template-columns:minmax(0,1fr); }
}

.aft-profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.aft-profile-grid .tool-field { min-width:0; width:100%; }
.aft-inputs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.aft-alt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.aft-tool-box select { width:100%; max-width:100%; min-width:0; text-overflow:ellipsis; box-sizing:border-box; }
.aft-tool-box input { max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .aft-profile-grid { grid-template-columns:minmax(0,1fr); }
  .aft-inputs-grid { grid-template-columns:minmax(0,1fr); }
  .aft-alt-grid { grid-template-columns:minmax(0,1fr); }
}

/* IPF GL Points Calculator styles */
.ipf-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.ipf-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.ipf-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.ipf-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0d9488; line-height:1; }
.ipf-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#ccfbf1; color:#0f766e; font-weight:700; font-size:.85rem; }
.ipf-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.ipf-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.ipf-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.ipf-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.ipf-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.ipf-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }
.ipf-target-box { margin-block:16px; padding:16px 20px; background:#f0fdfa; border:1px solid #ccfbf1; border-inline-start:4px solid #0d9488; border-radius:8px; }
.ipf-target-title { font-weight:800; font-size:.95rem; color:#0f766e; margin-block-end:6px; display:flex; align-items:center; gap:8px; }
.ipf-target-text { font-size:.9rem; color:#115e59; line-height:1.5; margin:0; }

.ipf-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ipf-form-grid .tool-field { min-width:0; width:100%; }
.ipf-tool-box select, .ipf-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .ipf-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ipf-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .ipf-summary-grid { grid-template-columns:minmax(0,1fr); }
  .ipf-number { font-size:2.2rem; }
}

/* Carb Calculator styles */
.carb-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.carb-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.carb-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.carb-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#d97706; line-height:1; }
.carb-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#fef3c7; color:#92400e; font-weight:700; font-size:.85rem; }
.carb-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.carb-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.carb-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.carb-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.carb-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.carb-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.carb-meal-section { margin-block:18px 12px; }
.carb-meal-title { font-size:.95rem; font-weight:800; color:var(--ink,#0f172a); margin-block-end:8px; }
.carb-meal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.carb-meal-card { padding:12px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:8px; text-align:center; }
.carb-meal-num { display:block; font-size:.75rem; font-weight:700; color:var(--muted,#64748b); text-transform:uppercase; margin-block-end:2px; }
.carb-meal-grams { display:block; font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:#d97706; }
.carb-meal-kcal { display:block; font-size:.8rem; color:var(--muted,#64748b); }

.carb-target-box { margin-block:16px; padding:16px 20px; background:#fffbeb; border:1px solid #fef3c7; border-inline-start:4px solid #d97706; border-radius:8px; }
.carb-target-title { font-weight:800; font-size:.95rem; color:#92400e; margin-block-end:6px; display:flex; align-items:center; gap:8px; }
.carb-target-text { font-size:.9rem; color:#78350f; line-height:1.5; margin:0; }

.carb-protocol-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-block-start:8px; }
.carb-protocol-item { padding:10px 14px; background:#ffffff; border:1px solid #fde68a; border-radius:6px; }
.carb-proto-stage { display:block; font-size:.75rem; font-weight:700; text-transform:uppercase; color:#92400e; margin-block-end:2px; }
.carb-proto-desc { display:block; font-size:.82rem; color:#78350f; margin-block-start:2px; }

.carb-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.carb-form-grid .tool-field { min-width:0; width:100%; }
.carb-tool-box select, .carb-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .carb-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .carb-meal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .carb-protocol-grid { grid-template-columns:minmax(0,1fr); }
  .carb-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .carb-summary-grid { grid-template-columns:minmax(0,1fr); }
  .carb-meal-grid { grid-template-columns:minmax(0,1fr); }
  .carb-number { font-size:2.2rem; }
}






/* Fat Intake Calculator styles */
.fat-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.fat-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.fat-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.fat-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0284c7; line-height:1; }
.fat-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#e0f2fe; color:#0369a1; font-weight:700; font-size:.85rem; }
.fat-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.fat-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-block:14px; }
.fat-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.fat-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.fat-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.fat-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.fat-meal-section { margin-block:18px 12px; }
.fat-meal-title { font-size:.95rem; font-weight:800; color:var(--ink,#0f172a); margin-block-end:8px; }
.fat-meal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.fat-meal-card { padding:12px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:8px; text-align:center; }
.fat-meal-num { display:block; font-size:.75rem; font-weight:700; color:var(--muted,#64748b); text-transform:uppercase; margin-block-end:2px; }
.fat-meal-grams { display:block; font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0284c7; }
.fat-meal-kcal { display:block; font-size:.8rem; color:var(--muted,#64748b); }

.fat-subtypes-box { margin-block:16px 12px; }
.fat-subtypes-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-block-start:8px; }
.fat-subtype-item { padding:12px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; display:flex; flex-direction:column; gap:3px; }
.fat-subtype-name { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.fat-subtype-item strong { font-size:1.15rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0284c7; }
.fat-subtype-desc { font-size:.82rem; color:var(--muted,#64748b); line-height:1.4; }

.fat-floor-alert { margin-block:16px; padding:14px 18px; background:#fef2f2; border:1px solid #fecaca; border-inline-start:4px solid #ef4444; border-radius:8px; font-size:.88rem; color:#991b1b; line-height:1.5; }
.fat-floor-alert strong { color:#7f1d1d; }

.fat-target-box { margin-block:16px; padding:16px 20px; background:#f0f9ff; border:1px solid #e0f2fe; border-inline-start:4px solid #0284c7; border-radius:8px; }
.fat-target-title { font-weight:800; font-size:.95rem; color:#0369a1; margin-block-end:6px; display:flex; align-items:center; gap:8px; }
.fat-target-text { font-size:.9rem; color:#075985; line-height:1.5; margin:0; }

.fat-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fat-form-grid .tool-field { min-width:0; width:100%; }
.fat-tool-box select, .fat-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .fat-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fat-meal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fat-subtypes-grid { grid-template-columns:minmax(0,1fr); }
  .fat-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .fat-summary-grid { grid-template-columns:minmax(0,1fr); }
  .fat-meal-grid { grid-template-columns:minmax(0,1fr); }
  .fat-number { font-size:2.2rem; }
}

/* Ideal Weight Calculator styles */
.ibw-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.ibw-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.ibw-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.ibw-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#2563eb; line-height:1; }
.ibw-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#dbeafe; color:#1d4ed8; font-weight:700; font-size:.85rem; }
.ibw-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.ibw-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.ibw-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.ibw-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.ibw-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.ibw-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.ibw-formula-section { margin-block:18px 12px; }
.ibw-formula-title { font-size:.95rem; font-weight:800; color:var(--ink,#0f172a); margin-block-end:8px; }
.ibw-formula-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ibw-formula-card { padding:14px 16px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:8px; display:flex; flex-direction:column; gap:4px; }
.ibw-formula-name { font-size:.8rem; font-weight:700; color:var(--muted,#64748b); text-transform:uppercase; letter-spacing:.05em; }
.ibw-formula-val { font-size:1.3rem; font-weight:800; font-family:var(--font-mono,monospace); color:#2563eb; }
.ibw-formula-desc { font-size:.82rem; color:var(--muted,#64748b); line-height:1.4; }

.ibw-alert { margin-block:16px; padding:14px 18px; background:#eff6ff; border:1px solid #bfdbfe; border-inline-start:4px solid #2563eb; border-radius:8px; font-size:.88rem; color:#1e40af; line-height:1.5; }
.ibw-alert strong { color:#1e3a8a; }

.ibw-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ibw-height-dual { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ibw-form-grid .tool-field { min-width:0; width:100%; }
.ibw-tool-box select, .ibw-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .ibw-summary-grid { grid-template-columns:minmax(0,1fr); }
  .ibw-formula-grid { grid-template-columns:minmax(0,1fr); }
  .ibw-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .ibw-number { font-size:2.2rem; }
}

/* Lean Body Mass Calculator styles */
.lbm-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.lbm-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.lbm-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.lbm-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#2563eb; line-height:1; }
.lbm-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#dbeafe; color:#1d4ed8; font-weight:700; font-size:.85rem; }
.lbm-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }
.lbm-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-block:14px; }
.lbm-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.lbm-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.lbm-summary-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.lbm-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.lbm-formula-section { margin-block:18px 12px; }
.lbm-formula-title { font-size:.95rem; font-weight:800; color:var(--ink,#0f172a); margin-block-end:8px; }
.lbm-formula-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.lbm-formula-card { padding:14px 16px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:8px; display:flex; flex-direction:column; gap:4px; }
.lbm-formula-name { font-size:.8rem; font-weight:700; color:var(--muted,#64748b); text-transform:uppercase; letter-spacing:.05em; }
.lbm-formula-val { font-size:1.3rem; font-weight:800; font-family:var(--font-mono,monospace); color:#2563eb; }
.lbm-formula-desc { font-size:.82rem; color:var(--muted,#64748b); line-height:1.4; }

.lbm-protein-section { margin-block:18px 12px; }
.lbm-protein-title { font-size:.95rem; font-weight:800; color:var(--ink,#0f172a); margin-block-end:8px; }
.lbm-protein-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.lbm-protein-card { padding:14px 16px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:8px; display:flex; flex-direction:column; gap:4px; }
.lbm-protein-label { font-size:.8rem; font-weight:700; color:var(--muted,#64748b); text-transform:uppercase; letter-spacing:.05em; }
.lbm-protein-val { font-size:1.3rem; font-weight:800; font-family:var(--font-mono,monospace); color:#16a34a; }
.lbm-protein-desc { font-size:.82rem; color:var(--muted,#64748b); line-height:1.4; }

.lbm-alert { margin-block:16px; padding:14px 18px; background:#eff6ff; border:1px solid #bfdbfe; border-inline-start:4px solid #2563eb; border-radius:8px; font-size:.88rem; color:#1e40af; line-height:1.5; }
.lbm-alert strong { color:#1e3a8a; }

.lbm-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.lbm-height-dual { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.lbm-form-grid .tool-field { min-width:0; width:100%; }
.lbm-tool-box select, .lbm-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .lbm-summary-grid { grid-template-columns:minmax(0,1fr); }
  .lbm-formula-grid { grid-template-columns:minmax(0,1fr); }
  .lbm-protein-grid { grid-template-columns:minmax(0,1fr); }
  .lbm-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .lbm-number { font-size:2.2rem; }
}

.lbm-tool-box, .lbm-result-box { max-width:100%; min-width:0; box-sizing:border-box; }
.lbm-hero-score { max-width:100%; min-width:0; }
.lbm-badge { max-width:100%; word-break:break-word; white-space:normal; }
.lbm-summary-grid, .lbm-formula-grid, .lbm-protein-grid { min-width:0; width:100%; }
.lbm-summary-card, .lbm-formula-card, .lbm-protein-card { min-width:0; box-sizing:border-box; word-break:break-word; }
.lifting-tool-page code { word-break: break-word; overflow-wrap: break-word; }

/* Body Recomposition Calculator styles */
.recomp-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.recomp-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.recomp-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.recomp-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#2563eb; line-height:1; }
.recomp-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#dbeafe; color:#1d4ed8; font-weight:700; font-size:.85rem; }
.recomp-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }

.recomp-macros-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.recomp-macro-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; display:flex; flex-direction:column; gap:4px; }
.recomp-macro-name { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.recomp-macro-val { font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.recomp-macro-sub { font-size:.82rem; color:var(--muted,#64748b); }

.recomp-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-block:14px; }
.recomp-summary-card { padding:14px 16px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.recomp-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.recomp-summary-val { font-size:1.2rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); margin-block:4px; }
.recomp-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.recomp-cycling-card { padding:14px 18px; margin-block:12px; background:#f0fdf4; border:1px solid #bbf7d0; border-inline-start:4px solid #16a34a; border-radius:8px; }
.recomp-cycling-label { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#15803d; }
.recomp-cycling-val { font-size:1.2rem; font-weight:800; font-family:var(--font-mono,monospace); color:#166534; margin-block:4px; }
.recomp-cycling-sub { font-size:.84rem; color:#166534; line-height:1.4; }

.recomp-meal-card { padding:14px 18px; margin-block:12px; background:#eff6ff; border:1px solid #bfdbfe; border-inline-start:4px solid #2563eb; border-radius:8px; }
.recomp-meal-label { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#1d4ed8; }
.recomp-meal-val { font-size:1.05rem; font-weight:700; color:#1e40af; margin-block:4px; }
.recomp-meal-sub { font-size:.84rem; color:#1e40af; line-height:1.4; }

.recomp-alert { margin-block:16px; padding:14px 18px; background:#fefce8; border:1px solid #fef08a; border-inline-start:4px solid #ca8a04; border-radius:8px; font-size:.88rem; color:#854d0e; line-height:1.5; }
.recomp-alert strong { color:#713f12; }

.recomp-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.recomp-height-dual { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.recomp-form-grid .tool-field { min-width:0; width:100%; }
.recomp-tool-box select, .recomp-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .recomp-macros-grid { grid-template-columns:minmax(0,1fr); }
  .recomp-summary-grid { grid-template-columns:minmax(0,1fr); }
  .recomp-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .recomp-number { font-size:2.2rem; }
}

.recomp-tool-box, .recomp-result-box { max-width:100%; min-width:0; box-sizing:border-box; }
.recomp-hero-score { max-width:100%; min-width:0; }
.recomp-badge { max-width:100%; word-break:break-word; white-space:normal; }
.recomp-macros-grid, .recomp-summary-grid { min-width:0; width:100%; }
.recomp-macro-card, .recomp-summary-card { min-width:0; box-sizing:border-box; word-break:break-word; }

/* 12-3-30 Calorie Calculator styles */
.cal12330-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.cal12330-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.cal12330-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.cal12330-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#2563eb; line-height:1; }
.cal12330-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#dbeafe; color:#1d4ed8; font-weight:700; font-size:.85rem; }
.cal12330-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }

.cal12330-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.cal12330-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; display:flex; flex-direction:column; gap:4px; }
.cal12330-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.cal12330-summary-val { font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.cal12330-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.cal12330-highlight-box { padding:14px 18px; margin-block:12px; background:#f0fdf4; border:1px solid #bbf7d0; border-inline-start:4px solid #16a34a; border-radius:8px; }
.cal12330-highlight-label { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#15803d; }
.cal12330-highlight-val { font-size:1.2rem; font-weight:800; font-family:var(--font-mono,monospace); color:#166534; margin-block:4px; }
.cal12330-highlight-sub { font-size:.84rem; color:#166534; line-height:1.4; }

.cal12330-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cal12330-form-grid .tool-field { min-width:0; width:100%; }
.cal12330-tool-box select, .cal12330-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .cal12330-summary-grid { grid-template-columns:minmax(0,1fr); }
  .cal12330-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .cal12330-number { font-size:2.2rem; }
}

.cal12330-tool-box, .cal12330-result-box { max-width:100%; min-width:0; box-sizing:border-box; }
.cal12330-hero-score { max-width:100%; min-width:0; }
.cal12330-badge { max-width:100%; word-break:break-word; white-space:normal; }
.cal12330-summary-grid { min-width:0; width:100%; }
.cal12330-summary-card { min-width:0; box-sizing:border-box; word-break:break-word; }

/* Water Intake Calculator styles */
.water-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.water-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.water-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.water-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0284c7; line-height:1; }
.water-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#e0f2fe; color:#0369a1; font-weight:700; font-size:.85rem; }
.water-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }

.water-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.water-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; display:flex; flex-direction:column; gap:4px; }
.water-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.water-summary-val { font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.water-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.water-highlight-box { padding:14px 18px; margin-block:12px; background:#eff6ff; border:1px solid #bfdbfe; border-inline-start:4px solid #3b82f6; border-radius:8px; }
.water-highlight-label { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#1d4ed8; }
.water-highlight-val { font-size:1.2rem; font-weight:800; font-family:var(--font-mono,monospace); color:#1e40af; margin-block:4px; }
.water-highlight-sub { font-size:.84rem; color:#1e40af; line-height:1.4; }

.water-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.water-form-grid .tool-field { min-width:0; width:100%; }
.water-checkbox-group { display:flex; flex-direction:column; gap:8px; margin-block-start:8px; }
.water-checkbox-label { display:flex; align-items:center; gap:8px; font-size:.9rem; cursor:pointer; font-weight:500; }
.water-tool-box select, .water-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .water-summary-grid { grid-template-columns:minmax(0,1fr); }
  .water-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .water-number { font-size:2.2rem; }
}

.water-tool-box, .water-result-box { max-width:100%; min-width:0; box-sizing:border-box; }
.water-hero-score { max-width:100%; min-width:0; }
.water-badge { max-width:100%; word-break:break-word; white-space:normal; }
.water-summary-grid { min-width:0; width:100%; }
.water-summary-card { min-width:0; box-sizing:border-box; word-break:break-word; }
.references-list, .references-list li { overflow-wrap:break-word; word-break:break-word; }

/* Creatine Calculator styles */
.creatine-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.creatine-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.creatine-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.creatine-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#4f46e5; line-height:1; }
.creatine-badge { display:inline-block; padding:4px 10px; border-radius:6px; background:#e0e7ff; color:#3730a3; font-weight:700; font-size:.85rem; }
.creatine-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }

.creatine-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.creatine-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; display:flex; flex-direction:column; gap:4px; }
.creatine-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.creatine-summary-val { font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.creatine-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.creatine-loading-box { padding:16px 18px; margin-block:14px; background:#faf5ff; border:1px solid #e9d5ff; border-inline-start:4px solid #a855f7; border-radius:10px; }
.creatine-loading-header { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; margin-block-end:10px; }
.creatine-loading-title { font-size:.95rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#6b21a8; }
.creatine-loading-meta { font-size:.88rem; font-weight:700; color:#7e22ce; font-family:var(--font-mono,monospace); }
.creatine-dose-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.creatine-dose-item { padding:10px 14px; background:#fff; border:1px solid #f3e8ff; border-radius:8px; }
.creatine-dose-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:4px; font-size:.9rem; }
.creatine-dose-amount { font-family:var(--font-mono,monospace); font-weight:700; color:#7e22ce; }
.creatine-dose-tip { font-size:.82rem; color:var(--muted,#64748b); margin-block-start:3px; line-height:1.4; }

.creatine-timing-box { padding:14px 18px; margin-block:12px; background:#f0fdf4; border:1px solid #bbf7d0; border-inline-start:4px solid #22c55e; border-radius:8px; }
.creatine-timing-label { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#15803d; }
.creatine-timing-text { font-size:.88rem; color:#166534; line-height:1.45; margin-block-start:4px; }

.creatine-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.creatine-form-grid .tool-field { min-width:0; width:100%; }
.creatine-tool-box select, .creatine-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .creatine-summary-grid { grid-template-columns:minmax(0,1fr); }
  .creatine-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .creatine-number { font-size:2.2rem; }
}

.creatine-tool-box, .creatine-result-box, .creatine-loading-box { max-width:100%; min-width:0; box-sizing:border-box; }
.creatine-hero-score { max-width:100%; min-width:0; }
.creatine-badge { max-width:100%; word-break:break-word; white-space:normal; }
.creatine-summary-grid { min-width:0; width:100%; }
.creatine-summary-card { min-width:0; box-sizing:border-box; word-break:break-word; }
.calc-fields, .creatine-tool-box fieldset { min-width:0; width:100%; box-sizing:border-box; }
.table-wrap { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* Waist to Hip Ratio Calculator styles */
.whr-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.whr-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.whr-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.whr-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0284c7; line-height:1; }
.whr-badge { display:inline-block; padding:4px 10px; border-radius:6px; font-weight:700; font-size:.85rem; }
.whr-badge.risk-low { background:#dcfce7; color:#15803d; }
.whr-badge.risk-moderate { background:#fef3c7; color:#b45309; }
.whr-badge.risk-high { background:#fee2e2; color:#b91c1c; }
.whr-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }

.whr-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.whr-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; display:flex; flex-direction:column; gap:4px; }
.whr-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.whr-summary-val { font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.whr-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.whr-interpretation-box { padding:14px 18px; margin-block:12px; background:#f0f9ff; border:1px solid #bae6fd; border-inline-start:4px solid #0284c7; border-radius:8px; }
.whr-interpretation-label { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#0369a1; }
.whr-interpretation-text { font-size:.88rem; color:#0c4a6e; line-height:1.45; margin-block-start:4px; }

.whr-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.whr-form-grid .tool-field { min-width:0; width:100%; }
.whr-tool-box select, .whr-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .whr-summary-grid { grid-template-columns:minmax(0,1fr); }
  .whr-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .whr-number { font-size:2.2rem; }
}

.whr-tool-box, .whr-result-box, .whr-interpretation-box { max-width:100%; min-width:0; box-sizing:border-box; }
.whr-hero-score { max-width:100%; min-width:0; }
.whr-badge { max-width:100%; word-break:break-word; white-space:normal; }
.whr-summary-grid { min-width:0; width:100%; }
.whr-summary-card { min-width:0; box-sizing:border-box; word-break:break-word; }
.calc-fields, .whr-tool-box fieldset { min-width:0; width:100%; box-sizing:border-box; }

/* Genetic Muscular Potential Calculator styles */
.genetic-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.genetic-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.genetic-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.genetic-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#4f46e5; line-height:1; }
.genetic-badge { display:inline-block; padding:4px 10px; border-radius:6px; font-weight:700; font-size:.85rem; background:#e0e7ff; color:#3730a3; }
.genetic-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }

.genetic-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.genetic-circ-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.genetic-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; display:flex; flex-direction:column; gap:4px; }
.genetic-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.genetic-summary-val { font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.genetic-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.genetic-progress-box { padding:16px; margin-block:14px; background:#faf5ff; border:1px solid #e9d5ff; border-radius:10px; }
.genetic-progress-bar-wrap { width:100%; height:12px; background:#e2e8f0; border-radius:6px; overflow:hidden; margin-block:8px 6px; }
.genetic-progress-bar-fill { height:100%; background:linear-gradient(90deg, #6366f1, #a855f7); border-radius:6px; transition:width 0.3s ease; }

.genetic-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.genetic-form-grid .tool-field { min-width:0; width:100%; }
.genetic-tool-box select, .genetic-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .genetic-summary-grid { grid-template-columns:minmax(0,1fr); }
  .genetic-circ-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .genetic-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .genetic-circ-grid { grid-template-columns:minmax(0,1fr); }
  .genetic-number { font-size:2.2rem; }
}

.genetic-tool-box, .genetic-result-box, .genetic-progress-box { max-width:100%; min-width:0; box-sizing:border-box; }
.genetic-hero-score { max-width:100%; min-width:0; }
.genetic-badge { max-width:100%; word-break:break-word; white-space:normal; }
.genetic-summary-grid, .genetic-circ-grid { min-width:0; width:100%; }
.genetic-summary-card { min-width:0; box-sizing:border-box; word-break:break-word; }
.calc-fields, .genetic-tool-box fieldset { min-width:0; width:100%; box-sizing:border-box; }

/* Ideal Body Measurements Calculator styles */
.ideal-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; }
.ideal-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.ideal-hero-score { display:flex; align-items:baseline; gap:12px; margin-block-end:6px; flex-wrap:wrap; }
.ideal-number { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0d9488; line-height:1; }
.ideal-badge { display:inline-block; padding:4px 10px; border-radius:6px; font-weight:700; font-size:.85rem; background:#ccfbf1; color:#0f766e; }
.ideal-sublabel { font-size:.95rem; color:var(--muted,#64748b); line-height:1.5; margin-block-end:14px; }

.ideal-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.ideal-circ-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:14px; }
.ideal-summary-card { padding:14px 16px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; display:flex; flex-direction:column; gap:4px; }
.ideal-summary-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); }
.ideal-summary-val { font-size:1.25rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.ideal-summary-sub { font-size:.82rem; color:var(--muted,#64748b); }

.ideal-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ideal-form-grid .tool-field { min-width:0; width:100%; }
.ideal-tool-box select, .ideal-tool-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

@media(max-width:768px) {
  .ideal-summary-grid { grid-template-columns:minmax(0,1fr); }
  .ideal-circ-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ideal-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .ideal-circ-grid { grid-template-columns:minmax(0,1fr); }
  .ideal-number { font-size:2.2rem; }
}

.ideal-tool-box, .ideal-result-box { max-width:100%; min-width:0; box-sizing:border-box; }
.ideal-hero-score { max-width:100%; min-width:0; }
.ideal-badge { max-width:100%; word-break:break-word; white-space:normal; }
.ideal-summary-grid, .ideal-circ-grid { min-width:0; width:100%; }
.ideal-summary-card { min-width:0; box-sizing:border-box; word-break:break-word; }
/* Free Workout Generator styles */
.workout-gen-box { max-width:100%; min-width:0; box-sizing:border-box; }
.workout-gen-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:16px; min-width:0; width:100%; box-sizing:border-box; }
.workout-gen-grid .tool-field { min-width:0; width:100%; box-sizing:border-box; }
.workout-gen-box select, .workout-gen-box input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

.workout-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; max-width:100%; min-width:0; box-sizing:border-box; }
.workout-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.workout-split-title { font-size:1.75rem; font-weight:800; color:var(--ink,#0f172a); margin-block-end:8px; line-height:1.25; }
.workout-hero-meta { display:flex; align-items:center; gap:12px; margin-block-end:12px; flex-wrap:wrap; }
.workout-total-badge { display:inline-block; padding:4px 12px; border-radius:6px; font-weight:700; font-size:.9rem; background:#ecfdf5; color:#047857; border:1px solid #a7f3d0; }
.workout-rationale { font-size:.95rem; color:var(--muted,#64748b); line-height:1.55; margin-block-end:16px; }

.workout-schedule-container { display:flex; flex-direction:column; gap:20px; margin-block-start:16px; min-width:0; width:100%; }
.workout-day-card { background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; padding:16px; min-width:0; box-sizing:border-box; }
.workout-day-header { display:flex; justify-content:space-between; align-items:center; margin-block-end:12px; flex-wrap:wrap; gap:8px; }
.workout-day-title { font-size:1.15rem; font-weight:700; color:var(--ink,#0f172a); margin:0; }
.workout-day-focus { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:3px 10px; border-radius:4px; background:#e0e7ff; color:#3730a3; }

.workout-table-wrap { overflow-x:auto; min-width:0; width:100%; -webkit-overflow-scrolling:touch; }
.workout-table { width:100%; min-width:480px; border-collapse:collapse; font-size:.9rem; }
.workout-table th { text-align:left; padding:8px 10px; border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.workout-table td { padding:10px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.workout-table tr:last-child td { border-bottom:none; }
.workout-badge { display:inline-block; font-weight:700; font-family:var(--font-mono,monospace); padding:2px 8px; border-radius:4px; background:#f1f5f9; color:#0f172a; white-space:nowrap; }
.workout-muscles { color:var(--muted,#64748b); font-size:.82rem; }

@media(max-width:768px) {
  .workout-gen-grid { grid-template-columns:minmax(0,1fr); }
  .workout-split-title { font-size:1.4rem; }
}

/* Recipe Nutrition Calculator styles */
.recipe-calc-box { max-width:100%; min-width:0; box-sizing:border-box; }
.recipe-top-bar { display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; margin-block-end:16px; min-width:0; width:100%; box-sizing:border-box; }
.recipe-top-bar .tool-field { min-width:0; width:100%; box-sizing:border-box; }
.recipe-top-bar select, .recipe-top-bar input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

.recipe-ingredients-wrap { margin-block:16px; border:1px solid var(--line,#e2e8f0); border-radius:10px; padding:16px; background:var(--surface-subtle,#f8fafc); min-width:0; width:100%; box-sizing:border-box; }
.recipe-ingredients-header { display:flex; justify-content:space-between; align-items:center; margin-block-end:12px; flex-wrap:wrap; gap:8px; }
.recipe-ingredients-header h4 { margin:0; font-size:1.05rem; font-weight:700; color:var(--ink,#0f172a); }
.recipe-ingredients-list { display:flex; flex-direction:column; gap:10px; min-width:0; width:100%; box-sizing:border-box; }

.recipe-ing-row { display:grid; grid-template-columns:minmax(140px, 3fr) minmax(70px, 1fr) minmax(70px, 1fr) 36px; gap:8px; align-items:center; min-width:0; width:100%; box-sizing:border-box; }
.recipe-ing-row select, .recipe-ing-row input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
.recipe-btn-remove { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0; background:#fee2e2; color:#b91c1c; border:1px solid #fca5a5; border-radius:6px; font-weight:700; cursor:pointer; font-size:1.1rem; line-height:1; }
.recipe-btn-remove:hover { background:#fecaca; }
.recipe-btn-add { margin-block-start:12px; }

.recipe-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; max-width:100%; min-width:0; box-sizing:border-box; }
.recipe-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.recipe-hero-header { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:12px; margin-block-end:14px; }
.recipe-hero-cal-wrap { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.recipe-hero-cal { font-size:2.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:#0284c7; line-height:1; }
.recipe-hero-sub { font-size:1rem; color:var(--muted,#64748b); font-weight:600; }
.recipe-hero-badge { display:inline-block; padding:4px 12px; border-radius:6px; font-weight:700; font-size:.85rem; background:#e0f2fe; color:#0369a1; border:1px solid #bae6fd; }

.recipe-macros-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; margin-block:16px; min-width:0; width:100%; box-sizing:border-box; }
.recipe-macro-card { padding:12px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; display:flex; flex-direction:column; gap:3px; min-width:0; box-sizing:border-box; }
.recipe-macro-card.macro-protein { border-left:4px solid #3b82f6; }
.recipe-macro-card.macro-carbs { border-left:4px solid #10b981; }
.recipe-macro-card.macro-fat { border-left:4px solid #f59e0b; }
.recipe-macro-card.macro-fiber { border-left:4px solid #8b5cf6; }
.recipe-macro-title { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.recipe-macro-val { font-size:1.35rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.recipe-macro-pct { font-size:.8rem; color:var(--muted,#64748b); }

.recipe-nutrition-panel { background:#fff; border:2px solid var(--ink,#0f172a); border-radius:8px; padding:16px; max-width:380px; margin-block:16px; box-sizing:border-box; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
.recipe-nutrition-panel h4 { margin:0 0 4px; font-size:1.6rem; font-weight:900; line-height:1; border-bottom:8px solid var(--ink,#0f172a); padding-bottom:4px; }
.recipe-nf-row { display:flex; justify-content:space-between; align-items:baseline; padding-block:4px; border-bottom:1px solid var(--line,#e2e8f0); font-size:.9rem; }
.recipe-nf-row.bold-border { border-bottom:4px solid var(--ink,#0f172a); }
.recipe-nf-row.sub-row { padding-left:14px; font-size:.85rem; color:#334155; }
.recipe-nf-calories { font-size:1.8rem; font-weight:900; }
.recipe-nf-dv-header { text-align:right; font-size:.75rem; font-weight:700; margin-block:4px; }

.recipe-breakdown-wrap { overflow-x:auto; margin-block-start:16px; min-width:0; width:100%; -webkit-overflow-scrolling:touch; box-sizing:border-box; }
.recipe-breakdown-table { width:100%; min-width:540px; border-collapse:collapse; font-size:.88rem; }
.recipe-breakdown-table th { text-align:left; padding:8px 10px; border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.recipe-breakdown-table td { padding:8px 10px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }

@media(max-width:768px) {
  .recipe-top-bar { grid-template-columns:minmax(0,1fr); }
  .recipe-ing-row { grid-template-columns:1fr; gap:6px; border-bottom:1px solid var(--line,#e2e8f0); padding-bottom:10px; }
  .recipe-btn-remove { width:100%; height:32px; font-size:.9rem; }
  .recipe-macros-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media(max-width:480px) {
  .recipe-macros-grid { grid-template-columns:minmax(0, 1fr); }
  .recipe-hero-cal { font-size:2.2rem; }
}

/* Recipe Serving Size Converter styles */
.scaler-calc-box { max-width:100%; min-width:0; box-sizing:border-box; }
.scaler-top-bar { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:16px; margin-block-end:16px; min-width:0; width:100%; box-sizing:border-box; }
.scaler-top-bar .tool-field { min-width:0; width:100%; box-sizing:border-box; }
.scaler-top-bar select, .scaler-top-bar input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }

.scaler-quick-bar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-block-end:16px; padding:10px 14px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:8px; }
.scaler-quick-label { font-size:.82rem; font-weight:700; color:var(--muted,#64748b); text-transform:uppercase; letter-spacing:.04em; margin-right:4px; }
.scaler-quick-btn { padding:6px 12px; font-size:.85rem; font-weight:600; border:1px solid var(--line,#cbd5e1); background:#fff; border-radius:6px; cursor:pointer; transition:all .15s ease; }
.scaler-quick-btn:hover { background:var(--accent,#0284c7); color:#fff; border-color:var(--accent,#0284c7); }

.scaler-ingredients-wrap { margin-block:16px; border:1px solid var(--line,#e2e8f0); border-radius:10px; padding:16px; background:var(--surface-subtle,#f8fafc); min-width:0; width:100%; box-sizing:border-box; }
.scaler-ingredients-header { display:flex; justify-content:space-between; align-items:center; margin-block-end:12px; flex-wrap:wrap; gap:8px; }
.scaler-ingredients-header h4 { margin:0; font-size:1.05rem; font-weight:700; color:var(--ink,#0f172a); }
.scaler-ingredients-list { display:flex; flex-direction:column; gap:10px; min-width:0; width:100%; box-sizing:border-box; }

.scaler-ing-row { display:grid; grid-template-columns:minmax(140px, 3fr) minmax(80px, 1.2fr) minmax(110px, 1.5fr) minmax(130px, 2fr) 36px; gap:8px; align-items:center; min-width:0; width:100%; box-sizing:border-box; }
.scaler-ing-row select, .scaler-ing-row input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
.scaler-btn-remove { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0; background:#fee2e2; color:#b91c1c; border:1px solid #fca5a5; border-radius:6px; font-weight:700; cursor:pointer; font-size:1.1rem; line-height:1; }
.scaler-btn-remove:hover { background:#fecaca; }
.scaler-btn-add { margin-block-start:12px; }

.scaler-result-box { margin-block:16px 20px; padding:20px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; max-width:100%; min-width:0; box-sizing:border-box; }
.scaler-result-label { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted,#64748b); margin-block-end:4px; }
.scaler-hero-header { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:12px; margin-block-end:14px; }
.scaler-hero-factor-wrap { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.scaler-hero-factor { font-size:3rem; font-weight:900; font-family:var(--font-mono,monospace); color:#0284c7; line-height:1; }
.scaler-hero-sub { font-size:1rem; color:var(--muted,#64748b); font-weight:600; }
.scaler-copy-btn { margin-block-start:8px; }

.scaler-output-wrap { overflow-x:auto; margin-block-start:16px; min-width:0; width:100%; -webkit-overflow-scrolling:touch; box-sizing:border-box; }
.scaler-output-table { width:100%; min-width:620px; border-collapse:collapse; font-size:.9rem; }
.scaler-output-table th { text-align:left; padding:10px 12px; border-bottom:2px solid var(--line,#e2e8f0); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#64748b); }
.scaler-output-table td { padding:10px 12px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:middle; }
.scaler-col-scaled { color:#0369a1; font-size:1.05rem; }
.scaler-smart-badge { display:inline-block; padding:3px 8px; border-radius:5px; font-weight:700; font-size:.8rem; background:#ecfdf5; color:#047857; border:1px solid #a7f3d0; }
.scaler-smart-none { color:var(--muted,#94a3b8); }
.scaler-col-tip { font-size:.85rem; color:#475569; max-width:240px; }

@media(max-width:768px) {
  .scaler-top-bar { grid-template-columns:1fr; }
  .scaler-ing-row { grid-template-columns:1fr; gap:6px; border-bottom:1px solid var(--line,#e2e8f0); padding-bottom:12px; }
  .scaler-btn-remove { width:100%; height:32px; font-size:.9rem; }
  .scaler-hero-factor { font-size:2.4rem; }
}

/* Strength Standards (TL-042) */
.ss-calc-box { margin-block:16px 24px; padding:24px; background:var(--surface,#fff); border:1px solid var(--line,#e2e8f0); border-radius:12px; box-sizing:border-box; max-width:100%; min-width:0; }
.ss-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:14px; margin-block-end:16px; min-width:0; }
.ss-field { display:flex; flex-direction:column; gap:6px; min-width:0; box-sizing:border-box; }
.ss-field label { font-size:.85rem; font-weight:700; color:var(--ink,#0f172a); }
.ss-field select, .ss-field input { width:100%; max-width:100%; min-width:0; box-sizing:border-box; padding:8px 12px; border:1px solid var(--line,#cbd5e1); border-radius:6px; font-size:.95rem; }

.ss-est-drawer { margin-block:12px 16px; padding:12px 16px; background:var(--surface-subtle,#f8fafc); border:1px dashed var(--line,#cbd5e1); border-radius:8px; }
.ss-est-drawer summary { font-size:.88rem; font-weight:700; color:var(--accent,#0284c7); cursor:pointer; }
.ss-est-fields { display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; margin-block-start:10px; }

.ss-result-card { margin-block-start:20px; padding:20px; background:var(--surface-subtle,#f8fafc); border:1px solid var(--line,#e2e8f0); border-radius:10px; }
.ss-hero-header { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:12px; margin-block-end:12px; }
.ss-tier-badge { display:inline-block; padding:6px 16px; border-radius:20px; font-size:1.15rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.ss-tier-badge[data-tier="untrained"] { background:#f1f5f9; color:#475569; border:1px solid #cbd5e1; }
.ss-tier-badge[data-tier="novice"] { background:#e0f2fe; color:#0369a1; border:1px solid #7dd3fc; }
.ss-tier-badge[data-tier="intermediate"] { background:#ecfdf5; color:#047857; border:1px solid #6ee7b7; }
.ss-tier-badge[data-tier="advanced"] { background:#fef3c7; color:#b45309; border:1px solid #fcd34d; }
.ss-tier-badge[data-tier="elite"] { background:#fdf4ff; color:#a21caf; border:1px solid #f0abfc; }

.ss-hero-ratio { font-size:1.8rem; font-weight:800; font-family:var(--font-mono,monospace); color:var(--ink,#0f172a); }
.ss-notes-wrap { margin-block:10px 14px; font-size:.9rem; color:#475569; display:flex; flex-direction:column; gap:4px; }
.ss-milestone-card { padding:12px 16px; background:#fff; border-left:4px solid var(--accent,#0284c7); border-radius:6px; box-shadow:0 1px 3px rgba(0,0,0,0.05); margin-block-end:16px; font-size:.92rem; }

.ss-ladder { display:flex; flex-direction:column; gap:8px; margin-block:16px; }
.ss-ladder-row { display:grid; grid-template-columns:140px 120px 1fr; gap:12px; align-items:center; padding:10px 14px; background:#fff; border:1px solid var(--line,#e2e8f0); border-radius:8px; transition:all .15s ease; box-sizing:border-box; min-width:0; }
.ss-ladder-current { background:#f0f9ff; border-color:#0284c7; box-shadow:0 0 0 1px #0284c7; }
.ss-current-badge { display:inline-block; margin-left:6px; font-size:.7rem; padding:2px 6px; background:#0284c7; color:#fff; border-radius:4px; font-weight:700; text-transform:uppercase; vertical-align:middle; }
.ss-tier-name { font-size:.95rem; }
.ss-tier-load { font-size:.95rem; color:#0f172a; }
.ss-tier-desc { font-size:.82rem; color:#64748b; }

.ss-table-wrap {
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  margin-block-end: 24px;
}
.ss-table-wrap table {
  min-width: 560px;
}

@media(max-width:768px) {
  .ss-grid { grid-template-columns:1fr; }
  .ss-ladder-row { grid-template-columns:1fr; gap:4px; }
}

@media(max-width:480px) {
  .ss-calc-box { padding: 14px 10px; }
  .ss-result-card { padding: 12px 10px; }
  .ss-grid { grid-template-columns: 1fr; gap: 8px; }
  .ss-hero-header { flex-direction: column; align-items: flex-start; }
  .ss-hero-ratio { font-size: 1.4rem; }
  .ss-tier-badge { font-size: 0.95rem; padding: 4px 10px; }
  .ss-ladder-row { grid-template-columns: 1fr; padding: 8px 10px; }
  .ss-milestone-card { padding: 10px 12px; font-size: 0.85rem; }
}



