@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/golos-400.ttf') format('truetype')}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url('./assets/fonts/golos-500.ttf') format('truetype')}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600 800;font-display:swap;src:url('./assets/fonts/golos-600.ttf') format('truetype')}

:root{--bg:#f7f8f2;--paper:#fff;--ink:#233c31;--muted:#697369;--green:#294f40;--soft:#eaf0df;--line:#e0e5da;--coral:#da7b65;--radius:20px;font-family:'Golos Text',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;font-size:14px;line-height:1.55}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit}button{border:0}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #a65439;outline-offset:4px}h1,h2,h3,p{margin:0}button,summary{touch-action:manipulation}[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.topbar{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:12px;line-height:1.4;letter-spacing:.02em}.brand strong{font-size:14px;font-weight:600}.brand-mark{width:43px;height:43px;background:var(--green);color:#ecf1e2;border-radius:14px;font:italic 35px Georgia;text-align:center;line-height:37px}.header-actions{display:flex;gap:28px;align-items:center}.private-note{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;background:#8d9c78}.button{border-radius:10px;min-height:46px;padding:12px 20px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:14px;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#1b3c2d}.button.light{background:transparent;border:1px solid #cfd8c8}.button.small{min-height:40px;padding:9px 14px;font-size:12px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:600;color:var(--muted)}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding:44px 0 45px}.intro h1{font-size:clamp(34px,3.8vw,47px);line-height:1.12;letter-spacing:-.055em;font-weight:600;margin:14px 0 18px}.intro h1 em{font-style:normal;color:#6d8265}.intro-copy>p{font-size:14px;line-height:1.7;color:var(--muted)}.intro-tags{display:flex;flex-wrap:wrap;gap:17px;margin-top:22px;font-size:10px;font-weight:500;color:#5d6c5b}.intro-tags span{white-space:nowrap}.week-card{border-radius:22px;background:#edf1e5;padding:23px 25px 0;border:1px solid #e2e8d8}.week-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.week-top h2{font-size:15px;font-weight:600}.mini-tag{font-size:10px;background:#fbfcf7;border-radius:20px;padding:4px 10px;color:#566a4e}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:25px}.week-day{font-size:10px;text-align:center;color:#798371}.week-day>span{display:block;margin-bottom:8px}.day-circle{height:39px;width:100%;max-width:42px;aspect-ratio:1;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#e3e9d9;font-size:14px;color:#6d7b62;margin:auto}.day-circle.work{background:var(--green);color:#f4f8ec;font-weight:600}.day-circle.done{background:#d3e1c6;color:#294f40}.week-bottom{display:flex;align-items:center;gap:12px;margin:22px 0 19px}.leaf-icon{width:32px;flex:0 0 32px;height:32px;display:grid;place-items:center;border:1px solid #cad6bd;border-radius:50%;font-size:19px}.week-bottom p{font-size:10px;color:#6c7862;line-height:1.75}.week-bottom strong{font-weight:500;color:#445a39}.week-footer{border-top:1px solid #d8e0ce;display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:10px;color:#697b5b}.week-footer>span{font-size:19px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}.section-heading h2{font-size:22px;letter-spacing:-.035em;font-weight:500;margin-top:6px}.text-button{background:none;font-size:11px;padding:10px 0;color:#617157;text-decoration:none;text-underline-offset:4px}.text-button:hover{text-decoration:underline}.day-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.day-tab{text-align:left;padding:17px 20px;border:1px solid var(--line);background:#fff;border-radius:14px;display:flex;align-items:center;gap:14px;transition:background .15s}.day-tab[aria-selected=true]{background:var(--green);border-color:var(--green);color:white}.tab-number{font-size:12px;display:grid;place-items:center;border-radius:50%;background:#f1f4eb;width:30px;height:30px;flex:0 0 30px}.day-tab[aria-selected=true] .tab-number{background:#496a56;color:#e6efdc}.tab-label{display:flex;flex-direction:column;gap:2px;min-width:0}.tab-label small{font-size:9px;letter-spacing:.08em;opacity:.7}.tab-label strong{font-size:13px;font-weight:500}.tab-arrow{margin-left:auto;opacity:.65}.plan-toolbar{display:flex;align-items:center;justify-content:space-between;margin:18px 0 20px;gap:15px}.mode-control{display:flex;align-items:center;gap:10px;flex-shrink:0}.mode-control label{font-size:11px;color:var(--muted)}select{color:#4d6147;background:#edf1e5;border:1px solid #dfe5d7;border-radius:8px;padding:7px 26px 7px 10px;font-size:11px;max-width:100%}.plan-toolbar>p{font-size:10px;color:var(--muted)}.day-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px}.day-panel-heading h3{font-size:21px;font-weight:500;letter-spacing:-.025em;margin-bottom:4px}.day-panel-heading p{font-size:12px;color:var(--muted);max-width:630px}.start-button{flex-shrink:0;font-size:12px}.warmup{border:1px solid #e2e5d9;border-radius:14px;background:#f0f2e8;margin-bottom:20px}.warmup summary{padding:13px 17px;display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}.warmup summary::-webkit-details-marker{display:none}.warmup-icon{font-size:20px;color:#7a8c67}.warmup-title{font-size:12px;font-weight:600}.warmup-sub{font-size:10px;color:#728064;margin-left:2px}.warmup summary>.expand-icon{margin-left:auto;font-size:18px;font-weight:400}.warmup ol{padding:0 20px 15px 50px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 25px;font-size:12px;color:#52664a}.warmup li strong{color:#384f30}.workout-meta{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;gap:10px;font-size:10px;color:var(--muted)}.muscle-key{display:flex;align-items:center;gap:6px}.muscle-key:before{content:'';background:var(--coral);width:7px;height:7px;border-radius:50%}.exercise-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.exercise-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.exercise-card.is-done{border-color:#9db58b}.card-header{padding:18px 20px 12px;display:flex;gap:12px;align-items:center}.exercise-index{font-size:12px;color:#819073;border:1px solid #e4e9dd;border-radius:9px;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.card-header h3{font-size:16px;font-weight:600;letter-spacing:-.025em;line-height:1.35}.card-header p{color:var(--muted);font-size:9px;margin-top:3px}.equipment{font-size:9px;color:#7a846e;margin-left:auto;max-width:90px;text-align:right}.exercise-visual{position:relative;background:#f7f8f3;margin:0 12px;border-radius:12px;overflow:hidden;display:block;width:calc(100% - 24px);padding:0}.exercise-visual img{width:100%;aspect-ratio:2.15;object-fit:contain;display:block}.exercise-visual.ground img{object-fit:cover}.zoom-icon{position:absolute;right:9px;bottom:8px;display:grid;place-items:center;width:25px;height:25px;background:#ffffffdb;border:1px solid #e5e8de;border-radius:7px;font-size:15px;color:#66785d}.phase-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:9px 14px 10px;align-items:start}.phase-label{font-size:9px;line-height:1.4;text-align:center;color:#707c65}.phase-label b{display:block;color:#3c5436;font-size:8px;font-weight:500;letter-spacing:.08em;margin-bottom:3px}.prescription{display:flex;align-items:center;gap:16px;border-top:1px solid #edf0e7;border-bottom:1px solid #edf0e7;padding:12px 20px}.rep-value{font-size:19px;font-weight:600;letter-spacing:-.03em;white-space:nowrap}.rep-unit{font-size:9px;color:#6d7863;font-weight:400;letter-spacing:0;margin-left:5px}.rep-side{font-size:9px;color:#6d7863}.rest-button{margin-left:auto;background:#f0f3e8;color:#596d4b;border-radius:7px;padding:6px 9px;font-size:10px;white-space:nowrap;min-height:32px}.cue{display:flex;gap:9px;font-size:11px;line-height:1.65;padding:13px 20px 0;min-height:51px}.cue>span{font-size:14px;color:#8c9c79}.technique{padding:0 20px}.technique summary{font-size:10px;color:#647e55;list-style:none;cursor:pointer;padding:9px 0}.technique summary::-webkit-details-marker{display:none}.technique summary:after{content:'+';float:right;font-size:14px}.technique[open] summary:after{content:'−'}.technique ol{padding-left:19px;margin:2px 0 12px;font-size:11px;color:#596b50}.technique li{margin-bottom:7px}.technique>p{font-size:11px;color:#596b50;margin-bottom:9px}.technique strong{font-weight:500;color:#344e2d}.set-controls{display:flex;gap:8px;padding:7px 20px 16px;align-items:center}.set-button{min-height:36px;border:1px solid #dce5d3;border-radius:8px;padding:7px 12px;font-size:10px;background:white;color:#617852;display:flex;gap:8px;align-items:center}.set-button:before{content:'';width:13px;height:13px;border-radius:50%;border:1px solid #b5c3a9;display:grid;place-items:center}.set-button[aria-pressed=true]{background:#eaf0e0;color:#37572c;border-color:#c6d6b7}.set-button[aria-pressed=true]:before{content:'✓';background:#688655;border-color:#688655;color:white;font-size:10px}.set-help{margin-left:auto;font-size:9px;color:#8b9582}.session-card{border:1px dashed #cbd6bf;border-radius:20px;background:#edf2e5;padding:27px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:300px}.session-icon{font-family:Georgia,serif;font-size:44px;font-style:italic;color:#81996b;line-height:1;margin-bottom:22px}.session-card h3{font-size:23px;letter-spacing:-.035em;font-weight:500;margin-bottom:10px}.session-card>p{font-size:12px;color:#738166;line-height:1.8;max-width:330px}.progress-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#687c58;margin-top:24px}.progress-track{height:5px;border-radius:8px;background:#dce5d1;margin:10px 0 20px;overflow:hidden}.progress-fill{height:100%;background:#698555;width:0;transition:width .3s}.session-card .button{font-size:12px;align-self:flex-start}.session-card>.text-button{align-self:flex-start;font-size:10px;margin-top:7px}.aftercare{display:flex;align-items:center;gap:20px;padding:25px 0;margin-top:25px;border-bottom:1px solid var(--line)}.aftercare-number{background:#e9efdc;border-radius:50%;width:45px;height:45px;flex-shrink:0;display:grid;place-items:center;font-size:24px;color:#6a8055}.aftercare h2{font-size:16px;font-weight:500;margin-bottom:5px}.aftercare p{color:var(--muted);font-size:11px;max-width:640px;line-height:1.75}.soft-tag{margin-left:auto;flex-shrink:0;background:#edf0e5;color:#7c886d;border-radius:20px;padding:6px 12px;font-size:9px}.principles{border-bottom:1px solid var(--line)}.principles summary{padding:20px 0;cursor:pointer;list-style:none;font-size:12px;font-weight:500}.principles summary>span{float:right;font-size:17px;font-weight:400}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:20px;font-size:11px;color:#6a7861}.principles-grid strong{display:block;margin-bottom:5px;color:#385031;font-weight:500}.safety-note{display:flex;gap:10px;margin:22px 0;color:#7e8776;font-size:10px;max-width:850px;line-height:1.8}.safety-note>span{font-size:16px}.footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 35px;font-size:9px;color:#89917f;gap:15px}.footer-brand{display:flex;align-items:center;gap:12px;font:italic 28px Georgia;color:#557147}.footer-brand>span{font:10px 'Golos Text',sans-serif;color:#7a886f}.timer{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;border:1px solid #64816c;border-radius:17px;padding:14px 18px;display:flex;align-items:center;gap:20px;box-shadow:0 10px 35px #18382333;z-index:10}.timer .eyebrow{color:#c7d7ba;font-size:8px;white-space:nowrap}.timer-main{display:flex;align-items:center;gap:17px;margin-top:3px}.timer-main>strong{font-size:28px;font-weight:500;font-variant-numeric:tabular-nums;min-width:82px;line-height:1.3}.timer-presets{display:flex;gap:5px}.timer-presets button{border:1px solid #70886b;background:none;color:#e5eddc;border-radius:6px;padding:5px 8px;font-size:10px}.timer-toggle{background:#e1ebd1;color:#264b3a;border-radius:50%;width:38px;height:38px;font-size:17px;flex-shrink:0}.timer-close{font-size:24px;background:none;color:#c2d1b9;padding:5px}.toast{position:fixed;bottom:140px;left:50%;transform:translateX(-50%);background:#233c31;color:#fff;max-width:min(430px,90%);padding:12px 20px;border-radius:12px;z-index:30;font-size:12px;text-align:center;box-shadow:0 5px 20px #0002}.toast:empty{display:none}dialog{border:1px solid #dce4d5;border-radius:22px;padding:28px;color:var(--ink);background:var(--bg);max-height:90dvh;overflow:auto;box-shadow:0 20px 90px #10271833}dialog::backdrop{background:#1d322b80;backdrop-filter:blur(5px)}.info-dialog{max-width:570px;width:calc(100% - 32px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.dialog-heading h2{font-size:20px;letter-spacing:-.025em}.dialog-heading>.dialog-close{background:#e9efdf;border-radius:50%;width:34px;height:34px;flex-shrink:0;font-size:23px;color:#647957}.info-dialog h2{font-size:25px;line-height:1.2;font-weight:500;margin:14px 0 20px;letter-spacing:-.03em}.info-dialog>p{font-size:12px;line-height:1.8;margin:14px 0;color:#596c51}.guide-list{padding-left:22px;margin:0;font-size:13px}.guide-list li{padding-left:6px;margin:0 0 17px}.guide-list strong{font-weight:500}.guide-list p{font-size:12px;color:#6a7a60;line-height:1.7;margin-top:4px}.guide-definition{background:#eaf0df;border-radius:12px;padding:15px;font-size:12px;margin:20px 0}.guide-definition p{margin-top:5px;color:#697d5c}.source-list{font-size:12px;padding-left:18px;line-height:2}.image-dialog{width:min(1100px,calc(100% - 28px));padding:22px}.image-dialog>img{width:100%;max-height:65dvh;object-fit:contain;margin:15px 0 0;display:block;border-radius:12px}.image-dialog .phase-label{font-size:12px}.image-dialog .phase-label b{font-size:10px}.image-dialog>p{font-size:12px;line-height:1.6;margin:10px 0 0}.image-dialog .image-disclaimer{font-size:10px;color:#7b876f}.skip-link{position:fixed;top:-100px;left:15px;background:#fff;padding:10px;z-index:50}.skip-link:focus{top:10px}#print-area{display:none}
@media(min-width:1400px){.intro{padding-top:52px;padding-bottom:52px}}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.intro{gap:25px}.intro-tags{gap:10px;font-size:9px}.week-card{padding:18px 18px 0}.week-strip{gap:4px}.day-tab{padding:14px 12px;gap:9px}.tab-label strong{font-size:11px}.tab-arrow{display:none}.equipment{display:none}.aftercare .soft-tag{display:none}.card-header{padding-inline:15px}.card-header h3{font-size:15px}.plan-toolbar>p{max-width:220px;text-align:right}.set-help{display:none}.footer>span:last-child{display:none}}
@media(max-width:650px){body{font-size:13px}.wrap{width:calc(100% - 32px)}.topbar{height:77px}.private-note{display:none}.brand{font-size:10px;gap:9px}.brand strong{font-size:12px}.brand-mark{width:36px;height:36px;font-size:30px;line-height:32px;border-radius:11px}.header-actions .button{font-size:10px;padding:7px 11px;min-height:36px}.intro{display:block;padding:29px 0 26px}.intro h1{font-size:39px;margin:13px 0;line-height:1.1}.intro-copy>p{font-size:12px}.eyebrow{font-size:9px}.intro-tags{gap:13px;font-size:9px;margin-top:17px}.week-card{margin-top:25px;padding:17px 18px 0}.week-top h2{font-size:13px}.week-strip{margin-top:16px;gap:9px}.day-circle{height:34px;max-width:40px;border-radius:10px}.week-day>span{margin-bottom:6px}.week-bottom{margin:16px 0 13px}.week-bottom p{font-size:10px}.week-footer{font-size:9px;padding:8px 0}.week-footer>span{font-size:16px}.section-heading{align-items:start;gap:12px;margin-bottom:15px}.section-heading h2{font-size:18px;line-height:1.3;max-width:230px}.section-heading>.text-button{font-size:9px;flex-shrink:0;max-width:78px;text-align:right;line-height:1.5;padding-top:0}.day-tabs{gap:6px}.day-tab{padding:11px 9px;display:block;position:relative;border-radius:12px;min-height:100px}.tab-number{width:24px;height:24px;font-size:10px;margin-bottom:8px}.tab-label{gap:4px}.tab-label small{font-size:8px}.tab-label strong{font-size:11px;line-height:1.35}.plan-toolbar{display:block;margin:15px 0 20px}.mode-control{gap:9px;justify-content:space-between}.mode-control label{font-size:10px}select{font-size:10px;min-height:36px;flex:1;max-width:265px}.plan-toolbar>p{text-align:left;max-width:none;font-size:9px;margin-top:8px}.day-panel-heading{display:block;margin-bottom:15px}.day-panel-heading h3{font-size:20px}.day-panel-heading p{font-size:11px}.start-button{margin-top:12px;width:100%;min-height:43px}.warmup summary{padding:12px;gap:8px;flex-wrap:wrap}.warmup-title{font-size:11px}.warmup-sub{font-size:9px}.warmup-icon{font-size:17px}.warmup ol{grid-template-columns:1fr;padding-left:36px;font-size:11px}.workout-meta{font-size:9px;gap:8px}.exercise-grid{grid-template-columns:1fr;gap:15px}.card-header{padding:16px 15px 12px;gap:10px}.card-header h3{font-size:16px}.card-header p{font-size:9px}.equipment{display:block;font-size:8px;max-width:68px}.exercise-visual{margin:0 9px;width:calc(100% - 18px)}.exercise-visual img{aspect-ratio:1.8}.exercise-visual.ground img{aspect-ratio:2.15}.phase-labels{padding:8px 10px 12px;gap:7px}.phase-label{font-size:9px}.prescription{padding:12px 16px;gap:8px}.rep-value{font-size:20px}.rep-unit{font-size:10px}.rep-side{font-size:9px}.rest-button{font-size:10px;padding:7px 8px}.cue{padding:13px 16px 0;font-size:12px;min-height:0}.technique{padding:0 16px}.technique summary{font-size:11px;padding:12px 0}.technique ol,.technique>p{font-size:12px}.set-controls{padding:3px 16px 16px}.set-button{min-height:40px;font-size:11px}.set-help{display:block;font-size:9px}.session-card{padding:24px;min-height:290px}.session-icon{font-size:34px;margin-bottom:14px}.session-card h3{font-size:22px}.session-card>p{font-size:12px}.aftercare{align-items:flex-start;gap:12px;margin-top:15px;padding:22px 0}.aftercare-number{width:34px;height:34px;font-size:20px}.aftercare h2{font-size:15px}.aftercare p{font-size:11px}.principles summary{font-size:11px;padding:17px 0;max-width:100%}.principles summary>span{margin-left:8px}.principles-grid{grid-template-columns:1fr;gap:14px;font-size:12px}.safety-note{font-size:10px;line-height:1.7}.footer{padding-bottom:28px;flex-wrap:wrap;gap:5px}.footer-brand>span{font-size:9px}.footer .text-button{font-size:9px}.timer{bottom:12px;padding:12px 14px;gap:13px;width:calc(100% - 24px);max-width:410px;justify-content:space-between}.timer-main{gap:10px}.timer-main>strong{font-size:26px;min-width:74px}.timer-presets button{font-size:9px;padding:5px 7px}.timer-toggle{width:35px;height:35px}.timer-close{padding:0 3px}.timer .eyebrow{font-size:7px}.info-dialog{padding:21px}.image-dialog{padding:16px}.dialog-heading h2{font-size:17px}.image-dialog .phase-label{font-size:9px}.image-dialog .phase-label b{font-size:8px}.image-dialog>img{margin-top:10px}.image-dialog>p{font-size:11px}.image-dialog .image-disclaimer{font-size:9px}}
@media(max-width:360px){.wrap{width:calc(100% - 24px)}.intro h1{font-size:35px}.intro-tags{gap:9px;font-size:8px}.equipment{display:none}.tab-label strong{font-size:10px}.timer{gap:7px;padding-inline:10px}.timer-presets{gap:3px}.timer-presets button{padding-inline:5px}.set-help{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{@page{size:A4;margin:12mm}body{background:#fff;color:#222;font-size:10pt}body>*{display:none!important}#print-area{display:block!important}#print-area h1{font-size:22pt;margin-bottom:6mm}#print-area h2{font-size:18pt;margin:6mm 0 3mm}#print-area p{font-size:9pt;line-height:1.5}.print-day{break-before:page}.print-exercise{break-inside:avoid;border-bottom:1px solid #ddd;padding:3mm 0;display:grid;grid-template-columns:65mm 1fr;gap:5mm;align-items:center}.print-exercise img{width:65mm;height:43mm;object-fit:contain}.print-exercise h3{font-size:12pt;margin-bottom:2mm}.print-exercise p{margin-bottom:2mm}.print-note{font-size:9pt!important}}

/* Keep the full three-pose strip visible at every viewport. */
.week-strip{grid-template-columns:repeat(7,minmax(0,1fr))}.week-day{min-width:0}.day-circle{aspect-ratio:auto;min-width:0}
.phase-switch{display:flex;justify-content:center;gap:6px;margin:18px 0}.phase-switch button{padding:8px 12px;min-height:36px;background:#eaf0e1;color:#536b45;font-size:11px;border-radius:8px}.phase-switch button[aria-pressed=true]{background:#294f40;color:#fff}.image-stage{overflow:hidden;margin:0 auto}.image-stage img{display:block;width:100%;max-height:60dvh;object-fit:contain}.image-stage.zoomed{width:min(340px,30dvh)}.image-stage.zoomed img{width:300%;max-width:none;max-height:none;height:auto}.image-stage.zoomed[data-ground=true]{width:min(500px,60dvh)}.image-stage.zoomed[data-ground=true] img{max-height:none}#image-stage.zoomed[data-ground=true]:has(img[src$="bridge.webp"]){width:min(340px,30dvh)}
.exercise-visual img{height:auto;aspect-ratio:3/2;object-fit:contain}
.exercise-visual.ground img{aspect-ratio:3/2;object-fit:contain}
#exercise-bridge .exercise-visual img{object-fit:cover}
@media(max-width:650px){.exercise-visual img{aspect-ratio:3/2}.exercise-visual.ground img{aspect-ratio:2.4}.exercise-visual.ground:not([data-image=bridge]) img{object-fit:contain}}

.image-stage.zoomed[data-ground=true]{width:min(100%,500px,60dvh)}
@media print{#print-area h1{font-size:18pt;margin-bottom:4mm}#print-area h2{font-size:16pt;margin:4mm 0 2mm}#print-area p{font-size:8.5pt;line-height:1.35}.print-exercise{grid-template-columns:50mm 1fr;gap:4mm;padding:2mm 0}.print-exercise img{width:50mm;height:33mm}.print-exercise h3{font-size:11pt;margin-bottom:1mm}.print-exercise p{margin-bottom:1mm}.print-note{font-size:8pt!important}}
