:root{color-scheme:dark;--gold:#c9a96e;--bg:#0d0d0d;--card:#171717;--line:#2b2a28;--text:#f5f0e8;--muted:#a19a8d;--mono:'DM Mono',monospace;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{color:inherit}header{max-width:1120px;margin:auto;padding:28px 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:700;letter-spacing:1.5px;color:var(--text);text-decoration:none}.brand>span{color:var(--gold)}small{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);font-weight:400;margin-top:5px}.athlete{display:flex;align-items:center;gap:12px;font-size:12px}.avatar{width:38px;height:38px;border:1px solid #766444;display:grid;place-items:center;border-radius:50%;font:12px var(--mono);color:var(--gold)}main{max-width:960px;padding:0 36px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;padding:46px 0 34px}.eyebrow{font:10px var(--mono);letter-spacing:2px;color:var(--gold);margin:0 0 12px}h1{font:600 56px/1.1 var(--serif);margin:0 0 16px;letter-spacing:-2px}h1 em{color:var(--gold);font-style:normal}h2{font:600 28px/1.2 var(--serif);margin:0}h3{font-size:18px;margin:0}.muted{color:var(--muted)}.intro .muted{margin:0}.plan-label{display:flex;align-items:center;gap:14px}.plan-label b{font:48px var(--serif);color:var(--gold)}.plan-label span{font:9px/1.8 var(--mono);letter-spacing:1px;color:var(--muted)}nav{display:flex;border-bottom:1px solid var(--line);gap:28px;margin-bottom:32px}nav button{border:0;border-bottom:2px solid transparent;background:none;padding:16px 2px;color:var(--muted);font:10px var(--mono)}nav button span{font:600 14px Inter,sans-serif;margin-left:10px}nav button.active{border-color:var(--gold);color:var(--gold)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 24px}.date-label{color:var(--muted);font-size:10px;display:grid;gap:5px}input,select{border:1px solid #3c3933;border-radius:7px;background:#101010;color:var(--text);padding:10px;min-height:44px}input:focus,select:focus{outline:1px solid var(--gold);border-color:var(--gold)}.days{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}.day{background:#141414;text-align:left;border:1px solid var(--line);border-radius:9px;padding:16px 18px}.day small{font:9px var(--mono);margin:0 0 5px}.day strong{font-size:14px}.day.active{border-color:var(--gold);background:#211d16;color:var(--gold)}.day.active small{color:var(--gold)}.session-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.session-head p{margin:5px 0;font-size:12px}.mono{font:11px var(--mono);color:var(--gold)}.meter{background:#25231f;height:3px;margin-top:14px}.meter i{display:block;height:100%;background:var(--gold);width:0;transition:width .2s}.help{font-size:11px;color:var(--muted);margin:14px 0 22px}.exercise{border:1px solid var(--line);background:var(--card);border-radius:12px;overflow:hidden;margin-bottom:16px}.ex-head{display:flex;align-items:center;gap:17px;padding:20px}.photo-btn{padding:0;border:0;width:88px;height:88px;border-radius:8px;overflow:hidden;flex:none;background:white}.photo-btn img{width:100%;height:100%;object-fit:contain;display:block}.ex-meta{flex:1}.ex-meta h3{font-size:16px;line-height:1.4;margin:5px 0}.ex-number{font:10px var(--mono);color:var(--gold);letter-spacing:1.5px}.ex-meta p{font-size:11px;color:var(--muted);margin:4px 0}.note{font-size:12px;margin:0 20px 16px;padding:10px 12px;background:#211e18;border-left:2px solid var(--gold);color:#d9c8a9}.sets{padding:0 20px 18px}.set-row{display:grid;grid-template-columns:30px 90px 1fr 94px 80px 44px;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #292724}.set-row:last-child{border:0}.set-row.labels{font:9px var(--mono);color:var(--muted);letter-spacing:.5px;padding-bottom:10px}.set-row input{width:100%;text-align:center;font:14px var(--mono);padding:7px 4px}.set-row .target{font:12px var(--mono)}.badge{font:9px var(--mono);text-transform:uppercase;color:var(--muted)}.badge.top{color:var(--gold)}.set-no{font:11px var(--mono);color:var(--muted)}.done{width:40px;height:44px;border:1px solid #484237;border-radius:7px;background:transparent;color:var(--muted);font-size:17px}.set-row.completed .done{background:var(--gold);color:#15120c;border-color:var(--gold)}.set-row.completed{background:#c9a96e06}.previous{font:10px var(--mono);color:var(--muted);margin:12px 0 0}.session-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px 0 20px}.session-footer p{font-size:11px;color:var(--muted)}.primary{background:var(--gold);color:#13110c;border:0;border-radius:7px;padding:14px 21px;font-weight:600;min-height:48px}.primary span{margin-left:20px}.primary:disabled{opacity:.5;cursor:default}.quiet{background:transparent;border:1px solid #403a30;border-radius:6px;color:var(--gold);padding:10px 13px;min-height:44px;font-size:11px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:22px;background:var(--card);border:1px solid var(--line);border-radius:10px}.stat strong{font:30px var(--serif);display:block;color:var(--gold)}.stat span{font:10px var(--mono);color:var(--muted)}.chart-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;margin:24px 0}.chart-card select{display:block;width:100%;margin:10px 0;font-size:14px}.chart-card>p{font-size:11px}.chart-svg{display:block;width:100%;height:auto}.empty{text-align:center;padding:42px 20px;border:1px dashed #39342b;border-radius:8px;color:var(--muted);font-size:13px}.empty b{display:block;color:var(--text);font-size:16px;margin-bottom:8px}.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 2px;border-bottom:1px solid var(--line)}.history-row b{display:block;font-size:13px}.history-row small{letter-spacing:0;font-size:11px}.backup{margin:28px 0;font-size:12px}.backup summary{cursor:pointer;color:var(--muted);padding:12px 0}.backup button{margin-right:8px}.file{display:inline-flex;align-items:center;cursor:pointer}.file input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.file:focus-within{outline:2px solid var(--gold)}footer{padding:28px 0;border-top:1px solid var(--line);font:9px var(--mono);letter-spacing:1px;margin-top:30px}footer p{color:var(--muted);letter-spacing:0;font:10px Inter,sans-serif}dialog{padding:14px;border:1px solid var(--line);border-radius:12px;max-width:520px;width:90%;background:#171717;color:var(--text)}dialog::backdrop{background:#000c}dialog img{width:100%;border-radius:8px;display:block}dialog p{margin:12px 3px;font-size:12px}dialog button{position:absolute;right:23px;top:23px;width:40px;height:40px;border-radius:50%;border:0;background:#111d;color:white;font-size:26px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 20px;border:1px solid var(--gold);border-radius:9px;background:#232017;color:var(--text);z-index:10;font-size:13px;max-width:90%;width:max-content}button:hover{filter:brightness(1.12)}[hidden]{display:none!important}@media(max-width:620px){header{padding:20px}.brand{font-size:14px}.athlete>span:last-child{display:none}main{padding:0 18px}.intro{padding:32px 0}h1{font-size:42px}.intro>.plan-label{display:none}.intro .muted{font-size:12px}nav{margin-bottom:24px}.section-top{align-items:flex-start}h2{font-size:22px}.date-label input{font-size:11px;padding:7px;max-width:140px}.day{padding:12px 10px}.day strong{font-size:12px}.day small{font-size:8px}.days{gap:7px}.session-head h3{font-size:17px}.ex-head{padding:16px;gap:13px}.photo-btn{width:70px;height:70px}.ex-meta h3{font-size:14px}.sets{padding:0 13px 13px}.set-row{grid-template-columns:20px 55px minmax(46px,1fr) 61px 52px 34px;gap:5px}.set-row.labels{font-size:8px;letter-spacing:0}.badge{font-size:8px}.set-row .target{font-size:11px}.done{width:32px}.note{margin:0 16px 13px;font-size:11px}.session-footer{align-items:stretch;flex-direction:column;gap:6px}.session-footer p{margin:3px 0 8px}.stats{gap:7px}.stat{padding:14px 10px}.stat strong{font-size:26px}.stat span{font-size:8px}.chart-card{padding:16px}.history-row{font-size:12px}.history-row .quiet{padding:8px}.section-top .quiet{font-size:10px}footer{line-height:1.8}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Quiet editorial layout */
header{padding-top:24px;padding-bottom:24px}.intro{padding:34px 0 26px}.intro h1{font:500 35px/1.2 Inter,sans-serif;letter-spacing:-1.5px;margin:0}.intro h1 em{color:var(--text)}.plan-meta{font:9px var(--mono);letter-spacing:1.8px;color:var(--muted);margin:12px 0 0}.minimal-mark{font:11px var(--mono);color:var(--gold)}h2{font:500 22px/1.3 Inter,sans-serif;letter-spacing:-.6px}nav{position:relative;gap:32px;margin-bottom:24px}nav button{border:0;padding:16px 0}.nav-marker{position:absolute;bottom:-1px;left:0;height:2px;background:var(--gold);transition:transform .28s cubic-bezier(.22,1,.36,1),width .28s}.period-caption{margin:8px 0 0;font:10px var(--mono);color:var(--gold)}.section-top{margin-top:24px}.exercise{border-radius:9px;transition:border-color .2s}.exercise:focus-within{border-color:#756447}.day,.week,.months button{transition:background .2s,border-color .2s,color .2s}.done{transition:background .15s,transform .15s}.done:active,.primary:active{transform:scale(.96)}.primary{transition:background .15s,transform .15s}.ex-meta h3{font-weight:500}.help{font-size:10px}.stats .stat strong{font:400 28px var(--mono)}.stat{background:transparent}.session-footer{padding-top:4px}footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:8px;letter-spacing:.8px}.report-controls{border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:24px}.report-settings{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.report-settings p{font-size:11px}.report-settings input{width:170px}.months{display:flex;gap:4px;background:#161616;border-radius:7px;padding:4px;margin-bottom:16px}.months button{flex:1;min-height:44px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:12px}.months button.active{background:#27231c;color:var(--gold);border-color:#55462d}.report-weeks{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.week{padding:16px 10px;text-align:left;background:transparent;border:1px solid var(--line);border-radius:7px}.week.active{border-color:var(--gold);background:#c9a96e09}.week span{display:block;font-size:12px}.week small{font:9px var(--mono);letter-spacing:0;margin-top:10px}.week i{display:block;font:9px var(--mono);color:var(--gold);margin-top:16px}.report-selection{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:22px}.report-selection>span{font:10px var(--mono);color:var(--muted)}.report-actions{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:22px 0 16px}.report-actions>div{display:flex;gap:8px}.report-actions .primary{font-size:11px;padding:10px 14px;min-height:44px}.report-paper{border:1px solid var(--line);border-radius:10px;background:#141414;padding:26px}.report-heading{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:22px}.report-heading h2{font-size:24px}.report-heading strong{font:12px var(--mono)}.report-heading p:not(.eyebrow){font-size:10px;color:var(--muted);margin-bottom:0}.report-heading>div:last-child{text-align:right}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:24px 0}.report-summary b{font:24px var(--mono);display:block;color:var(--gold)}.report-summary span{display:block;font-size:10px;color:var(--muted);margin-top:8px}.report-day-status{display:flex;justify-content:space-between;gap:12px;font-size:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;color:var(--muted)}.report-day-status b{color:var(--text);margin-right:5px;font-weight:500}.report-paper h3{font-size:14px;font-weight:500;margin:28px 0 12px}.report-note{font-size:10px;color:var(--muted);line-height:1.6}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-weight:500;color:var(--muted);font-size:9px;padding:10px 7px;border-bottom:1px solid #474033;white-space:nowrap}td{padding:11px 7px;border-bottom:1px solid var(--line)}td:first-child{min-width:140px}td:not(:first-child){font-family:var(--mono);font-size:10px}td small{font-size:8px;letter-spacing:0;margin-top:3px}.report-session-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 8px}.report-session-title h4{font-size:12px;margin:0;font-weight:500}.report-session-title span{font-size:9px;color:var(--muted)}.report-empty{padding:50px 0;text-align:center;color:var(--muted)}.report-end{border-top:1px solid var(--line);padding-top:18px;margin-top:28px}.quiet:disabled{opacity:.4;cursor:default}
@media(max-width:620px){.intro{padding:26px 0 20px}.intro h1{font-size:28px}.minimal-mark{font-size:9px}nav{gap:0;justify-content:space-between}nav button{font-size:9px}nav button span{font-size:11px;margin-left:6px}.section-top h2{font-size:20px}.section-top>.mono{font-size:8px}.report-controls{padding:15px}.report-settings{align-items:flex-start}.report-settings p{max-width:130px;font-size:10px;margin:18px 0 0}.report-settings input{width:150px}.report-weeks{grid-template-columns:repeat(2,1fr)}.week{padding:12px}.week i{margin-top:10px}.report-selection{align-items:stretch;flex-direction:column}.report-selection>span{text-align:center}.report-actions{align-items:flex-start;flex-direction:column}.report-actions>div{width:100%}.report-actions button{flex:1}.report-paper{padding:16px}.report-heading{flex-direction:column;gap:14px}.report-heading>div:last-child{text-align:left}.report-summary{gap:8px}.report-summary span{font-size:9px}.report-summary b{font-size:20px}.report-day-status{gap:8px;font-size:9px}.report-day-status b{display:block;margin-bottom:3px}.report-session-title{align-items:flex-start;flex-direction:column;gap:4px}}
@media print{@page{size:A4;margin:14mm}*{color:#151515!important;background:white!important;box-shadow:none!important;text-shadow:none!important;animation:none!important}body{font-size:10pt}header,nav,.intro,main>section:not(#reporte),#reporte>.section-top,.report-controls,.report-actions,footer,dialog,#toast{display:none!important}main{max-width:none;padding:0;margin:0}#reporte{display:block!important}.report-paper{padding:0;border:0;border-radius:0}.table-scroll{overflow:visible}table{font-size:9pt}td:not(:first-child),th{font-size:8pt}thead{display:table-header-group}tr{break-inside:avoid}h3,h4,.report-session-title{break-after:avoid}.report-heading{flex-direction:row}.report-heading>div:last-child{text-align:right}.report-summary,.report-heading,.report-day-status{break-inside:avoid}.report-summary span,.report-note{font-size:8pt}th,td{border-color:#ccc}.report-note{color:#555!important}.report-session-title{flex-direction:row}}
