:root{--paper:#f8f7f2;--ink:#203b34;--muted:#6b766d;--line:#dce2d8;--green:#2a5d47;--lime:#e7edbb;--white:#fff;--orange:#b86a36;--soft:#edf1e7;--radius:18px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}a{color:var(--green);text-underline-offset:3px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bb713d;outline-offset:4px}button:disabled{opacity:.5;cursor:default}.skip{position:absolute;top:-80px;left:15px;background:white;padding:12px;z-index:50}.skip:focus{top:12px}header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 4vw;background:var(--paper)}.brand{font-size:21px;font-weight:700;letter-spacing:-.6px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:7px;white-space:nowrap}.brand em{font-weight:400;font-style:normal}.brand-icon{background:var(--ink);color:var(--lime);border-radius:50%;height:35px;width:35px;display:grid;place-items:center;margin-right:5px}.edition{color:var(--muted);font-size:12px;letter-spacing:1px;margin-left:auto}.print-link{font-size:13px}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);max-width:1600px;margin:auto}aside{padding:48px 25px 20px 4vw;border-right:1px solid var(--line)}.nav-caption,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--muted)}nav{margin:24px 0;display:grid;gap:9px}nav a{text-decoration:none;color:#8c988c;font-size:11px;padding:12px 9px;display:flex;gap:12px;border-radius:8px}nav a span{font-size:13px;font-weight:550;color:var(--muted)}nav a.active{background:#e8eddf;color:var(--green)}nav a.active span{color:var(--ink)}.aside-note{font-size:13px;color:var(--muted);line-height:1.9;margin-top:60px}.dot{display:block;width:8px;height:8px;background:var(--orange);border-radius:50%;margin-bottom:16px}main{padding:44px 4vw 80px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(35px,4vw,61px);line-height:1.08;letter-spacing:-2px;margin:12px 0 15px}h2{font-size:23px;letter-spacing:-.7px;line-height:1.25;margin:0 0 18px;font-weight:600}h3{font-size:17px;line-height:1.35;letter-spacing:-.2px;margin:0 0 12px;font-weight:600}p{margin:0 0 15px}.lead{color:var(--muted);max-width:680px;font-size:15px}.tiny{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.week-select{font-size:12px;white-space:nowrap}.week-select label{display:block;color:var(--muted);margin-bottom:6px}select,input[type=text],input[type=number],input[type=date],textarea{border:1px solid var(--line);background:var(--white);border-radius:9px;padding:10px 12px;color:var(--ink);max-width:100%;min-height:44px}.hero{display:grid;grid-template-columns:1.05fr 1fr;background:#e9eddf;border:1px solid #dce3cf;border-radius:var(--radius);overflow:hidden;margin-bottom:35px;min-height:285px}.hero-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start}.hero h2{font-family:Georgia,serif;font-size:34px;line-height:1.1;font-weight:400;margin:17px 0}.hero p{font-size:14px;color:#53654c;max-width:420px}.hero-art{background-color:#f2efe9;background-size:500% 200%;background-position:50% 0;min-height:285px;aspect-ratio:1.25;background-repeat:no-repeat}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 16px;font-size:13px;min-height:44px}.btn.primary{background:var(--ink);color:white;border-color:var(--ink)}.btn.soft{background:var(--soft)}.btn:hover{filter:brightness(.96)}.hero .btn{margin-top:auto}.section{margin-top:38px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-head h2{margin:0}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day{border:1px solid var(--line);background:white;border-radius:12px;min-height:96px;padding:14px 8px;text-align:left;color:var(--ink)}.day span{display:block;font-size:11px;color:var(--muted);margin-bottom:15px}.day b{font-size:13px;display:block;font-weight:600}.day.active{background:var(--ink);color:white;border-color:var(--ink)}.day.active span{color:#bbccc0}.day.strength:not(.active){background:#edf2df}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:24px;margin-top:22px}.panel{background:white;border:1px solid var(--line);padding:24px;border-radius:var(--radius);min-width:0}.panel.tint{background:var(--soft)}.panel p,.panel li{font-size:14px}.pill{display:inline-block;font-size:11px;font-weight:650;letter-spacing:.2px;background:var(--soft);padding:5px 9px;border-radius:6px;margin:0 7px 7px 0}.pill.warm{background:#f3e6d8;color:#8e4c29}.exercise-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #e9ece4}.exercise-row:last-child{border:0}.exercise-row .num{font-size:11px;color:var(--muted)}.exercise-link{padding:0;border:0;background:none;text-align:left;color:var(--ink);font-weight:550;font-size:14px;text-decoration:underline;text-decoration-color:#c4cfc2;text-underline-offset:4px}.exercise-row .dose{font-size:12px;color:var(--muted);text-align:right;max-width:190px}.routine-grid,.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.routine-card{border:1px solid var(--line);border-radius:14px;background:white;padding:22px;display:flex;flex-direction:column;align-items:flex-start}.routine-card p{font-size:13px;color:var(--muted);flex:1}.routine-card .tag{font-size:11px;color:var(--orange);margin-bottom:14px}.routine-card button{margin-top:10px}.rules{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.rule{padding:20px 0;border-bottom:1px solid var(--line)}.rule p{font-size:14px;color:var(--muted);margin:0}.note{border-left:3px solid #bbc998;padding:12px 16px;background:#f0f2e7;font-size:13px;color:#5e6958;margin:20px 0}.note.attention{border-color:#c78353;background:#f7ede2;color:#795637}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:15px;font-weight:600;min-height:30px}details p{font-size:14px;margin:12px 0 0}.phase-line{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.phase-line .phase-label{font-size:12px;color:var(--orange);font-weight:650}.phase-line p{font-size:14px;color:var(--muted)}.atlas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.atlas-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white;display:flex;flex-direction:column}.atlas-art{aspect-ratio:1;background-color:#eeeee7;background-size:500% 200%;background-position:50% 0;background-repeat:no-repeat}.atlas-art.still{background-size:200% 100%;background-position:0 0}.atlas-art.empty{display:grid;place-items:center;background:var(--soft);font-size:40px;color:#7d987c}.atlas-copy{padding:18px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.atlas-copy .tiny{font-size:10px;letter-spacing:.5px;margin-bottom:8px}.atlas-copy h3{font-size:16px}.atlas-copy p{font-size:12px;color:var(--muted);flex:1}.atlas-copy .btn{width:100%}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}.filterbar .active{background:var(--ink);color:white}.food-intro{display:grid;grid-template-columns:1fr 1fr;gap:25px}.food-feature{background:#e8eddd;padding:28px;border-radius:var(--radius)}.food-feature h2{font-family:Georgia,serif;font-size:32px;font-weight:400}.food-feature p{font-size:14px}.frequency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.frequency{padding:18px;border:1px solid var(--line);border-radius:12px;background:white}.frequency .target{color:var(--orange);font-size:14px;font-weight:650;margin-bottom:8px}.frequency p{font-size:12px;color:var(--muted)}.frequency.limit{background:#f1eee6}.food-day{border:1px solid var(--line);padding:20px;border-radius:14px;background:white}.food-day h3{display:flex;justify-content:space-between;gap:10px}.menu-meal{display:grid;grid-template-columns:68px 1fr;gap:8px;margin:12px 0}.menu-meal span{font-size:10px;color:var(--muted);padding-top:3px}.menu-meal button{font-size:13px;line-height:1.5}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.source-list{display:grid;gap:14px}.source-item{display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px;padding:23px;border:1px solid var(--line);background:white;border-radius:14px}.source-num{color:#b2bda9;font-size:25px;font-family:Georgia,serif}.source-item h3{overflow-wrap:anywhere;margin-bottom:8px}.source-item p{font-size:13px}.source-item .source-scope{font-size:11px;color:var(--muted);margin-top:10px}.source-item .source-take{background:var(--soft);padding:10px 12px;border-radius:6px;color:#536a4f}.source-links{display:grid;gap:12px}.source-link{font-size:13px}.source-link p{font-size:12px;color:var(--muted);margin:5px 0}.shop-group{padding:22px;background:white;border:1px solid var(--line);border-radius:14px}.shop-row{display:flex;gap:10px;font-size:13px;padding:9px 0;align-items:flex-start}.shop-row input{margin-top:4px;accent-color:var(--green);width:18px;height:18px;flex:none}.shop-row:has(input:checked){color:#8a9587;text-decoration:line-through}.shop-row small{display:block;color:var(--muted);font-size:11px}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.count-picker{display:flex;align-items:center;gap:12px;font-size:13px;margin-bottom:15px}.count-picker input{width:80px}.log-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.log-form label{font-size:12px;color:var(--muted);display:grid;gap:5px}.log-form textarea{min-height:70px}.log-form .full{grid-column:1/-1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}td{overflow-wrap:anywhere}th{font-weight:600;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:20px;width:min(980px,94vw);max-height:92vh;padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#152c2677;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.dialog-top span{font-size:11px;letter-spacing:1px;color:var(--muted)}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:white;font-size:24px;color:var(--ink)}#dialog-content{padding:24px}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.motion-stage{width:100%;aspect-ratio:1;background-color:#f3f0ea;background-repeat:no-repeat;background-size:500% 200%;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.motion-stage.still{background-size:200% 100%}.motion-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0}.motion-controls select{min-width:110px;font-size:12px}.frame-buttons{display:flex;gap:7px}.frame-buttons button{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.frame-buttons button.active{background:var(--green);color:white}.motion-note{font-size:11px;color:var(--muted);margin-top:14px}.detail-text ol{padding-left:20px;font-size:14px;line-height:1.7}.detail-text li{padding-bottom:10px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0}.detail-facts div{background:white;border:1px solid var(--line);border-radius:10px;padding:13px;font-size:13px}.detail-facts span{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:7px}.detail-more{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.detail-more p,.detail-more li{font-size:13px}.detail-more ul{padding-left:18px}.ingredients{list-style:none;padding:0;margin:0}.ingredients li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;display:grid;grid-template-columns:1fr auto;gap:10px}.ingredients small{display:block;color:var(--muted);font-size:11px}.ingredients b{font-weight:600;white-space:nowrap}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:10px;padding:10px 18px;font-size:13px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:20}#toast.visible{opacity:1}.status-end{font-size:12px;color:var(--muted);margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}
@media(min-width:1400px){aside{padding-left:40px}.hero-art{max-height:345px}}
@media(max-width:1080px){.shell{grid-template-columns:190px minmax(0,1fr)}aside{padding-left:22px;padding-right:15px}main{padding:35px 25px 60px}.split{grid-template-columns:1fr}.routine-grid,.grid3,.atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.frequency-grid{grid-template-columns:repeat(2,1fr)}.hero-copy{padding:24px}.hero h2{font-size:30px}.hero-art{min-height:260px}.food-intro{grid-template-columns:1fr}.calendar{gap:5px}.day{padding:10px 6px}.day b{font-size:11px}}
@media(max-width:720px),(max-width:950px) and (max-height:500px){header{height:74px;padding:0 18px;gap:12px}.brand{font-size:17px}.edition{display:none}.print-link{margin-left:auto;font-size:11px}.shell{display:block}aside{padding:0;border-right:0;border-bottom:1px solid var(--line)}.nav-caption,.aside-note{display:none}nav{display:flex;overflow-x:auto;gap:3px;margin:0;padding:8px 12px}nav a{flex:none;padding:9px 10px}nav a span{font-size:11px}nav a{font-size:10px;gap:6px}main{padding:28px 18px 50px}.page-head{display:block;margin-bottom:22px}h1{font-size:42px;letter-spacing:-1.5px}.week-select{margin-top:18px}.week-select label{display:inline;margin-right:9px}.hero{grid-template-columns:1fr 1fr;min-height:220px}.hero-copy{padding:20px}.hero h2{font-size:26px}.hero p{font-size:12px}.hero-art{min-height:220px;aspect-ratio:auto;background-size:500% 200%}.hero .eyebrow{font-size:9px}.hero .btn{font-size:11px;padding:9px 12px}.calendar{grid-template-columns:repeat(4,1fr)}.day{min-height:78px;padding:10px}.day span{margin-bottom:8px}.day b{font-size:12px}.section-head{align-items:flex-start}.section-head .tiny{max-width:160px;text-align:right}.rules{grid-template-columns:1fr}.panel{padding:20px}.menu-grid,.shop-grid{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}.motion-stage{max-width:450px;margin:auto}.detail-more{grid-template-columns:1fr}.detail-facts{gap:8px}.source-item{padding:17px;grid-template-columns:28px 1fr}.source-num{font-size:20px}.source-item h3{font-size:15px}.phase-line{grid-template-columns:85px 1fr;gap:15px}dialog{width:calc(100vw - 18px);max-height:95vh;border-radius:14px}#dialog-content{padding:18px}.dialog-top{padding:10px 18px}.log-form{grid-template-columns:1fr}.log-form .full{grid-column:auto}}
@media(max-width:400px){.hero{grid-template-columns:1fr}.hero-art{min-height:260px;aspect-ratio:1.4;grid-row:1}.hero-copy{padding:20px}.hero h2{margin:10px 0}.atlas-grid,.routine-grid,.grid3,.frequency-grid{grid-template-columns:1fr}.atlas-art{aspect-ratio:1.2}.exercise-row{grid-template-columns:22px 1fr}.exercise-row .dose{grid-column:2;text-align:left;max-width:none}.brand-icon{width:29px;height:29px}.print-link{max-width:65px;text-align:right}.calendar{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{header,aside,.btn,.filterbar{display:none}.shell{display:block}main{padding:0}body{background:white}.panel,.routine-card,.source-item,.food-day{break-inside:avoid}dialog{display:none}}

/* Preserve the proportions of each generated frame. */
.atlas-art,.motion-stage{position:relative;aspect-ratio:1;background-image:none;background-color:#f2eee7}.sprite-cell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-repeat:no-repeat}.rule .tiny{margin-top:12px;line-height:1.8}.source-list{margin-top:26px}

.motion-stage{max-width:340px;margin:auto}

.hero-art{background-image:none!important;aspect-ratio:auto;display:grid;place-items:center;max-height:none}.hero-frame{width:100%;max-width:345px;aspect-ratio:1;background-image:url('assets/sit-stand.png');background-size:500% 200%;background-position:50% 0%;background-repeat:no-repeat}

/* Long training names stay inside calendar cells at tablet widths. */
.day{min-width:0}.day b{overflow-wrap:anywhere}
