@page{size:A4;margin:0}
:root{
  --paper:#f8f2e8;
  --ink:#121212;
  --soft:#efe3d1;
  --muted:#625b53;
  --orange:#d46f16;
  --green:#176b3a;
  --red:#a32626;
  --blue:#1d4d7a;
  --white:#fffdf8;
  --w:210mm;
  --h:297mm;
}
*{box-sizing:border-box}
html{background:#cfc7ba}
body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif}
.book{width:var(--w);margin:0 auto;counter-reset:page}
.sheet{
  width:var(--w);
  height:var(--h);
  min-height:0;
  background:var(--paper);
  padding:20mm;
  position:relative;
  overflow:hidden;
  page-break-after:always;
  break-after:page;
  counter-increment:page;
}

.sheet:last-child{
  page-break-after:auto;
  break-after:auto;
}
.sheet:not(.cover)::after{
  content:"GymBook · Quiyo";
  position:absolute;left:20mm;bottom:10mm;
  font-size:9pt;color:#8d8478;letter-spacing:.04em;
}
.sheet:not(.cover)::before{
  content:counter(page, decimal-leading-zero);
  position:absolute;right:20mm;bottom:10mm;
  font-size:9pt;color:#8d8478;font-weight:800;
}
h1,h2,h3,h4,p{margin-top:0}
h1{font-size:50pt;line-height:.88;letter-spacing:-.07em;margin-bottom:7mm;max-width:136mm}
h2{font-size:38pt;line-height:.92;letter-spacing:-.06em;margin-bottom:8mm}
h3{font-size:17pt;line-height:1;margin:0 0 4mm}
h4{font-size:13pt;margin:0 0 3mm}
p,li,td{font-size:13pt;line-height:1.35}
.lead{font-size:18pt;line-height:1.23;color:var(--muted);max-width:155mm}
.cover{
  color:white;
  background:
    linear-gradient(118deg,#10100f 0%,#10100f 58%,transparent 58.2%),
    radial-gradient(circle at 74% 23%,rgba(212,111,22,.35),transparent 30%),
    var(--paper);
}
.cover__top,.cover__bottom{position:absolute;left:20mm;right:20mm;display:flex;justify-content:space-between;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.cover__top{top:18mm;color:#f4c884;font-size:10pt}
.cover__bottom{bottom:18mm;color:#141414;font-size:11pt}
.cover__hero{position:absolute;left:20mm;top:78mm;max-width:140mm}
.cover__hero p{color:#f4c884;text-transform:uppercase;letter-spacing:.16em;font-size:10pt;font-weight:900;margin-bottom:8mm}
.cover__hero h2{font-size:18pt;letter-spacing:-.02em;color:rgba(255,255,255,.78);line-height:1.2;max-width:92mm}
.cover__visual{position:absolute;right:13mm;bottom:44mm;width:82mm;height:82mm}
.ring{position:absolute;border:9mm solid rgba(212,111,22,.22);border-radius:50%}
.ring-a{width:64mm;height:64mm;right:0;top:0}
.ring-b{width:42mm;height:42mm;right:20mm;top:20mm}
.plate{position:absolute;background:#171717;border-radius:4mm}
.plate-a{width:15mm;height:45mm;right:46mm;top:23mm}
.plate-b{width:15mm;height:45mm;right:28mm;top:23mm}
.bar{position:absolute;width:72mm;height:5mm;right:8mm;top:43mm;background:#171717;border-radius:99px}
.chapter-label{font-size:13pt;font-weight:950;letter-spacing:.2em;color:var(--orange);margin-bottom:8mm}
.index-list{list-style:none;margin:18mm 0 0;padding:0}
.index-list li{display:grid;grid-template-columns:18mm 1fr 55mm;gap:8mm;align-items:baseline;border-bottom:1px solid #d9c9b2;padding:6mm 0}
.index-list span{font-weight:950;color:var(--orange);letter-spacing:.12em}
.index-list strong{font-size:18pt}
.index-list em{font-style:normal;color:var(--muted);font-size:11pt;text-align:right}
.goal-grid,.food-layout,.week,.metrics,.split,.check-grid,.muscles{display:grid;gap:5mm}
.goal-grid{grid-template-columns:repeat(3,1fr);margin:15mm 0}
.goal-grid article,.food-layout article,.week article,.metrics article,.muscles article{
  background:var(--white);border:1px solid #deceb8;border-radius:8mm;padding:7mm;
}
.goal-grid span,.week span,.metrics span,.muscles span{display:block;color:var(--orange);font-size:9pt;text-transform:uppercase;letter-spacing:.14em;font-weight:950;margin-bottom:3mm}
.goal-grid p,.week p{color:var(--muted);margin-bottom:0}
.callout,.coach-note{
  background:#fff1dc;border-left:5mm solid var(--orange);border-radius:7mm;padding:6mm 7mm;margin-top:10mm;
}
.callout.green{background:#e9f7ed;border-color:var(--green)}
.callout p,.coach-note p{margin:2mm 0 0}
.plan,.log{width:100%;border-collapse:collapse;background:var(--white);border-radius:8mm;overflow:hidden;margin:10mm 0}
th{background:#161412;color:white;text-align:left;font-size:9pt;text-transform:uppercase;letter-spacing:.1em;padding:4mm}
td{padding:4mm;border-bottom:1px solid #e2d4c2}
tr:last-child td{border-bottom:0}
.mini-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm;margin-top:10mm}
.mini-rules span{background:#1a1815;color:white;border-radius:99px;padding:4mm;text-align:center;font-size:10pt;font-weight:850}
.food-layout{grid-template-columns:1fr; margin-top:12mm}
.food-layout ul{margin:0;padding-left:5mm}
.week{grid-template-columns:1fr 1fr;margin-top:14mm}
.week h3{font-size:21pt}
.exercise__tag{display:inline-block;color:var(--orange);font-size:10pt;font-weight:950;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7mm}
.exercise-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:8mm;background:var(--white);border:1px solid #deceb8;border-radius:10mm;padding:8mm;margin:13mm 0}
.exercise-hero__text{align-self:center}
.exercise-hero__text p{color:var(--muted)}
.legpress-graphic{height:86mm;position:relative}
.legpress-graphic span{position:absolute;display:block;border-radius:4mm}
.rail{left:9mm;bottom:12mm;width:96mm;height:4mm;background:#171717;transform:rotate(-11deg)}
.pad{left:18mm;top:33mm;width:39mm;height:8mm;background:#171717;transform:rotate(-39deg)}
.seat{left:38mm;top:58mm;width:36mm;height:9mm;background:#171717}
.body{left:38mm;top:38mm;width:24mm;height:18mm;background:#d46f16;border-radius:50%}
.leg1{left:61mm;top:42mm;width:43mm;height:5mm;background:#171717;transform:rotate(-13deg)}
.leg2{left:60mm;top:52mm;width:42mm;height:5mm;background:#171717;transform:rotate(-7deg)}
.platform{right:4mm;top:22mm;width:10mm;height:54mm;background:#d46f16}
.weight{right:17mm;top:33mm;width:9mm;height:32mm;background:#171717}
.muscles{grid-template-columns:repeat(3,1fr)}
.muscles strong,.metrics strong{font-size:15pt;display:block}
.metrics{grid-template-columns:repeat(4,1fr);margin-bottom:12mm}
.split{grid-template-columns:1fr 1fr;margin-bottom:10mm}
.split ol{margin:0;padding-left:5mm}
.split li{margin-bottom:2mm}
.check-grid{grid-template-columns:1fr 1fr;margin-bottom:10mm}
.check-grid article{border-radius:8mm;padding:6mm}
.ok{background:#e9f7ed;border:1px solid #b7dcbc}
.ok h4{color:var(--green)}
.bad{background:#fff1f1;border:1px solid #edb6b6}
.bad h4{color:var(--red)}
.print{position:fixed;right:22px;bottom:22px;border:0;background:#111;color:white;border-radius:999px;padding:13px 18px;font-weight:900;box-shadow:0 18px 40px rgba(0,0,0,.25);cursor:pointer}
@media screen{.sheet{margin:18px 0;box-shadow:0 24px 70px rgba(0,0,0,.22)}}
@media print{
  html,body{
    width:210mm;
    background:white;
    margin:0;
    padding:0;
  }
  .book{
    width:210mm;
    margin:0;
    padding:0;
  }
  .sheet{
    width:210mm;
    height:297mm;
    min-height:0;
    margin:0;
    box-shadow:none;
    overflow:hidden;
    page-break-after:always;
    break-after:page;
  }
  .sheet:last-child{
    page-break-after:auto;
    break-after:auto;
  }
  .print{display:none}
  a[href]::after{content:""}
}


.exercise-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5mm;
  margin-top:7mm;
}
.link-button{
  display:block;
  text-decoration:none;
  border-radius:8mm;
  padding:5mm 6mm;
  border:1px solid #decdb4;
  background:var(--white);
  color:var(--ink);
}
.link-button span{
  display:block;
  font-size:9pt;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  color:var(--orange);
  margin-bottom:2mm;
}
.link-button strong{
  display:block;
  font-size:13pt;
  line-height:1.15;
}
.link-button.primary{
  background:#171412;
  color:white;
  border-color:#171412;
}
.link-button.primary span{
  color:#f4c884;
}
.link-button.secondary{
  background:#fff8eb;
}
@media(max-width:900px){
  .exercise-links{grid-template-columns:1fr}
}
