
:root{--bg:#f8fafc;--panel:#fff;--ink:#0f172a;--muted:#475569;--line:#dbe4ee;--green:#16a34a;--green-dark:#166534;--amber:#f59e0b;--red:#dc2626;--shadow:0 16px 44px rgba(15,23,42,.08);--radius:22px;}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#ecfdf5 0,#f8fafc 280px);color:var(--ink);line-height:1.6} a{color:var(--green-dark)} .wrap{width:min(1100px,calc(100% - 32px));margin:auto}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:8px}.skip-link:focus{left:8px;z-index:10}.site-header{position:sticky;top:0;z-index:5;background:rgba(248,250,252,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-grid{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--green);color:#fff;font-weight:900;box-shadow:var(--shadow)}.brand small{display:block;color:var(--muted);font-size:.82rem}.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav a{padding:9px 12px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:650;font-size:.94rem}.nav a:hover,.nav a[aria-current="page"]{background:#dcfce7}.nav .nav-cta{background:var(--green);color:white}.main{padding:42px 0 60px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:center}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.hero h1{font-size:clamp(2.2rem,6vw,4.8rem);line-height:.95;margin:0 0 18px;letter-spacing:-.06em}.lead{font-size:1.22rem;color:var(--muted);max-width:70ch}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button,button{border:0;border-radius:14px;background:var(--green);color:white;font-weight:800;padding:13px 18px;text-decoration:none;cursor:pointer;box-shadow:0 8px 22px rgba(22,163,74,.22)}.button.secondary{background:#e2e8f0;color:var(--ink);box-shadow:none}.button.ghost{background:white;color:var(--green-dark);border:1px solid var(--line);box-shadow:none}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.section{margin-top:28px}.kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--green-dark);font-weight:900;font-size:.78rem}.stat{font-size:2rem;font-weight:900}.workout-table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}th,td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}th{background:#f1f5f9}.notice{border-left:5px solid var(--amber);background:#fffbeb;padding:16px;border-radius:14px}.danger{border-left-color:var(--red);background:#fef2f2}.app-shell{display:grid;grid-template-columns:320px 1fr;gap:18px}.control{display:grid;gap:10px;align-content:start}.control button,.control .button{width:100%;min-height:auto;padding:12px 14px}select,input,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;font:inherit;background:white}.timer{font-size:clamp(3rem,12vw,7rem);font-weight:950;text-align:center;letter-spacing:-.08em}.exercise-list{display:grid;gap:10px}.exercise-item{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.history-item{padding:14px;border:1px solid var(--line);border-radius:14px;margin:10px 0;background:white}.site-footer{padding:26px 0;color:var(--muted);border-top:1px solid var(--line);background:white}.pill{display:inline-block;border-radius:999px;background:#dcfce7;color:#166534;padding:4px 10px;font-size:.82rem;font-weight:800}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border-radius:14px;background:white;color:var(--ink);border:1px solid var(--line);box-shadow:none}.menu-toggle-bars,.menu-toggle-bars::before,.menu-toggle-bars::after{display:block;width:22px;height:2px;border-radius:999px;background:currentColor;content:"";transition:transform .18s ease,opacity .18s ease}.menu-toggle-bars{position:relative}.menu-toggle-bars::before,.menu-toggle-bars::after{position:absolute;left:0}.menu-toggle-bars::before{top:-7px}.menu-toggle-bars::after{top:7px}.menu-toggle[aria-expanded="true"] .menu-toggle-bars{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-toggle-bars::before{transform:translateY(7px) rotate(90deg)}.menu-toggle[aria-expanded="true"] .menu-toggle-bars::after{opacity:0}@media(max-width:820px){.hero,.grid,.grid.two,.app-shell{grid-template-columns:1fr}.header-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.brand{min-width:0}.brand small{font-size:.76rem}.menu-toggle{display:inline-flex}.nav{grid-column:1/-1;display:none;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding-top:10px}.nav.is-open{display:flex}.nav a{display:block;padding:12px 14px;background:white;border:1px solid var(--line);border-radius:14px}.nav .nav-cta{background:var(--green);color:white}.card{padding:20px}.main{padding-top:24px}th,td{font-size:.92rem}.timer{font-size:4.6rem}}


/* Responsive workout tables */
.workout-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border-radius: 18px;
  scrollbar-gutter: stable;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.workout-table-wrap:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 3px;
}
.workout-table { display: table; overflow: visible; }

@media (max-width: 820px) {
  .workout-table-wrap {
    margin-inline: -8px;
    padding: 0 8px 8px;
  }
  .workout-table {
    width: 100%;
    table-layout: fixed;
    box-shadow: none;
  }
  .workout-table--beginner { min-width: 46rem; }
  .workout-table--intermediate { min-width: 58rem; }
  .workout-table--advanced { min-width: 62rem; }
  .workout-table col.table-level { width: 5rem; }
  .workout-table col.table-reps { width: 7rem; }
  .workout-table col.table-day { width: auto; }
  .workout-table th,
  .workout-table td { overflow-wrap: anywhere; }
  .workout-table thead th:first-child,
  .workout-table tbody th:first-child {
    position: sticky;
    left: 0;
    border-right: 1px solid var(--line);
    box-shadow: 6px 0 10px rgba(15, 23, 42, .06);
  }
  .workout-table thead th:first-child { z-index: 3; }
  .workout-table tbody th:first-child { z-index: 2; background: #f8fafc; }
}
