:root{--ink:#202e27;--muted:#6f7870;--forest:#173e32;--green:#346550;--sage:#a4b997;--lime:#e4eacd;--orange:#db7046;--gold:#b7ac73;--paper:#f6f6f0;--line:#e0e4d9;--white:#fff;--radius:17px;--shadow:0 3px 13px #263b2b04;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}input:focus,select:focus{outline:2px solid var(--green);outline-offset:1px}input[aria-invalid=true]{border-color:#b04432}h1,h2,h3,h4,p{margin:0}h2{font-size:24px;letter-spacing:-.7px;font-weight:650}h3{font-size:18px;letter-spacing:-.4px}svg{width:19px;height:19px;display:block;flex-shrink:0}button svg{width:17px;height:17px}button [data-icon],a [data-icon]{display:flex}button{border:0;background:none;color:inherit}input,select{min-width:0;width:100%;height:43px;padding:0 12px;border:1px solid #d8ded4;border-radius:8px;background:#fff;color:var(--ink)}select{padding-right:24px}input[type=date]{min-height:43px}label{display:block;font-size:12px;font-weight:600;margin:13px 0 7px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}[hidden]{display:none!important}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:var(--muted);margin-bottom:9px}.topbar{height:79px;padding:0 max(32px,calc((100vw - 1270px)/2));background:#fcfcf8;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:50px;position:relative;z-index:10}.brand{display:inline-flex;align-items:center;font-weight:850;letter-spacing:1.9px;font-size:22px;text-decoration:none;flex-shrink:0}.brand-dot{color:var(--orange)}.brand-icon{display:flex;align-items:center;gap:3px;transform:skew(-25deg);height:26px;margin-right:13px}.brand-icon i{display:block;width:4px;height:19px;background:var(--forest);border-radius:3px}.brand-icon i:first-child{height:12px}.brand-icon i:last-child{height:26px}.topbar nav{display:flex;gap:30px;align-self:stretch}.topbar nav a{display:flex;align-items:center;text-decoration:none;color:var(--muted);font-size:13px;border-bottom:2px solid transparent;padding-top:2px}.topbar nav a.active{border-color:var(--forest);color:var(--forest);font-weight:650}.level-tag{margin-left:auto;font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:7px;color:var(--green);padding:8px 10px;border:1px solid var(--line);border-radius:6px}.level-tag>span{width:6px;height:6px;background:var(--green);border-radius:50%}main{max-width:1270px;margin:auto;padding:43px 0 0}.heading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}h1{font-size:43px;line-height:1.15;letter-spacing:-1.8px;font-weight:720}h1>span{color:var(--orange)}.page-intro{color:var(--muted);font-size:14px;margin-top:10px}.heading-actions{display:flex;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 17px;border-radius:8px;font-size:12px;font-weight:600;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button.dark{background:var(--forest);color:#fff}.button.dark:hover{background:#255240}.button.quiet{background:#fcfcf8;border:1px solid #d8ded4}.button.quiet:hover{background:#e9ede2}.button.small{font-size:11px;min-height:35px;padding:7px 12px}.example-banner{display:flex;align-items:center;gap:10px;border:1px solid #dbe2ce;background:#eef1e3;border-radius:8px;padding:11px 15px;font-size:12px;color:#546347;margin-bottom:18px}.example-banner svg{width:16px;height:16px}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:23px;align-items:start}.overview-main{min-width:0}.race-card{background:var(--forest);color:#f8f9f2;min-height:249px;padding:30px 34px;position:relative;overflow:hidden;border-radius:var(--radius);isolation:isolate}.pill{display:inline-flex;align-items:center;gap:7px;font-size:9px;font-weight:650;letter-spacing:1.3px;padding:7px 10px;border-radius:5px;background:#e4e9d9;color:var(--forest)}.pill.light{background:#ffffff10;border:1px solid #ffffff25;color:#e5ebd9;font-size:9px;letter-spacing:1.5px}.pill i{display:block;width:5px;height:5px;background:#c6d1ac;border-radius:50%}.race-text{max-width:65%;position:relative;z-index:1}.race-card h2{font-size:35px;line-height:1.13;letter-spacing:-1.1px;margin-top:23px;overflow-wrap:anywhere;font-weight:600}.race-athlete{margin-top:9px;font-size:13px;line-height:1.5;color:#d3e1bb;overflow-wrap:anywhere}.race-date{margin-top:9px;font-size:16px;color:#e5ebdb}.start-date{margin-top:23px;font-size:11px;color:#b8c8bc}.race-line{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:11px;color:#c9d7c4}.race-line>span:first-child{color:#d3e1bb;font-size:18px}.track-art{position:absolute;width:280px;height:300px;right:0;top:-12px;z-index:0;overflow:visible;transform:rotate(-18deg)}.track-ring{position:absolute;inset:-3px 0;border:1px solid #9db69b40;border-radius:160px}.r2{inset:12px 15px}.r3{inset:27px 30px}.r4{inset:42px 45px}.track-number{position:absolute;top:83px;left:60px;font-size:78px;line-height:.9;font-weight:300;letter-spacing:-5px;color:#e9edcf;transform:rotate(18deg);font-variant-numeric:tabular-nums}.track-number>span{font-size:29px;letter-spacing:-1px}.track-number>small{display:block;font-size:8px;font-weight:500;letter-spacing:3.1px;margin-top:18px;text-align:center;color:#bbc9b6}.finish-line{position:absolute;top:235px;right:8px;height:13px;width:80px;background:repeating-conic-gradient(#cad5b3 0% 25%,transparent 0% 50%) 50%/10px 10px;transform:rotate(-26deg);opacity:.8}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:16px}.stat{padding:19px 20px;background:#fdfdf9;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.stat-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.stat-label svg{width:14px;height:14px;opacity:.7}.stat-value{font-size:29px;font-weight:650;letter-spacing:-1px;margin:9px 0 4px;font-variant-numeric:tabular-nums}.stat-value small{font-size:12px;color:var(--muted);font-weight:450;letter-spacing:0;margin-left:4px}.stat-caption{font-size:10px;color:var(--muted)}.plan-scope{display:flex;gap:8px;color:#78816f;font-size:10px;line-height:1.6;margin:16px 3px 0}.plan-scope svg{width:14px;height:14px;margin-top:1px}.plan-scope strong{font-weight:550}.config-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;background:#fcfcf8;box-shadow:var(--shadow)}.config-card .section-title{margin-bottom:15px}.config-card h2{font-size:17px;letter-spacing:-.3px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title .eyebrow{margin-bottom:7px}.optional{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}.field-number{font-size:9px;letter-spacing:.5px;color:#8b967c;margin-right:6px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.input-unit{position:relative}.input-unit input{padding-right:42px}.input-unit>span{position:absolute;right:12px;top:15px;font-size:11px;color:#89917f;pointer-events:none}.field-hint{font-size:10px;color:#7c8575;line-height:1.6;margin-top:8px}.advanced-settings{border-top:1px solid var(--line);margin-top:17px;padding-top:13px}.advanced-settings summary,.method-card summary{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--green);font-weight:550;gap:10px}.advanced-settings summary svg,.method-card summary svg{width:14px;height:14px;transition:transform .2s}details[open]>summary svg{transform:rotate(180deg)}.advanced-body{padding-top:2px}.advanced-body label{font-size:11px}.advanced-body select,.advanced-body input{height:38px;font-size:11px}.button.generate{width:100%;margin-top:17px;justify-content:space-between;background:var(--forest);color:#f7f8ed;min-height:43px;padding:12px 15px}.button.generate:hover{background:#26543f}.save-note{margin-top:11px;font-size:9px;color:#89917f;display:flex;align-items:center;justify-content:center;gap:5px;line-height:1.4;text-align:center}.save-note svg{width:11px;height:11px}.save-note.dirty{color:#a96530}.error{display:block;line-height:1.4;font-size:10px;color:#ae3c28;margin-top:5px}.error:empty{display:none}.card{background:#fcfcf8;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.load-section{margin-top:27px;padding:24px 27px 17px}.load-section h2{font-size:20px;letter-spacing:-.5px}.chart-legend{display:flex;align-items:center;gap:18px;font-size:10px;color:var(--muted)}.chart-legend>span{display:flex;align-items:center;gap:5px}.legend-dot{width:6px;height:6px;background:var(--green);border-radius:2px;display:inline-block}.legend-dot.race{background:var(--orange)}.chart-unit{margin-left:12px}.chart-shell{position:relative;margin-top:30px;padding-left:30px}.chart-scale{position:absolute;left:0;top:0;bottom:27px;font-size:9px;color:#909985;display:flex;flex-direction:column;justify-content:space-between}.load-chart{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:9px;position:relative}.load-chart:before{content:"";position:absolute;inset:0 0 26px;background:repeating-linear-gradient(to top,transparent 0,transparent calc(33.333% - 1px),#e8ebe3 calc(33.333% - 1px),#e8ebe3 33.333%);pointer-events:none}.bar-col{display:flex;flex-direction:column;gap:9px;padding:0;min-width:0;position:relative;align-items:stretch;border-radius:5px}.bar-space{height:143px;display:flex;align-items:flex-end;justify-content:center;padding:0 8%;position:relative}.bar{display:flex;flex-direction:column;justify-content:flex-end;width:100%;position:relative;min-width:5px;max-width:44px;border-radius:4px 4px 0 0;opacity:.78;transition:opacity .15s,filter .15s}.bar-value{position:absolute;bottom:calc(100% + 7px);font-size:10px;line-height:1;color:#788371;left:50%;transform:translateX(-50%);white-space:nowrap;font-variant-numeric:tabular-nums}.bar-training{background:var(--green);width:100%;border-radius:4px 4px 0 0}.bar-race{background:var(--orange);width:100%;border-radius:4px 4px 0 0}.bar-race+.bar-training{border-radius:0}.bar-col.block-2 .bar-training{background:#779078}.bar-col.block-3 .bar-training{background:#b2ad81}.bar-col.block-4 .bar-training{background:#537b63}.bar-col.recovery .bar-training{background:#d2dac6}.bar-col:hover .bar,.bar-col.selected .bar{opacity:1;filter:brightness(.96)}.bar-col.selected .bar-value{color:var(--forest);font-weight:750}.bar-label{font-size:9px;color:#8a9381;text-align:center;min-height:20px;padding:3px}.bar-col.selected .bar-label{color:#fff;background:var(--forest);border-radius:4px;font-weight:600}.bar-col:nth-child(4n){margin-right:9px}.chart-footer{padding-left:30px;display:flex;align-items:center;justify-content:space-between;color:#909985;font-size:9px;margin-top:10px}.chart-footer>span:first-child{font-size:8px;letter-spacing:1.3px}.chart-footer>span:last-child>span{color:var(--forest);margin-left:5px}.plan-section{margin-top:43px}.plan-title-row{margin-bottom:20px}.text-button{font-size:11px;display:inline-flex;gap:8px;align-items:center;color:var(--green);padding:5px 0;text-decoration:none}.text-button svg{width:14px;height:14px}.block-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}.block-tab{border:1px solid var(--line);border-radius:12px;background:#fcfcf8;text-align:left;padding:17px 18px 15px;transition:background .15s;position:relative;min-width:0}.block-tab:hover{background:#eef0e6}.block-tab[aria-selected=true]{background:var(--forest);border-color:var(--forest);color:#fff}.block-tab-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.2px;color:var(--muted);font-weight:650}.block-tab-top>span:last-child{font-size:9px;border:1px solid var(--line);padding:4px 5px;border-radius:4px;letter-spacing:0;font-weight:400}.block-tab[aria-selected=true] .block-tab-top{color:#becbb8}.block-tab[aria-selected=true] .block-tab-top>span:last-child{border-color:#ffffff25}.block-tab strong{display:block;font-size:16px;letter-spacing:-.35px;font-weight:550;margin:13px 0 7px}.block-tab-bottom{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted);line-height:1.5}.block-tab[aria-selected=true] .block-tab-bottom{color:#becbb8}.block-tab-bottom>span:last-child{font-weight:650}.week-panel{overflow:hidden}.block-context{background:#f0f2e8;padding:17px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.block-indicator{font-size:9px;color:var(--green);font-weight:650;letter-spacing:1.2px}.block-context p{font-size:11px;margin-top:5px;color:#7f8876}.block-context .button{background:#fcfcf8}.week-heading{display:flex;align-items:center;gap:30px;padding:23px 25px;border-bottom:1px solid var(--line)}.week-meta{font-size:8px;color:var(--green);font-weight:650;letter-spacing:1.3px;margin-bottom:7px}.week-meta.recovery{color:#89945d}.week-meta.taper{color:#bd693a}.week-heading h3{font-size:25px;font-weight:600;letter-spacing:-.7px}.week-heading p{font-size:10px;color:var(--muted);margin-top:6px}.week-selection{display:flex;gap:8px;align-items:center;margin-left:auto}.icon-button{height:31px;width:31px;border:1px solid var(--line);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:#fdfdf9;flex-shrink:0}.icon-button:hover{background:#edf0e4}.icon-button svg{width:15px;height:15px}.week-buttons{display:flex;gap:5px}.week-button{width:31px;height:31px;font-size:10px;border-radius:6px;border:1px solid var(--line)}.week-button[aria-pressed=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.week-distance{text-align:right;min-width:135px;border-left:1px solid var(--line);padding-left:26px}.week-distance>strong{font-size:27px;letter-spacing:-.7px;font-weight:600}.week-distance>strong small{font-size:11px;letter-spacing:0;font-weight:450;margin-left:4px}.week-distance>span{display:block;font-size:9px;color:var(--muted);margin-top:5px}.session-list{padding:0 25px}.session{display:grid;grid-template-columns:85px 40px minmax(0,1fr) 80px;gap:15px;padding:19px 0;border-bottom:1px solid #e9ece3;align-items:center}.session:last-child{border:0}.session-day{font-size:11px;font-weight:550}.session-day time{display:block;font-size:10px;color:var(--muted);margin-top:6px;font-weight:400}.session-icon{width:33px;height:33px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#edf0e5;color:#738664}.session-icon svg{width:16px;height:16px}.session-icon.quality{background:#f8ebe1;color:#b97648}.session-icon.long{background:#e5eddd;color:#66835b}.session-icon.rest{background:#f1f2ed;color:#a0a697}.session-icon.race{background:var(--forest);color:var(--lime)}.session h4{font-weight:550;font-size:12px;margin-bottom:5px}.session-detail{font-size:11px;line-height:1.6;color:#7a8372;white-space:pre-line}.session-detail:empty{display:none}.session-alternative{font-size:9px;color:#919986;margin-top:6px}.session-distance{text-align:right;font-size:16px;font-weight:550;letter-spacing:-.4px;white-space:nowrap;font-variant-numeric:tabular-nums}.session-distance>span{font-size:10px;font-weight:400;color:var(--muted);letter-spacing:0}.session-distance.no-distance{font-size:16px;font-weight:350;color:#a6ad9c}.session.is-race{background:linear-gradient(to right,#eff3e500, #eff3e5);margin:0 -25px;padding-right:25px;padding-left:25px}.week-footnote{border-top:1px solid var(--line);padding:13px 25px;font-size:10px;line-height:1.6;background:#f9faf3;color:#818a77}.pace-section{margin-top:43px}.subtle-tag{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:7px 10px;border-radius:5px;background:#fcfcf8;white-space:nowrap}.pace-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:21px 0}.pace-card{border:1px solid var(--line);background:#fcfcf8;padding:19px 17px;border-radius:11px}.pace-card.marathon{border-color:#a0b59a;background:#eaf0e1}.pace-card-header{font-size:10px;color:var(--muted);min-height:25px;display:flex;align-items:flex-start;gap:7px;line-height:1.3}.pace-card-header i{width:5px;height:5px;background:var(--green);display:block;border-radius:50%;margin-top:4px;flex-shrink:0}.pace-card.orange i{background:var(--orange)}.pace-card.gray i{background:#adb49e}.pace-value{font-size:26px;letter-spacing:-.9px;font-weight:550;margin:7px 0;font-variant-numeric:tabular-nums}.pace-value>small{font-size:10px;color:var(--muted);letter-spacing:0;margin-left:4px;font-weight:400}.pace-offset{font-size:9px;color:#929a86}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.hr-card,.method-card{padding:25px}.hr-card .section-title{margin-bottom:18px}.hr-card h3{font-size:16px}.hr-summary{display:flex;align-items:center;gap:14px;margin-bottom:15px}.hr-value{font-size:32px;font-weight:550;letter-spacing:-1px}.hr-value small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0}.hr-summary>p{font-size:10px;color:var(--muted);line-height:1.7}.hr-zones{display:flex;gap:7px}.zone{flex:1;min-width:0;border-top:4px solid #d1dac4;padding:9px 4px 8px;font-size:9px;line-height:1.6}.zone:nth-child(2){border-color:#afc29f}.zone:nth-child(3){border-color:#789574}.zone:nth-child(4){border-color:#486c51}.zone:nth-child(5){border-color:#d78c5b}.zone strong{font-size:10px;display:block}.zone span{font-size:8px;color:#8e9781}.hr-note{font-size:10px;color:#7c8672;line-height:1.7;margin-top:13px}.hr-note a{color:var(--green);text-underline-offset:2px}.mini-label{font-size:8px;letter-spacing:1.4px;color:var(--green);font-weight:600}.method-card h3{margin:16px 0 13px;font-size:20px;max-width:300px;line-height:1.35;font-weight:550}.method-card p{font-size:11px;line-height:1.8;color:#7f8776}.method-card details{margin-top:21px;border-top:1px solid var(--line);padding-top:16px}.method-details ul{padding-left:16px;font-size:10px;line-height:1.8;color:#7f8776;margin:13px 0}.method-details li{margin-bottom:7px}.print-section{margin-top:36px;padding:33px 38px;border-radius:var(--radius);background:#e8eddf;border:1px solid #dbe2cf;display:flex;justify-content:space-between;gap:35px;align-items:center}.print-section .pill{background:#dce5d0;letter-spacing:1px;font-size:8px}.print-section h2{font-size:32px;line-height:1.18;letter-spacing:-1px;margin-top:13px;font-weight:550}.print-section p{color:#7c8770;font-size:11px;line-height:1.8;max-width:395px;margin-top:13px}.print-options{width:330px;flex-shrink:0}.print-options label{margin-top:0;font-size:11px}.print-options select{height:43px;background:#f8faf2;border-color:#c8d4bb;font-size:12px}.print-options .button{width:100%;margin-top:12px}.print-options p{text-align:center;font-size:9px;margin-top:9px}footer{display:flex;align-items:center;gap:30px;margin-top:38px;padding:24px 0 28px;border-top:1px solid var(--line)}footer .brand{font-size:15px;letter-spacing:1.5px}footer>span{font-size:9px;color:#9aa18f}footer>.text-button{margin-left:auto;font-size:9px;color:#929b83}.skip-link{position:fixed;left:15px;top:-80px;z-index:50;padding:14px;background:var(--forest);color:#fff;border-radius:7px}.skip-link:focus{top:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--forest);color:#f9fbed;border:1px solid #ffffff30;border-radius:9px;padding:14px 20px;font-size:12px;line-height:1.5;max-width:calc(100vw - 32px);width:max-content;z-index:40;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 7px 30px #173e3220}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:16px;padding:24px;max-width:min(1100px,95vw);width:1100px;max-height:91dvh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#152b2590;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialog-top h2{font-size:23px}.dialog-actions{display:flex;gap:12px;align-items:center}.print-tip{font-size:10px;color:var(--muted);line-height:1.7;margin-top:16px;margin-bottom:20px}#print-root{display:none}#print-preview{overflow-x:auto}.print-page{background:white;border:1px solid #dde2d7;border-radius:2px;padding:24px;min-width:760px;color:#23382b;margin-bottom:18px}.print-page:last-child{margin-bottom:0}.print-header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #345742;padding-bottom:12px;margin-bottom:12px}.print-header h2{font-size:19px;line-height:1.3;letter-spacing:-.3px}.print-header .print-brand{font-size:11px;letter-spacing:1.5px;font-weight:750;margin-bottom:8px}.print-header p{font-size:10px;margin-top:6px;color:#6f7e69;line-height:1.5}.print-race-info{text-align:right;font-size:10px;line-height:1.7;max-width:250px;overflow-wrap:anywhere}.print-race-info strong{font-size:13px}.print-pace-strip{display:flex;flex-wrap:wrap;gap:9px;font-size:9px;line-height:1.7;margin-bottom:12px}.print-pace-strip>span{background:#f1f4eb;padding:3px 6px}.print-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:10px;line-height:1.5}.print-table th,.print-table td{border:1px solid #d2daca;vertical-align:top;padding:8px;overflow-wrap:anywhere}.print-table th{background:#e7eddc;color:#2b4832;font-weight:600;text-align:left}.print-table thead th:first-child{width:7%}.print-table thead th small{display:block;font-size:8px;font-weight:400;margin-top:4px}.print-table tbody th{background:#f6f8f1;font-size:9px;font-weight:500}.print-table .cell-date{display:block;font-size:8px;color:#89917f;margin-bottom:5px}.print-session{white-space:pre-line;font-size:9px;line-height:1.5}.print-alternative{display:block;color:#8c9483;font-size:8px;margin-top:5px}.print-table .race-cell{background:#e7edda;font-weight:700}.print-table tfoot td{background:#f1f5e9;font-size:9px;font-weight:600}.print-table tfoot th{font-size:9px}.print-footnotes{font-size:8px;color:#7d8872;margin-top:12px;line-height:1.7}.print-footnotes strong{color:#485e3b}.no-script{position:fixed;inset:20px;background:white;border:2px solid var(--orange);padding:30px;z-index:100}
@media(min-width:1500px){main{max-width:1320px}.topbar{padding:0 calc((100vw - 1320px)/2)}.overview-grid{grid-template-columns:minmax(0,1fr) 355px}.race-card{min-height:258px}.track-art{right:30px}}
@media(max-width:1340px){main{padding-left:32px;padding-right:32px}.topbar{padding-left:32px;padding-right:32px}.overview-grid{grid-template-columns:minmax(0,1fr) 320px;gap:20px}.race-card{padding:29px}.config-card{padding:22px}.track-art{right:-25px}.heading-actions{flex-direction:column;align-items:stretch}.heading-actions .button{min-height:36px;font-size:11px;padding:9px 12px}}
@media(max-width:1050px){.overview-grid{grid-template-columns:minmax(0,1fr) 305px;gap:17px}.race-card{padding:26px;min-height:247px}.race-card h2{font-size:29px}.track-art{right:-55px;opacity:.8}.race-text{max-width:73%}.track-number{font-size:68px}.track-number>span{font-size:24px}.stat{padding:17px 14px}.stat-label{font-size:10px}.stat-value{font-size:26px}.stat-caption{font-size:9px}.config-card{padding:20px}.block-tab{padding:15px 13px}.block-tab strong{font-size:14px}.block-tab-bottom{flex-direction:column;gap:2px}.block-tab-top>span:last-child{font-size:8px}.block-tabs{gap:9px}.pace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pace-card{padding:17px 18px}.pace-card-header{min-height:0}.pace-value{margin:11px 0 7px}.chart-unit{display:none}.week-distance{min-width:120px;padding-left:20px}.week-heading{gap:20px}.week-buttons{gap:4px}.week-selection{gap:5px}.week-button,.icon-button{width:29px;height:29px}.hr-card,.method-card{padding:20px}.reference-grid{gap:17px}.hr-zones{gap:2px}.zone{padding-right:1px;padding-left:1px;font-size:8px}.hr-summary{gap:9px}.hr-badge{font-size:9px}.topbar{gap:35px}.topbar nav{gap:22px}h1{font-size:39px}}
@media(max-width:800px){.topbar{height:69px;padding:0 22px;gap:25px}.topbar .brand{font-size:18px;letter-spacing:1.5px}.brand-icon{margin-right:10px}.topbar nav{gap:18px}.topbar nav a{font-size:11px}.level-tag{font-size:9px;padding:6px 8px}.topbar .level-tag>span{width:4px;height:4px}main{padding:29px 22px 0}.heading-row{margin-bottom:22px}.heading-row .eyebrow{font-size:8px}h1{font-size:34px;letter-spacing:-1.3px}.page-intro{font-size:11px}.heading-actions .button{font-size:10px}.overview-grid{grid-template-columns:1fr;gap:19px}.race-card{min-height:242px}.race-text{max-width:70%}.track-art{right:30px;opacity:1}.race-card h2{font-size:34px}.stats-grid{margin-top:13px;gap:12px}.stat{padding:17px 19px}.stat-label{font-size:11px}.stat-value{font-size:28px}.stat-caption{font-size:10px}.plan-scope{font-size:10px;margin-top:12px}.config-card{padding:22px 24px}.config-card .section-title{margin-bottom:10px}.config-card form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.config-card form>label[for=race-name]{grid-column:1}.config-card form>#race-name{grid-column:1;grid-row:2}.config-card form>label[for=race-date-input]{grid-column:2;grid-row:1}.config-card form>#race-date-input{grid-column:2;grid-row:2}.config-card form>#error-raceDate{grid-column:2;grid-row:3}.config-card form>.form-columns{grid-column:1/-1}.config-card form>#pace-hint{grid-column:1/-1}.config-card form>.advanced-settings{grid-column:1/-1}.config-card form>.generate{grid-column:1/-1}.config-card form>.save-note{grid-column:1/-1}.config-card .form-columns{gap:18px}.load-section{padding:23px 22px 18px}.chart-shell{padding-left:24px}.bar-space{height:130px}.load-chart{gap:6px}.bar-value{font-size:8px}.bar-col:nth-child(4n){margin-right:5px}.chart-footer{padding-left:24px;font-size:8px}.block-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.block-tab{padding:17px}.block-tab strong{font-size:16px}.block-tab-bottom{flex-direction:row}.block-tab-top{font-size:9px}.plan-section,.pace-section{margin-top:31px}h2{font-size:22px}.plan-title-row .text-button{font-size:9px}.week-heading{flex-wrap:wrap;gap:17px;padding:20px 22px}.week-heading>div:first-child{flex:1}.week-distance{border:0;padding:0;min-width:90px;margin-left:auto;order:2}.week-selection{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:16px;gap:12px}.week-buttons{gap:9px}.week-button,.week-selection .icon-button{width:36px;height:34px;font-size:11px}.block-context{padding:17px 22px}.session-list{padding:0 22px}.session{grid-template-columns:73px 33px minmax(0,1fr) 58px;gap:10px;padding:18px 0}.session-detail{font-size:10px}.session.is-race{margin:0 -22px;padding-left:22px;padding-right:22px}.week-footnote{padding:13px 22px}.reference-grid{grid-template-columns:1fr;gap:16px}.hr-zones{gap:10px}.zone{font-size:10px}.zone span{font-size:9px}.zone strong{font-size:11px}.hr-card,.method-card{padding:24px}.hr-summary{gap:16px}.method-card h3{max-width:none}.pace-section>.section-title{align-items:flex-end}.subtle-tag{font-size:9px}.print-section{padding:26px;gap:25px}.print-section h2{font-size:28px}.print-options{width:265px}.print-section p{font-size:10px}footer{gap:18px}footer>span{font-size:8px}.dialog-top{align-items:flex-start}.dialog-actions{gap:8px}.dialog-actions .button{font-size:11px}.dialog-top h2{font-size:20px}}
@media(max-width:520px){.topbar{height:64px;padding:0 18px;justify-content:space-between;gap:14px}.topbar nav{gap:17px}.topbar nav a{font-size:10px}.topbar nav a:first-child{display:none}.level-tag{display:none}.topbar .brand{font-size:18px}.brand-icon{transform:skew(-25deg) scale(.8);margin-right:7px}.heading-row{display:block;margin-bottom:18px}.heading-actions{flex-direction:row;margin-top:19px;gap:8px;align-items:stretch}.heading-actions .button{font-size:10px;flex:1;padding:9px 8px;min-height:38px;gap:6px}.heading-actions .button svg{width:14px;height:14px}main{padding:25px 17px 0}h1{font-size:34px}.page-intro{font-size:12px}.example-banner{padding:10px 12px;font-size:10px;line-height:1.6;gap:8px}.example-banner svg{flex-shrink:0}.race-card{padding:24px;min-height:232px}.race-card h2{font-size:28px;margin-top:23px;max-width:225px}.race-date{font-size:13px}.race-text{max-width:78%}.race-card .pill{font-size:7px;padding:7px 8px;letter-spacing:1.1px}.start-date{font-size:9px;margin-top:24px}.race-line{font-size:9px;gap:6px}.track-art{width:225px;height:285px;right:-86px;top:-11px;opacity:.75}.track-number{font-size:59px;left:42px;top:101px}.track-number>span{font-size:21px}.track-number>small{font-size:6px;letter-spacing:2px;margin-top:13px}.finish-line{right:-5px;top:220px}.stats-grid{gap:7px}.stat{padding:14px 10px;border-radius:10px}.stat-label{font-size:9px;line-height:1.4;gap:4px}.stat-label svg{display:none}.stat-value{font-size:24px;margin:9px 0 6px;letter-spacing:-.8px}.stat-value small{font-size:9px;margin-left:3px}.stat-caption{font-size:8px;line-height:1.5}.plan-scope{font-size:9px;line-height:1.7;margin-top:12px}.plan-scope svg{width:12px;height:12px}.config-card{padding:20px}.config-card form{display:block}.config-card .form-columns{gap:13px}.config-card label{font-size:11px}.config-card h2{font-size:17px}.config-card input{font-size:13px}.config-card input[type=date]{padding-right:8px}.load-section{padding:20px 14px 15px;margin-top:21px}.load-section .section-title{align-items:flex-end;gap:6px}.load-section h2{font-size:17px}.load-section .eyebrow{font-size:8px;letter-spacing:1.2px}.chart-legend{font-size:8px;gap:7px;flex-direction:column;align-items:flex-start;padding-bottom:1px}.legend-dot{width:4px;height:4px}.chart-shell{margin-top:28px;padding-left:21px}.chart-scale{font-size:8px;bottom:24px}.bar-space{height:112px;padding:0 2%}.load-chart{gap:4px}.bar-col{gap:7px}.bar-value{font-size:7px;bottom:calc(100% + 6px)}.bar-label{font-size:7px;padding:3px 0;min-height:17px}.bar-col:nth-child(4n){margin-right:3px}.chart-footer{font-size:7px;padding-left:21px;line-height:1.6;gap:8px}.chart-footer>span:first-child{font-size:7px}.chart-footer>span:last-child{max-width:190px;text-align:right}.plan-title-row{display:block;margin-bottom:16px}.plan-title-row h2{font-size:21px}.plan-title-row .text-button{margin-top:10px}.block-tabs{gap:8px;margin-bottom:13px}.block-tab{padding:13px 12px;border-radius:10px}.block-tab-top{font-size:8px;letter-spacing:.7px}.block-tab-top>span:last-child{font-size:7px;padding:3px}.block-tab strong{font-size:14px;margin:11px 0 7px;letter-spacing:-.3px}.block-tab-bottom{font-size:8px;flex-direction:column;gap:2px}.block-context{padding:15px 17px;align-items:flex-start;gap:12px}.block-indicator{font-size:8px}.block-context p{font-size:9px;line-height:1.5;max-width:180px}.block-context .button{font-size:9px;padding:6px 8px;gap:5px;min-height:32px;max-width:115px;text-align:left;line-height:1.4}.block-context .button svg{width:13px;height:13px}.week-heading{padding:20px 17px;gap:16px}.week-heading h3{font-size:25px}.week-heading p{font-size:9px}.week-meta{font-size:7px}.week-distance>strong{font-size:26px}.week-distance>span{font-size:8px}.week-selection{padding-top:14px}.session-list{padding:0 17px}.session{grid-template-columns:52px 27px minmax(0,1fr) 47px;gap:8px;padding:18px 0;align-items:start}.session-icon{width:27px;height:27px;border-radius:7px;margin-top:2px}.session-icon svg{width:14px;height:14px}.session-day{font-size:9px;padding-top:2px}.session-day time{font-size:8px;line-height:1.4;margin-top:5px}.session h4{font-size:11px;line-height:1.5}.session-detail{font-size:9px;line-height:1.7}.session-alternative{font-size:8px;line-height:1.7}.session-distance{font-size:14px;padding-top:2px}.session-distance span{font-size:8px}.session.is-race{margin:0 -17px;padding-left:17px;padding-right:17px}.week-footnote{font-size:9px;padding:12px 17px}.pace-section>.section-title{align-items:flex-start;gap:12px}.pace-section>.section-title h2{font-size:21px;max-width:190px;line-height:1.2}.subtle-tag{font-size:8px;padding:6px 8px}.pace-section>.section-title .subtle-tag{white-space:normal;max-width:120px;text-align:center;line-height:1.6}.pace-grid{gap:8px;margin-top:17px}.pace-card{padding:14px 10px;border-radius:10px}.pace-card-header{font-size:9px;min-height:24px;gap:4px}.pace-card-header i{width:4px;height:4px}.pace-value{font-size:24px;letter-spacing:-.8px}.pace-value small{font-size:8px;margin-left:3px}.pace-offset{font-size:7px;line-height:1.6}.hr-card,.method-card{padding:20px 17px}.hr-card h3{font-size:15px}.hr-summary{gap:12px}.hr-value{font-size:29px}.hr-summary>p{font-size:9px}.hr-zones{gap:5px}.zone{font-size:8px;padding-top:8px;line-height:1.8}.zone strong{font-size:10px}.zone span{font-size:7px}.hr-note{font-size:9px}.method-card h3{font-size:19px;margin:13px 0 10px}.method-card p{font-size:10px}.method-card details{margin-top:16px}.method-details ul{font-size:9px}.print-section{display:block;padding:24px 22px;margin-top:27px}.print-section h2{font-size:30px}.print-section h2 br{display:none}.print-section h2{max-width:240px;line-height:1.2}.print-options{width:100%;margin-top:23px}.print-section p{max-width:none}.print-options select{font-size:12px}.print-options .button{min-height:42px}footer{flex-wrap:wrap;margin-top:28px;padding:24px 0;gap:13px}footer .brand{font-size:14px}footer>span{font-size:8px;margin-left:auto;text-align:right;max-width:175px;line-height:1.6}footer .text-button{font-size:9px;width:100%;justify-content:center;margin:9px auto 0;border-top:1px solid var(--line);padding-top:16px}.toast{font-size:11px;padding:12px 16px;bottom:20px}dialog{padding:18px;max-width:96vw;border-radius:12px;max-height:94dvh}.dialog-top{display:block;position:relative;padding-right:30px}.dialog-actions{margin-top:14px}.dialog-actions .button{min-height:38px;font-size:11px}.dialog-actions>.icon-button{position:absolute;right:0;top:0}.dialog-top h2{font-size:20px}.print-tip{font-size:9px;margin:14px 0}#print-preview{margin-right:-8px;padding-right:8px}.print-page{padding:18px;min-width:770px}.print-section .pill{font-size:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:520px){.config-card input,.config-card select,.print-options select{font-size:16px}}
.overview-sidebar{display:flex;flex-direction:column;gap:17px;min-width:0}.race-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}.race-text{max-width:100%}.race-distance{position:relative;z-index:1;white-space:nowrap;align-self:center;text-align:center}.race-distance>span{display:block;font-size:clamp(42px,4.8vw,64px);font-weight:350;letter-spacing:-2.5px;line-height:1.1;font-variant-numeric:tabular-nums}.race-distance>small{display:block;font-size:8px;font-weight:500;letter-spacing:2.7px;margin-top:13px;color:#c8d2bd}.race-card .track-art{right:-15px;opacity:.3;pointer-events:none}.setup-hint{font-size:12px;line-height:1.9;color:var(--muted);margin:23px 5px 0;max-width:500px}.heading-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;max-width:600px}.heading-actions .button{font-size:11px;min-height:38px;padding:10px 12px}.summary-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:5px 0 22px}.summary-fields>div:first-child,.summary-fields>div:nth-child(2){grid-column:1/-1}.summary-fields dt{font-size:9px;letter-spacing:.7px;color:#8a947f;margin-bottom:6px}.summary-fields dd{font-size:12px;font-weight:550;line-height:1.6;margin:0;overflow-wrap:anywhere}.edit-plan{width:100%}.saved-plan-status{font-size:9px;color:#7f8b72;margin-top:12px;text-align:center;line-height:1.7}.storage-error{color:#ae3c28!important}.cancel-edit{width:100%;border:1px solid var(--line);margin-top:8px;min-height:34px;font-weight:400;color:var(--muted)}.config-card form>.cancel-edit{grid-column:1/-1}.today-card{padding:23px;background:#edf2e4;border-color:#dce4ce}.today-card>.eyebrow{font-size:8px;color:#899677;margin-bottom:8px}.today-card h2{font-size:21px;font-weight:600;letter-spacing:-.6px;margin-bottom:19px}.today-topline{display:flex;justify-content:space-between;align-items:center;gap:10px}.today-status{display:inline-block;font-size:8px;font-weight:650;letter-spacing:1.1px;color:#698153}.today-distance{font-size:21px;font-weight:550;letter-spacing:-.6px;white-space:nowrap}.today-distance small{font-size:9px;letter-spacing:0;font-weight:400;color:var(--muted)}.today-date{font-size:10px;color:#8b957d;line-height:1.7;margin-top:7px}.today-session-title{display:flex;align-items:center;gap:10px;margin-top:17px}.today-session-title h3{font-size:14px;line-height:1.4;font-weight:600;letter-spacing:-.2px}.today-session-title .session-icon{flex-shrink:0;background:#dee7ce}.today-description{font-size:11px;line-height:1.8;color:#66785a;margin-top:13px;white-space:pre-line}.today-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;border-top:1px solid #d7e0c8;padding-top:12px;font-size:9px;color:#8a977b}.today-bottom .text-button{font-size:10px}.today-card .session-alternative{font-size:10px;color:#82906f;margin-top:11px}.today-card #today-content>h3{font-size:18px;margin-top:15px}.notes-and-backup{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;margin-top:34px}.notes-card,.backup-card{padding:26px}.notes-card h2,.backup-card h2{font-size:21px;font-weight:600;letter-spacing:-.6px}.notes-card textarea{font:inherit;width:100%;min-height:140px;resize:vertical;border:1px solid #d9e0d1;border-radius:9px;padding:14px;background:#fff;color:var(--ink);font-size:12px;line-height:1.8;margin-top:20px}.notes-card textarea::placeholder{color:#a1a994}.notes-card textarea:focus{outline:2px solid var(--green);outline-offset:1px}.notes-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:9px;line-height:1.7;color:#8b957d;margin-top:9px}.notes-footer>span:first-child{color:#6d875b}.notes-footer>span:last-child{white-space:nowrap}.backup-card p{font-size:11px;color:#7e8972;line-height:1.8;margin-top:12px}.backup-card .button{width:100%;margin-top:14px}.backup-card .button+.button{margin-top:8px}.backup-card .backup-hint{font-size:9px;margin-top:12px}.backup-card p.error{color:#ae3c28}.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}
@media(max-width:1050px){.heading-row{align-items:flex-start;flex-direction:column;gap:18px}.heading-actions{max-width:none;justify-content:flex-start;gap:8px}.race-distance>span{font-size:48px}.notes-and-backup{grid-template-columns:minmax(0,1fr) 300px;gap:17px}.notes-card,.backup-card{padding:22px}.today-card{padding:20px}}
@media(max-width:800px){.overview-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.overview-sidebar:has(#today-card[hidden]){grid-template-columns:1fr}.config-card form{display:block}.config-card .form-columns{gap:13px}.race-card .race-text{max-width:100%}.race-distance>span{font-size:59px}.today-card{height:100%;padding:23px 20px}.notes-and-backup{grid-template-columns:1fr 1fr}.notes-card h2,.backup-card h2{font-size:19px}.notes-footer{align-items:flex-start}}
@media(max-width:650px){.overview-sidebar,.notes-and-backup{grid-template-columns:1fr}.race-card{grid-template-columns:minmax(0,1fr) auto;gap:15px}.race-distance>span{font-size:42px}.notes-card textarea{min-height:150px}.today-card{padding:23px}.today-card h2{font-size:23px}.today-description{font-size:12px}.today-distance{font-size:24px}.today-date{font-size:11px}.today-bottom{font-size:10px}.today-bottom .text-button{font-size:11px}}
@media(max-width:520px){.heading-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:0;gap:8px}.heading-actions .button{font-size:10px;padding:10px 8px;min-height:40px;white-space:nowrap}.heading-actions .button[data-action=load-copy]:only-child{grid-column:1/-1}.race-card{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-height:0;padding:24px}.race-card h2{max-width:none;font-size:29px;margin-top:20px}.race-card .race-text{max-width:100%;width:100%}.race-date{font-size:14px}.start-date{margin-top:19px;font-size:10px}.race-line{font-size:10px}.race-distance{display:flex;align-items:baseline;align-self:flex-start;gap:14px;text-align:left;margin-top:0}.race-distance>span{font-size:43px;letter-spacing:-1.8px;line-height:1;white-space:nowrap}.race-distance>small{font-size:7px;letter-spacing:2px;margin:0}.race-card .track-art{right:-20px;top:0;opacity:.24}.setup-hint{font-size:11px;margin:18px 3px 0}.summary-fields dd{font-size:13px}.today-card{padding:22px}.today-card h2{font-size:22px}.today-card>.eyebrow{font-size:8px}.today-session-title h3{font-size:15px}.today-description{font-size:11px}.today-bottom{font-size:9px}.notes-and-backup{margin-top:27px;gap:16px}.notes-card,.backup-card{padding:22px 20px}.notes-card h2,.backup-card h2{font-size:20px}.notes-card textarea{font-size:16px;line-height:1.6;padding:12px}.notes-footer{font-size:8px}.backup-card p{font-size:11px}.backup-card .button{min-height:42px}footer>span{max-width:195px}}
.date-field{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0;height:43px;overflow:hidden;border:1px solid #d8ded4;border-radius:8px;background:#fff}.date-field:focus-within{outline:2px solid var(--green);outline-offset:1px}.date-field:has([aria-invalid=true]){border-color:#b04432}#race-date-input{-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;min-inline-size:0;height:100%;min-height:0;margin:0;padding:0 12px;border:0;border-radius:0;background:transparent;text-align:left}#race-date-input:focus{outline:none}#race-date-input::-webkit-date-and-time-value{margin:0;text-align:left;min-width:0}#race-date-input::-webkit-datetime-edit{min-width:0;padding:0}.backup-section{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:34px}.backup-content{min-width:0;flex:1}.backup-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.backup-section .backup-actions .button{width:auto;margin:0;white-space:nowrap}.backup-section .backup-actions .button+.button{margin-top:0}@media(max-width:800px){.backup-section{align-items:flex-start;flex-direction:column;gap:20px}.backup-actions{width:100%}.backup-section .backup-actions .button{flex:1}}@media(max-width:520px){.backup-section{margin-top:27px}}
.topbar{height:auto;min-height:82px;position:sticky;top:0;z-index:20;gap:24px;padding-top:14px;padding-bottom:14px;background:#fcfcf8f5;backdrop-filter:blur(16px);box-shadow:0 3px 18px #20352406}.topbar .action-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-left:auto;align-self:center;max-width:800px}.topbar .level-tag{margin-left:10px}.nav-action{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:8px 14px;border:1px solid #d5decd;border-radius:10px;background:#fff;color:var(--forest);font-size:12px;font-weight:650;white-space:nowrap;box-shadow:0 2px 5px #20352404;transition:background .15s,box-shadow .15s,border-color .15s}.nav-action:hover,.nav-action[aria-expanded=true]{background:#e7eddd;border-color:#a7b99b;box-shadow:0 2px 8px #20352409}.nav-action-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#edf1e6;border-radius:7px;flex-shrink:0}.nav-action-icon svg{width:16px;height:16px}.nav-action-primary{background:var(--forest);border-color:var(--forest);color:#fff}.nav-action-primary .nav-action-icon{background:#ffffff13}.nav-action-primary:hover,.nav-action-primary[aria-expanded=true]{background:#28523f;border-color:#28523f;color:white}.initial-actions{margin-left:auto}.initial-actions .button{font-size:11px}.overview-sidebar{display:flex;flex-direction:column}.plan-quickfacts{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px;font-size:9px;color:#cbd9c1}.plan-quickfacts>span{border:1px solid #ffffff26;border-radius:4px;padding:6px 8px;line-height:1.4}.plan-quickfacts strong{color:#f1f5e4;font-weight:550;margin-left:4px}.backup-section .saved-plan-status{text-align:left;margin-top:9px;font-size:9px}.modal-open{overflow:hidden}.tool-dialog{overscroll-behavior:contain}.tool-dialog .dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-right:0;position:relative}.tool-dialog .dialog-top>.icon-button{width:36px;height:36px;background:#fff}.tool-dialog .dialog-top h2{font-size:26px;font-weight:600;letter-spacing:-.8px}.tool-dialog .dialog-top .eyebrow{font-size:8px;letter-spacing:1.5px}.edit-dialog{width:450px;padding:26px;background:#fcfcf8}.edit-dialog .dialog-top{padding-bottom:20px;margin-bottom:3px;border-bottom:1px solid var(--line)}#edit-host .config-card{padding:0;border:0;border-radius:0;background:none;box-shadow:none}#edit-host .config-card>.section-title{display:none}#edit-host .config-card form{display:block}#edit-host .config-card .form-columns{gap:14px}#edit-host .save-note{font-size:10px;line-height:1.7;margin-top:14px}.references-dialog{width:1120px;padding:26px;background:#f4f5ef}.reference-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;margin-top:24px}.running-reference{background:var(--forest);color:#eef3e4;border-radius:15px;padding:27px;position:relative;overflow:hidden}.reference-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.reference-kicker{font-size:8px;font-weight:650;letter-spacing:1.5px;color:#9eb699;display:block;margin-bottom:9px}.reference-panel-heading h3{font-size:18px;line-height:1.4;font-weight:550;letter-spacing:-.4px}.reference-unit{font-size:7px;font-weight:500;letter-spacing:1px;white-space:nowrap;border:1px solid #ffffff25;border-radius:4px;padding:6px;color:#b9cbb0}.featured-references{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:29px 0 31px}.featured-reference{border-right:1px solid #ffffff20;padding-right:10px;min-width:0}.featured-reference:last-child{border:0;padding-right:0}.featured-reference-label{font-size:10px;color:#c1d0b9;display:block;margin-bottom:10px}.reference-value{display:block;font-size:clamp(25px,3.1vw,37px);font-weight:400;letter-spacing:-1.1px;white-space:nowrap;line-height:1.1;font-variant-numeric:tabular-nums}.featured-reference.marathon .reference-value{color:#e1eeb6}.featured-reference>small{display:block;font-size:8px;line-height:1.7;color:#a1b79b;margin-top:11px}.series-reference-title{font-size:8px;letter-spacing:1.4px;color:#98b393;border-bottom:1px solid #ffffff20;padding-bottom:11px}.series-reference-list{margin:0}.series-reference-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #ffffff13;padding:14px 0}.series-reference-list>div:last-child{border:0}.series-reference-list dt{font-size:11px;font-weight:450;line-height:1.4}.series-reference-list dt small{display:block;font-size:8px;color:#9cb496;margin-top:5px}.series-reference-list dd{margin:0;font-size:23px;font-weight:350;letter-spacing:-.6px;white-space:nowrap;font-variant-numeric:tabular-nums}.series-reference-list dd small{font-size:8px;letter-spacing:0;margin-left:5px;color:#a8bd9e}.running-reference-note{margin-top:15px;font-size:9px;line-height:1.7;color:#97b190}.pulse-reference{border:1px solid #e0e5d6;border-radius:15px;padding:27px;background:#fff}.pulse-reference .reference-kicker{color:#91a17f}.pulse-reference .reference-panel-heading h3{font-size:18px}.pulse-mode{font-size:8px;line-height:1.5;color:#5c7950;padding:6px 8px;border:1px solid #dbe4ce;border-radius:5px;white-space:nowrap;background:#f5f8ef}.pulse-key-value{font-size:64px;font-weight:350;letter-spacing:-2.5px;line-height:1.1;margin-top:26px;font-variant-numeric:tabular-nums}.pulse-key-value small{font-size:12px;font-weight:400;letter-spacing:0;color:#8d9a80;margin-left:9px}.pulse-definition{font-size:9px;color:#91a180;line-height:1.8;margin-top:7px}.pulse-zone-band{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border-radius:5px;gap:2px;margin-top:25px}.pulse-zone-band>span{text-align:center;font-size:9px;font-weight:600;padding:10px 3px}.pulse-color-0{background:#e1e8d4;color:#48603e}.pulse-color-1{background:#b6caa0;color:#38502b}.pulse-color-2{background:#80a676;color:#1c3b21}.pulse-color-3{background:#3f6b4e;color:#fff}.pulse-color-4{background:#d88b59;color:#342613}.pulse-range-list{margin:15px 0 0}.pulse-range-list>div{display:grid;grid-template-columns:1fr 1.3fr .8fr;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid #edf0e7;font-size:11px}.pulse-range-list>div:last-child{border:0}.pulse-range-list dt{display:flex;align-items:center;gap:8px;font-weight:550}.pulse-range-list dt i{display:block;width:6px;height:6px;border-radius:2px}.pulse-range-list dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.pulse-range-list dd small{font-size:8px;color:#9aa68d}.pulse-range-list .zone-percent{text-align:right;font-size:9px;color:#95a287}.pulse-orientation{font-size:8px;color:#a0ab92;line-height:1.8;margin-top:16px}.pulse-disabled{padding:45px 0;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center}.pulse-disabled>[data-icon]{display:flex;justify-content:center;align-items:center;width:64px;height:64px;background:#eef3e4;border-radius:50%;color:#8fa67e;margin-bottom:20px}.pulse-disabled svg{width:28px;height:28px}.pulse-disabled h3{font-size:23px;font-weight:550}.pulse-disabled p{font-size:11px;line-height:1.9;color:#8d9b7d;max-width:260px;margin-top:13px}.reference-help{margin-top:18px;padding:19px 21px;background:#fff;border:1px solid #e0e5d6;border-radius:11px}.reference-help>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#547149;font-weight:550;line-height:1.6}.reference-help>summary svg{width:14px;height:14px}.reference-help>div{padding-top:8px}.reference-help p{font-size:10px;line-height:1.9;color:#88977a;margin-top:12px}.reference-help a{color:#557748;text-underline-offset:2px}.print-controls{display:flex;align-items:center;gap:14px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.print-controls>label{margin:0;font-size:11px;white-space:nowrap}.print-controls>select{max-width:330px;font-size:12px;background:#fff}html{scroll-padding-top:108px}
@media(max-width:1050px){.topbar{gap:15px;padding-left:24px;padding-right:24px}.topbar .brand{font-size:18px;letter-spacing:1.5px}.topbar .level-tag{display:none}.nav-action{font-size:11px;padding:8px 12px;gap:7px}.reference-layout{gap:14px}.running-reference,.pulse-reference{padding:23px}.featured-references{gap:12px}.reference-panel-heading h3,.pulse-reference .reference-panel-heading h3{font-size:17px}.pulse-mode{font-size:7px;padding:5px}.reference-value{font-size:31px}}
@media(max-width:800px){.topbar{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 22px;min-height:64px}.topbar .brand{order:1}.topbar .level-tag{display:inline-flex;order:2;margin-left:auto;font-size:8px;padding:6px 8px}.topbar .action-toolbar{order:3;flex-basis:100%;width:100%;max-width:none;margin:0;gap:8px}.nav-action{flex-direction:column;gap:7px;min-height:65px;padding:8px 6px;font-size:10px;white-space:normal;line-height:1.4}.nav-action-icon{width:25px;height:25px;border-radius:6px}.nav-action-icon svg{width:15px;height:15px}.overview-sidebar{display:flex;flex-direction:column}.initial-actions{margin-left:0}.reference-layout{grid-template-columns:1fr 1fr}.reference-value{font-size:29px}.running-reference,.pulse-reference{padding:21px}.reference-panel-heading{flex-wrap:wrap;gap:9px}.reference-unit{display:none}.featured-references{gap:10px}.featured-reference{padding-right:6px}.featured-reference-label{font-size:9px}.featured-reference>small{font-size:7px}.pulse-key-value{font-size:56px}.series-reference-list dt{font-size:10px}.tool-dialog .dialog-top h2{font-size:24px}html{scroll-padding-top:156px}}
@media(max-width:650px){.reference-layout{grid-template-columns:1fr;gap:15px}.references-dialog{padding:21px}.reference-panel-heading{flex-wrap:nowrap}.reference-unit{display:block}.running-reference,.pulse-reference{padding:24px}.reference-value{font-size:33px}.featured-reference-label{font-size:10px}.featured-reference>small{font-size:8px}.pulse-reference .reference-panel-heading h3{font-size:18px}.pulse-mode{font-size:8px}.pulse-key-value{font-size:62px}.series-reference-list dt{font-size:12px}.pulse-zone-band{margin-top:21px}.pulse-reference .pulse-range-list>div{padding:12px 0}.reference-help{padding:17px}.reference-help>summary{font-size:10px}.reference-help p{font-size:10px}.tool-dialog .dialog-top>.icon-button{width:35px;height:35px}.reference-help>summary svg{flex-shrink:0}.print-controls{display:block}.print-controls>label{margin-bottom:9px}.print-controls>select{max-width:none;font-size:16px}.tool-dialog#print-dialog .dialog-top{display:block;padding-right:37px}.tool-dialog#print-dialog .dialog-actions{margin-top:17px;display:block}.tool-dialog#print-dialog .dialog-actions .button{width:100%;font-size:11px}.tool-dialog#print-dialog .dialog-actions>.icon-button{position:absolute;right:0;top:0;width:32px;height:32px}.edit-dialog{padding:22px;max-width:calc(100vw - 24px)}.edit-dialog .dialog-top h2{font-size:24px}}
@media(max-width:520px){.topbar{padding:11px 17px;gap:10px}.topbar .brand{font-size:17px}.topbar .action-toolbar{gap:6px}.nav-action{font-size:9px;min-height:64px;gap:6px;border-radius:9px}.topbar .level-tag{font-size:8px;padding:6px 7px}.initial-actions .button{font-size:10px}.plan-quickfacts{font-size:8px;margin-top:13px;gap:6px}.plan-quickfacts>span{padding:5px 7px}.references-dialog{padding:19px;max-width:calc(100vw - 20px)}.tool-dialog .dialog-top h2{font-size:23px}.tool-dialog .dialog-top .eyebrow{font-size:7px}.reference-layout{margin-top:20px}.running-reference,.pulse-reference{padding:21px}.featured-references{margin-top:26px;margin-bottom:26px;gap:10px}.featured-reference-label{font-size:9px}.reference-value{font-size:29px}.featured-reference>small{font-size:7px}.reference-panel-heading h3,.pulse-reference .reference-panel-heading h3{font-size:17px}.reference-kicker{font-size:7px;letter-spacing:1.2px}.reference-unit{font-size:6px}.series-reference-list dt{font-size:11px}.series-reference-list dd{font-size:24px}.pulse-key-value{font-size:58px}.pulse-mode{font-size:7px}.reference-help{padding:16px}.reference-help p{font-size:9px}.reference-help>summary{font-size:10px}.tool-dialog .dialog-top>.icon-button{width:33px;height:33px}.pulse-range-list>div{font-size:11px}.print-controls{margin-top:19px;padding-top:17px}#edit-host .config-card input,#edit-host .config-card select{font-size:16px}}
@media(max-width:365px){.reference-value{font-size:24px}.featured-references{gap:8px}.running-reference,.pulse-reference{padding:18px}.reference-panel-heading h3,.pulse-reference .reference-panel-heading h3{font-size:15px}.reference-unit{font-size:5px}.pulse-mode{font-size:6px}.reference-help>summary{font-size:9px}.topbar .action-toolbar{gap:5px}.nav-action{font-size:8px;padding:8px 3px}}
@media print{body.modal-open{overflow:visible!important}}
.date-field{position:relative;display:block}.date-field-value{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;max-width:100%;height:100%;margin:0;padding:0 12px;font-size:14px;line-height:1.4;text-align:center;direction:ltr;pointer-events:none;color:var(--ink);white-space:nowrap}.date-field-value.empty{color:var(--muted)}#race-date-input{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:pointer;text-align:center}#race-date-input::-webkit-date-and-time-value{text-align:center}@media(max-width:520px){.date-field-value{font-size:16px}}
#race-date-input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
@page{size:A4 landscape;margin:9mm}
@media print{html,body{margin:0!important;padding:0!important;background:#fff!important;font-family:Arial,sans-serif!important;color:#1b2c21!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body>*{display:none!important}#print-root{display:block!important}.print-page{border:0;border-radius:0;margin:0;padding:0;min-width:0;width:100%;break-after:page;page-break-after:always}.print-page:last-child{break-after:auto;page-break-after:auto}.print-header{padding-bottom:3mm;margin-bottom:3mm;border-bottom-width:.5mm}.print-header h2{font-size:14pt}.print-header .print-brand{font-size:8pt;letter-spacing:1pt;margin-bottom:2mm}.print-header p{font-size:7pt;margin-top:1.5mm}.print-race-info{font-size:7pt;max-width:80mm}.print-race-info strong{font-size:9pt}.print-pace-strip{font-size:7pt;gap:2mm;margin-bottom:3mm}.print-pace-strip>span{padding:.7mm 1.5mm}.print-table{font-size:7.5pt;line-height:1.35}.print-table th,.print-table td{padding:2mm;border-color:#cdd5c5}.print-table thead th small{font-size:6.5pt;margin-top:1mm}.print-table tbody th{font-size:7pt}.print-table .cell-date{font-size:6.5pt;margin-bottom:1mm}.print-session{font-size:7.3pt;line-height:1.35}.print-alternative{font-size:6.3pt;margin-top:1mm}.print-table tfoot td,.print-table tfoot th{font-size:7pt}.print-table tr{break-inside:avoid;page-break-inside:avoid}.print-footnotes{font-size:6.5pt;line-height:1.6;margin-top:3mm}a{text-decoration:none!important}}

/* Objetivo de carrera */
.config-card form>.goal-settings{grid-column:1/-1}.goal-settings{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.goal-settings>label:first-child{margin-top:0}.race-goal-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px;background:#f1f3e9;border:1px solid #dce3d3;border-radius:15px;padding:24px;margin-bottom:20px}.race-goal-summary h3{font-size:30px;letter-spacing:-1px;margin-top:7px;font-variant-numeric:tabular-nums}.race-goal-summary p{font-size:12px;line-height:1.65;color:var(--muted);margin-top:7px}.goal-pace{text-align:right;white-space:nowrap}.goal-pace strong{display:block;font-size:31px;font-weight:550;letter-spacing:-1px;color:var(--forest);font-variant-numeric:tabular-nums}.goal-pace>span{font-size:9px;letter-spacing:2px;color:var(--green)}.race-goal-summary .goal-comparison{grid-column:1/-1;border-top:1px solid #dce3d3;padding-top:12px;margin:0}.goal-comparison strong{color:var(--green)}
@media(max-width:520px){.race-goal-summary{padding:19px;gap:12px}.race-goal-summary h3,.goal-pace strong{font-size:26px}.race-goal-summary p{font-size:11px}}

/* Sincronización de sesiones */
.api-intro{font-size:14px;line-height:1.8;color:#61705a;margin-top:15px;max-width:660px}
.api-steps{list-style:none;padding:0;margin:16px 0 0;display:grid}
.api-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding:22px 0;border-bottom:1px solid #e4e9de}
.api-step:first-child{padding-top:9px}.api-step:last-child{border-bottom:0;padding-bottom:10px}.api-step>div{min-width:0}
.api-step-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--forest);color:white;font-size:13px;font-weight:650}
.api-step h4{font-size:16px;line-height:1.5;margin:2px 0 7px;color:var(--forest)}
.api-step p{font-size:13px;line-height:1.8;color:#61705a;margin-top:9px}.api-step p:first-of-type{margin-top:0}
.api-step .button{margin-top:13px;min-height:44px;font-size:13px}.api-step .api-step-tip{font-size:12px;color:#75806d}
.api-key-location{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:14px 0;padding:12px;background:#f2f5eb;border:1px solid #dfe6d5;border-radius:8px;font-size:12px;line-height:1.6;color:#64735a}
.api-key-location>span,.api-key-location>strong{padding:3px 6px;border-radius:4px}.api-key-location>strong{background:#e0ebd5;color:var(--forest)}.api-key-location>b{font-weight:400;color:#839376}
.api-step label{margin-top:13px}.api-step input{margin-top:8px;min-height:46px}
.key-privacy{display:flex;align-items:flex-start;gap:10px;margin-top:9px;padding:14px;border:1px solid #dfe6d5;border-radius:9px;background:#f5f7f0;color:#64735a;font-size:12px;line-height:1.8}.key-privacy>[data-icon]{display:flex;flex-shrink:0;margin-top:3px}.key-privacy svg{width:18px;height:18px}
.connection-success{display:flex;align-items:center;gap:9px;color:var(--forest);font-size:15px;font-weight:600;margin:20px 0 12px}.connection-success>[data-icon]{display:flex}.connection-success svg{width:21px;height:21px}#connection-account{font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.guide-steps .guide-secondary{margin-top:10px;font-size:12px;color:#738269}
.first-sync-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:17px;padding:22px;background:#f3eadb;border:1px solid #dfcfb7;border-left:4px solid #b67d51;border-radius:13px;margin-bottom:24px;color:var(--forest)}
.first-sync-icon{display:grid;place-items:center;width:44px;height:44px;background:#fff8ed;border:1px solid #e3d4bd;border-radius:12px}.first-sync-icon svg{width:25px;height:25px}
.first-sync-badge{display:inline-block;padding:5px 8px;background:#e5d3b7;color:#614824;border-radius:5px;font-size:10px;letter-spacing:1px;font-weight:650;margin-bottom:9px}
.first-sync-card h3{font-size:19px;line-height:1.5}.first-sync-card p{font-size:13px;line-height:1.8;color:#72634e;margin-top:7px;max-width:620px}.first-sync-card .button{margin-top:14px;min-height:44px;font-size:13px;background:#fffaf2;border-color:#cbb89d;color:var(--forest)}
.garmin-setup-dialog{width:820px;padding:27px;background:#fcfcf8}.garmin-setup-dialog .dialog-top{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}.garmin-setup-dialog .dialog-top>.icon-button{flex-shrink:0}
.setup-once-note{padding:17px 19px;background:#f3eadb;border:1px solid #dfcfb7;border-radius:10px;font-size:14px;line-height:1.85;color:#72634e}.setup-once-note strong{display:block;color:#614824;margin-bottom:4px}
.garmin-setup-dialog .guide-steps p{font-size:13px}.garmin-setup-dialog .guide-steps .guide-secondary{font-size:12px}.garmin-setup-dialog .guide-steps h3{font-size:15px}.garmin-setup-dialog .guide-steps .button{margin-top:12px;min-height:44px;font-size:12px}
.setup-finish-note{font-size:13px;line-height:1.85;color:#61705a;background:#f1f5e9;border:1px solid #dfe6d5;border-radius:10px;padding:16px;margin-top:20px}#garmin-setup-done{margin-top:18px;min-height:44px}
@media(max-width:800px){.garmin-setup-dialog{max-width:calc(100vw - 24px);padding:22px}}
@media(max-width:580px){.first-sync-card{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:17px}.first-sync-icon{width:32px;height:32px;border-radius:9px}.first-sync-icon svg{width:20px;height:20px}.first-sync-card h3{font-size:17px}.first-sync-card .button{width:100%;white-space:normal;justify-content:center;text-align:center;line-height:1.7}.garmin-setup-dialog{padding:19px;max-width:calc(100vw - 18px)}.tool-dialog.garmin-setup-dialog .dialog-top h2{font-size:21px}.setup-once-note{padding:14px;font-size:13px}#garmin-setup-done{width:100%;white-space:normal;justify-content:center;text-align:center}}
.connection-diagnostics{margin-top:17px;border:1px solid #d7dfcd;border-radius:9px;padding:14px;background:#f4f6ef}.connection-diagnostics>summary{font-size:12px;font-weight:600;color:var(--forest)}.connection-diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:11px;line-height:1.8;color:#53644a;max-width:100%;margin:14px 0}.connection-diagnostics .button{margin-top:3px}
.sync-nav{display:flex;align-items:center;gap:9px;flex-shrink:0;border:1px solid #cbd8c3;border-radius:10px;background:#eef3e7;padding:9px 11px;color:var(--forest);font-size:10px;font-weight:650;text-align:left;line-height:1.4;min-height:47px}.sync-nav>span:first-child{display:flex}.sync-nav svg{width:21px;height:21px}.sync-nav small{display:block;font-size:8px;color:#6c7c62;font-weight:450;margin-top:2px}.sync-nav:hover,.sync-nav[aria-expanded=true]{background:#dfead3;border-color:#8fa681}.topbar{gap:20px}.topbar .brand{font-size:20px}.topbar .action-toolbar{gap:7px}.topbar .level-tag{font-size:9px;padding:6px;margin-left:0}.nav-action{padding:8px 11px;font-size:11px}
.margin-label{display:block;margin:13px 0 8px;font-size:12px;font-weight:600}.margin-toggle{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid #cbd6c3;border-radius:8px;background:#fff;font-weight:650;color:var(--green);min-height:40px}.margin-toggle>span{width:17px;height:17px;display:grid;place-items:center;border:1px solid #c3cfba;border-radius:4px;color:transparent;font-size:12px}.margin-toggle[aria-pressed=true]{background:var(--forest);color:white;border-color:var(--forest)}.margin-toggle[aria-pressed=true]>span{background:#f0f5e5;color:var(--forest);border-color:#f0f5e5}.session-export{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;margin-top:12px;border:1px solid #cedbc5;border-radius:6px;color:var(--forest);background:#f2f6ed;font-size:10px;font-weight:600;min-height:33px}.session-export:hover{background:#e3edda}.session-export svg{width:13px;height:13px}
.connection-dialog{width:920px;padding:27px;background:#f7f8f2}.export-dialog{width:690px;padding:27px;background:#fcfcf8}.connection-dialog .dialog-top,.export-dialog .dialog-top{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}.sync-flow{display:flex;align-items:center;justify-content:center;gap:13px;margin:22px 0 16px;color:var(--green)}.sync-flow>span{background:white;border:1px solid #d7dfcf;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600}.sync-flow>span:first-child{background:var(--forest);color:white;border-color:var(--forest)}.sync-flow>b{font-weight:400;font-size:20px}.sync-intro{font-size:13px;line-height:1.8;color:var(--muted);max-width:630px;margin:0 auto 24px;text-align:center}.connection-box{padding:23px;border:1px solid #d4dfc9;border-radius:13px;background:white;margin-bottom:20px}.connection-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.connection-heading h3{font-size:17px}.connection-state{font-size:10px;border-radius:20px;padding:6px 10px;background:#f0f1e9;color:#69745f;overflow-wrap:anywhere}.connection-state.connected{background:#e4efdb;color:#315f38}.sync-help{font-size:11px;line-height:1.85;color:#6d7865;margin-top:10px}.sync-help a,.guide-steps a{color:var(--green);text-underline-offset:3px}.connection-box form>button{margin-top:16px}.connection-box .text-button{margin-top:15px;font-size:10px}.connection-box label{font-size:12px}.connection-box input{max-width:480px}.sync-message{font-size:12px;line-height:1.7;margin-top:14px;overflow-wrap:anywhere;color:var(--green)}.sync-message:empty{display:none}.sync-message.error{color:#a03c2e}.sync-guide{border:1px solid #dce3d2;background:#fff;border-radius:13px;padding:19px 22px;margin-bottom:18px}.sync-guide>summary,.export-conversion>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;font-weight:600;color:var(--forest)}.sync-guide>summary svg,.export-conversion>summary svg{width:15px;height:15px}.guide-grid{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:28px;margin-top:25px;align-items:start}.guide-steps section{position:relative;padding-left:40px;margin-bottom:24px}.guide-number{position:absolute;left:0;top:0;display:grid;place-items:center;width:28px;height:28px;font-size:10px;border-radius:8px;background:#e7eedc;color:var(--green);font-weight:700}.guide-steps h3{font-size:14px;margin-bottom:8px}.guide-steps p{font-size:11px;line-height:1.9;color:#6b7862}.guide-screenshot{margin:0;max-width:100%;border:1px solid #e0e4db;padding:8px;border-radius:10px;background:#fcfdf9}.guide-screenshot img{display:block;max-width:100%;height:auto;width:232px}.guide-screenshot figcaption{font-size:9px;line-height:1.7;color:#7b866f;padding:10px 5px 4px}
.export-dialog #export-title{font-size:18px;line-height:1.5}.export-date-row{display:flex;align-items:end;gap:12px;margin-top:18px}.export-date-row>div{flex:1;min-width:0}.export-date-row label{margin-top:0}.export-date-row .button{min-height:43px}.export-date-caption{font-size:11px;color:var(--green);margin-top:9px;text-transform:capitalize}.sync-callout{font-size:11px;line-height:1.8;border-radius:8px;border-left:3px solid #8aa575;padding:12px 14px;background:#edf3e5;color:#5f7153;margin-top:15px}.export-preview{padding:0;margin:20px 0 14px;list-style:none;max-height:270px;overflow:auto;border:1px solid #e1e7d9;border-radius:10px;background:#fff}.export-preview li{display:flex;align-items:center;gap:13px;padding:12px 15px;border-bottom:1px solid #e8ecdf}.export-preview li:last-child{border:0}.step-number{font-size:9px;color:#95a184;font-variant-numeric:tabular-nums}.export-preview strong{display:block;font-size:11px;font-weight:600}.export-preview li>div>span{display:block;margin-top:5px;font-size:11px;color:#6f7e62;font-variant-numeric:tabular-nums}.export-conversion{padding:11px 0}.export-conversion>summary{font-size:10px}.export-conversion p{font-size:10px;line-height:1.8;color:#7b866e;margin-top:9px}.threshold-choice{background:#f0f3e9;border:1px solid #d9e2cf;border-radius:12px;padding:19px;margin-top:15px}.threshold-choice h3{font-size:16px}.threshold-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.threshold-compare>div{padding:12px;background:#fff;border:1px solid #e0e6d8;border-radius:8px}.threshold-compare dt{font-size:10px;color:#879376}.threshold-compare dd{font-size:21px;margin:8px 0 0;color:var(--forest);letter-spacing:-.5px;font-variant-numeric:tabular-nums}.sync-check{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:12px;line-height:1.6;cursor:pointer}.sync-check input{appearance:auto;accent-color:var(--forest);height:19px;width:19px;flex-shrink:0;margin:0;padding:0}.export-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;border-top:1px solid #e0e6d6;padding-top:18px}.export-scope{margin-top:17px}.sync-result-icon{display:grid;place-items:center;width:52px;height:52px;background:#e5efda;color:var(--green);border-radius:50%;margin:22px 0}.sync-result-icon svg{width:27px;height:27px}#export-result>h3{font-size:23px}#export-result>p{font-size:12px;line-height:1.9;margin-top:15px;color:#687760}#export-result>.button{margin:20px 6px 0 0}.tool-dialog[data-busy=true] #close-export{opacity:.4}
@media(max-width:1150px){.topbar{gap:12px}.topbar .level-tag{display:none}.topbar .brand{font-size:18px}.nav-action{font-size:10px;padding:8px 9px}.sync-nav{font-size:9px;padding:9px}.nav-action-icon{width:24px;height:24px}}
@media(max-width:800px){.topbar .sync-nav{order:0;margin-right:auto}.topbar .brand{order:1}.topbar .action-toolbar{order:3}.topbar .level-tag{display:none}.connection-dialog,.export-dialog{max-width:calc(100vw - 24px);padding:22px}.guide-grid{gap:20px;grid-template-columns:minmax(0,1fr) 205px}.connection-heading h3{font-size:15px}.threshold-compare dd{font-size:19px}}
@media(max-width:580px){.sync-nav{min-height:41px;font-size:9px;padding:7px 9px;gap:7px}.sync-nav svg{width:18px;height:18px}.sync-nav small{font-size:7px}.topbar .brand{font-size:16px}.connection-dialog,.export-dialog{padding:19px;max-width:calc(100vw - 18px)}.tool-dialog.connection-dialog .dialog-top h2{font-size:21px}.connection-dialog .dialog-top>.icon-button{flex-shrink:0}.sync-flow{gap:7px}.sync-flow>span{font-size:11px;padding:10px}.sync-intro{font-size:11px}.connection-box{padding:17px}.connection-heading{gap:10px}.connection-box input{font-size:16px}.connection-box form>button{width:100%}.guide-grid{grid-template-columns:1fr}.sync-guide{padding:17px}.guide-steps section{padding-left:35px}.guide-screenshot{justify-self:center;width:250px;max-width:100%}.guide-screenshot img{margin:auto}.export-actions{flex-direction:column-reverse}.export-actions .button{width:100%;min-height:46px}.threshold-choice{padding:16px}.threshold-choice h3{font-size:14px}.threshold-compare{gap:8px}.threshold-compare>div{padding:10px}.threshold-compare dd{font-size:18px}.sync-check{font-size:11px}.export-date-row input{font-size:16px}.session-export{font-size:9px;min-height:35px}}
.connection-dialog .sync-intro,.connection-dialog .sync-help,.connection-dialog .guide-steps p{font-size:13px}.connection-dialog .guide-steps .guide-secondary{font-size:12px}
@media(max-width:580px){.api-step{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:20px 0}.api-step-number{width:28px;height:28px;font-size:12px}.api-step h4{font-size:15px;margin-top:1px}.api-step p{font-size:14px}.api-step .api-step-tip{font-size:12px}.api-step .button{width:100%;justify-content:center;white-space:normal;text-align:center}.api-key-location{gap:4px;padding:9px;font-size:11px}.api-key-location>span,.api-key-location>strong{padding:3px}.key-privacy{padding:12px}.connection-dialog .sync-guide>summary{line-height:1.7}}

/* Plataformas y estado de conexión */
.sync-flow>span{min-width:0;text-align:center;border-width:1px;box-shadow:0 3px 9px #173e3210}
.sync-flow>.sync-platform-zancada{background:var(--forest);color:#fff;border-color:var(--forest)}
.sync-flow>.sync-platform-intervals{background:#ce491d;color:#fff;border-color:#b63e18}
.sync-flow>.sync-platform-garmin{background:#0072ce;color:#fff;border-color:#0064b5}
.sync-flow>b{color:#80917b;font-size:22px}
.api-step p a{color:var(--green);font-weight:600;text-underline-offset:3px}
.sync-nav .sync-nav-state{display:flex;align-items:center;gap:4px;min-height:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;font-size:10px;font-weight:600;line-height:1.4;color:#a13122}
.sync-nav.connected .sync-nav-state{color:#1e6a37}
.sync-nav .sync-status-symbol{display:inline-grid;place-items:center;width:12px;font-size:12px;font-weight:750;line-height:1}
@media(max-width:580px){.sync-flow{gap:7px}.sync-flow>span{padding:11px 9px;font-size:11px}.sync-nav .sync-nav-state{font-size:9px;padding:0}}

/* Estado bajo el nombre y capturas de la clave */
.sync-nav .sync-nav-content{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.sync-nav-title{display:block;white-space:nowrap}.sync-nav>[data-icon]{flex-shrink:0}
.api-captures{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:1px}
.api-capture{margin:0;min-width:0;padding:12px;border:1px solid #dce4d3;border-radius:10px;background:#f7f9f3;overflow:hidden}
.api-capture figcaption{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px;min-height:71px}.api-capture figcaption>span{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;background:#e3ecd8;color:var(--forest);border-radius:6px;font-size:11px;font-weight:700}.api-capture figcaption strong{font-size:13px;line-height:1.7;color:var(--forest)}.api-capture figcaption p{font-size:12px;line-height:1.75;margin:4px 0 0;color:#65745b}
.api-capture img{display:block;width:100%;max-width:100%;height:auto;border:1px solid #e1e6dc;border-radius:5px;background:#fff}
.api-captures>.api-capture-note{grid-column:1/-1;font-size:12px;line-height:1.8;margin:0;color:#718065}
@media(max-width:680px){.api-captures{grid-template-columns:1fr;gap:14px}.api-capture{padding:12px}.api-capture figcaption{min-height:0;margin-bottom:12px}}

/* Anotación de la captura: control (view), con posición proporcional */
.api-capture-visual{position:relative;width:100%;line-height:0}
.api-capture-visual img{display:block;width:100%;height:auto}
.api-view-highlight{position:absolute;left:20.6%;top:11.6%;width:12.6%;height:5.5%;border:3px solid #ef7626;border-radius:5px;box-shadow:0 0 0 2px #fff;background:transparent;pointer-events:none}
@media(max-width:420px){.api-view-highlight{border-width:2px;border-radius:3px;box-shadow:0 0 0 1px #fff}}

/* Envío de una semana y registro de las sesiones */
.week-sync-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 27px 5px;padding:19px 20px;background:#eef3e7;border:1px solid #d9e2ce;border-radius:10px}.week-sync-panel>div{min-width:0}.week-sync-panel h4{font-size:15px;font-weight:650;color:var(--forest)}.week-sync-panel p{font-size:12px;line-height:1.8;color:#64745a;margin-top:6px}.week-sync-panel #week-sync-note{font-size:10px;max-width:610px}.week-sync-panel .button{flex-shrink:0;min-height:44px}
.session-sync{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:13px}.session-sync .session-export{margin:0}.session-sync-status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:600;line-height:1.5;border-radius:5px;border:1px solid #d7dfcd;background:#f3f5ed;color:#65715b;white-space:nowrap}.session-sync-status.sent{color:#235e35;border-color:#bbd8be;background:#e8f3e5}.session-sync-status.error{color:#9c3427;border-color:#e7c3ba;background:#fff0ec}.session-sync-note{flex-basis:100%;font-size:10px;line-height:1.8;color:#7a856f;overflow-wrap:anywhere}
.week-export-dialog{width:770px;max-width:calc(100vw - 24px);padding:27px;background:#fcfcf8}.week-export-dialog .dialog-top{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:17px}.week-export-dialog .dialog-top>.icon-button{flex-shrink:0}.week-export-dialog .dialog-top h2{font-size:23px;line-height:1.4}.week-export-range{font-size:12px;line-height:1.8;color:var(--green);margin:9px 0 17px}.week-export-intro{font-size:13px;line-height:1.85;color:#637359}
.week-export-choices{list-style:none;padding:0;margin:18px 0;border:1px solid #dce4d4;border-radius:10px;overflow:hidden}.week-export-choices>li+li{border-top:1px solid #e1e7d9}.week-export-choice{display:flex;align-items:flex-start;gap:12px;padding:15px;margin:0;cursor:pointer;background:#fff}.week-export-choice:has(input:checked){background:#f0f5e9}.week-export-choice input{appearance:auto;accent-color:var(--forest);width:20px;height:20px;min-width:20px;flex-shrink:0;margin:2px 0 0;padding:0}.week-export-choice>span{min-width:0}.week-export-choice strong,.week-export-choice>span>span,.week-export-choice small{display:block;font-weight:400;line-height:1.8}.week-export-choice strong{font-size:13px;color:var(--forest);font-weight:650}.week-export-choice>span>span{font-size:12px;color:#64745a;margin-top:3px}.week-export-choice small{font-size:11px;color:#758268;margin-top:5px}.week-export-choice .session-sync-status{display:inline-flex;font-size:10px;font-weight:600}
.week-review-list,.week-export-results{list-style:none;padding:0;margin:18px 0;border:1px solid #dce4d4;border-radius:10px;overflow:hidden}.week-review-list>li,.week-export-results>li{padding:15px;background:#fff}.week-review-list>li+li,.week-export-results>li+li{border-top:1px solid #e1e7d9}.week-review-list strong,.week-export-results strong{display:block;font-size:12px;font-weight:650;color:var(--forest);line-height:1.8}.week-review-list>li>span,.week-export-results>li>span:not(.session-sync-status){display:block;font-size:12px;line-height:1.8;color:#64745a;margin-top:3px}.week-review-list details{font-size:11px;line-height:1.8;color:#64745a;margin-top:10px}.week-review-list summary{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}.week-review-list ul{padding-left:20px;margin:10px 0}.week-review-list details p{font-size:10px;line-height:1.8;margin-top:9px}.week-export-results p{font-size:12px;line-height:1.8;color:#8a4b34;margin-top:7px;overflow-wrap:anywhere}.week-export-results .session-sync-status{margin-bottom:7px}.week-result-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:19px}.week-export-dialog[data-busy=true] #close-week-export{opacity:.4}
@media(max-width:800px){.week-sync-panel{margin-left:22px;margin-right:22px;padding:17px;align-items:flex-start}.week-sync-panel .button{font-size:11px}}
@media(max-width:580px){.week-sync-panel{flex-direction:column;gap:13px;padding:15px;margin-left:19px;margin-right:19px}.week-sync-panel .button{width:100%}.week-sync-panel #week-sync-note{font-size:10px}.week-export-dialog{padding:19px;max-width:calc(100vw - 18px)}.week-export-dialog .dialog-top h2{font-size:20px}.week-export-choice{padding:14px 12px;gap:10px}.week-result-actions{flex-direction:column}.week-result-actions .button{width:100%}.session-sync{gap:8px}.session-sync-note{font-size:10px}}

.user-greeting{font-size:clamp(18px,2.5vw,24px);font-weight:600;line-height:1.3;color:var(--green);margin-bottom:15px;overflow-wrap:anywhere}.reference-athlete{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:12px 15px;margin-bottom:18px;background:#edf2e8;border:1px solid #d4dfcf;border-radius:12px;color:var(--green);font-size:14px;overflow-wrap:anywhere}.reference-athlete svg{width:18px;height:18px;flex-shrink:0}.reference-athlete strong{min-width:0;overflow-wrap:anywhere}.backup-key-option{margin-top:15px;padding:13px 14px;background:#f3f5ee;border:1px solid var(--line);border-radius:10px}.backup-key-option label{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer}.backup-key-option input[type=checkbox]{width:17px;height:17px;margin:1px 0 0;padding:0;flex-shrink:0;accent-color:var(--green)}.backup-key-option p,.backup-key-option small{display:block;font-size:11px;line-height:1.6;margin-top:7px;color:var(--muted)}.imported-connection-note{padding:13px 15px;margin:12px 0;background:#edf3e5;border:1px solid #c6d7b8;border-radius:10px;color:var(--green);font-size:13px;line-height:1.6;overflow-wrap:anywhere}

.session-sync-caption{flex-basis:100%;font-size:10px;font-weight:500;color:var(--muted);line-height:1.5}.session-sync-status.changed{color:#805018;background:#fff2d6;border-color:#e8c58e}.calendar-legend{display:flex;flex-wrap:wrap;gap:9px 20px;align-items:center;margin:-5px 0 17px;font-size:11px;color:#5c6860}.calendar-legend>span{display:flex;align-items:center;gap:7px}.calendar-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.past-date-dot{background:#d9ded5;border:1px solid #9da895}.today-date-dot{background:#244e3e;border:1px solid #244e3e}.session.is-past{background:#f1f3ef;border-color:#dfe4da}.session.is-past h4,.session.is-past .session-day,.session.is-past .session-day time,.session.is-past .session-detail,.session.is-past .session-distance,.session.is-past .session-alternative{color:#5c6860}.session.is-past .session-icon{filter:grayscale(1);opacity:.58}.session.is-today{background:#f0f6e9;box-shadow:inset 3px 0 #244e3e}.calendar-date-mark{display:block;font-size:9px;line-height:1.4;font-weight:600;margin-top:6px;letter-spacing:0}.session.is-today .calendar-date-mark{color:#244e3e}.session.is-past .calendar-date-mark{color:#5c6860}.bar-col.is-past .bar-training{background:#aab5a1}.bar-col.is-past .bar-race{background:#aaa895}.bar-col.is-past:not(.selected) .bar-label{color:#5c6860}.bar-col.is-current:not(.selected) .bar-label{font-weight:800;color:#244e3e}.block-tab.is-past:not([aria-selected=true]){background:#f1f3ef;border-color:#dfe4da;color:#5c6860}.block-tab.is-past:not([aria-selected=true]) strong,.block-tab.is-past:not([aria-selected=true]) .block-tab-top,.block-tab.is-past:not([aria-selected=true]) .block-tab-bottom{color:#5c6860}.week-button.is-past:not([aria-pressed=true]){background:#edf0e9;color:#5c6860;border-color:#dfe4da}.week-button.is-current:not([aria-pressed=true]){box-shadow:inset 0 0 0 1px #244e3e;font-weight:700}

/* Full-width day backgrounds, with the content gutter inside each row. */
.session-list{padding:0;--session-gutter:25px}
.session-list>.session{box-sizing:border-box;width:100%;padding:22px var(--session-gutter);border-bottom:1px solid #d9e0d4}
.session.is-past{background:#e5e9e1;border-color:#ccd5c5}
.session.is-past h4,.session.is-past .session-day,.session.is-past .session-day time,.session.is-past .session-detail,.session.is-past .session-distance,.session.is-past .session-alternative{color:#505d54}
.session.is-past .session-icon{opacity:.75}
.session.is-today{background:#d2e5c1;box-shadow:inset 5px 0 #173e32;border-color:#abc493}
.calendar-date-mark{display:table;max-width:100%;margin-top:7px;padding:3px 6px;border-radius:5px;line-height:1.45;white-space:normal}
.session.is-past .calendar-date-mark{background:#d1d9ca;color:#354b3d}
.session.is-today .calendar-date-mark{background:#173e32;color:#fff;font-size:10px;font-weight:700;padding:4px 8px}
.session.is-today h4,.session.is-today .session-day,.session.is-today .session-day time,.session.is-today .session-detail,.session.is-today .session-distance{color:#173e32}
.past-date-dot{background:#d1d9ca;border-color:#9aa98f}
.today-date-dot{background:#173e32;border-color:#173e32}
.connection-success-dialog{width:390px;max-width:calc(100vw - 32px);padding:30px 26px;text-align:center;background:#fcfdf9;border:1px solid #cddcc3}
.connection-success-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 17px;border-radius:50%;background:#d9e9cc;color:#173e32}
.connection-success-mark svg{width:34px;height:34px;stroke-width:2}
.connection-success-dialog h2{font-size:24px;line-height:1.2;color:#173e32;letter-spacing:-.5px}
#connection-success-account{font-size:17px;font-weight:600;line-height:1.5;margin-top:12px;color:#173e32;overflow-wrap:anywhere}
#connection-success-detail{font-size:12px;line-height:1.6;color:#53634f;margin-top:11px}
.connection-success-time{font-size:11px;line-height:1.5;color:#53634f;margin:13px 0 18px}
.connection-success-dialog .button{justify-content:center;width:100%;margin:0}
@media(max-width:1050px){.session-list{--session-gutter:22px}}
@media(max-width:650px){.session-list{--session-gutter:17px}.session-list>.session{padding-block:20px}}

.session.is-past .session-sync-caption,.session.is-past .session-sync-note{color:#4c5c50}.session.is-today .session-sync-caption,.session.is-today .session-sync-note{color:#38513f}

.backup-dialog{width:650px;max-width:calc(100vw - 28px);padding:27px;background:#fcfcf8}
.backup-dialog .dialog-top{border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:17px}
.backup-dialog-content>p{font-size:13px;line-height:1.8;margin-top:12px;color:#53634f}
.backup-dialog .backup-key-option{margin-top:18px;padding:15px 16px}
.backup-dialog .backup-key-option label{font-size:13px}
.backup-dialog .backup-key-option p,.backup-dialog .backup-key-option small{font-size:12px}
.backup-dialog .backup-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:20px;width:100%}
.backup-dialog .backup-actions .button{width:100%;margin:0;justify-content:center;padding-inline:10px;min-width:0;white-space:normal;text-align:center}
.backup-feedback:empty{display:none}
.backup-dialog-content .backup-feedback{padding:11px 13px;border-radius:8px;font-size:12px;line-height:1.6}
.backup-dialog-content .backup-feedback.is-success{background:#e5efdc;color:#244632}
.backup-dialog-content .backup-feedback.is-warning{background:#fff1d4;color:#78501c}
.backup-dialog-content .backup-feedback.is-error{background:#f9e7e2;color:#973625}
@media(max-width:1400px){.topbar .level-tag{display:none}}
@media(max-width:1050px){.topbar{flex-wrap:wrap;justify-content:space-between}.topbar .sync-nav{order:0;margin-right:auto}.topbar .brand{order:1}.topbar .action-toolbar{order:3;flex-basis:100%;width:100%;max-width:none;margin:0}#plan,#week-panel,#race-title{scroll-margin-top:190px}}
@media(max-width:650px){.topbar .nav-action{flex-direction:column;font-size:10px;line-height:1.35;min-height:76px;padding:8px 4px;gap:6px;white-space:normal}.topbar .nav-action>span:last-child{text-align:center;overflow-wrap:normal}.backup-dialog{padding:22px;max-width:calc(100vw - 22px)}.backup-dialog .backup-actions{grid-template-columns:1fr}.backup-dialog .backup-actions .button{min-height:44px}}

.distance-settings{margin-top:17px;padding-top:5px;border-top:1px solid var(--line)}
.margin-label small{display:block;margin-top:4px;font-size:11px;line-height:1.5;font-weight:400;color:#61705a}
.race-goal-summary.is-forecast{background:#edf3e5;border-color:#ccdbbc}
.race-goal-summary .goal-pace span{display:block;white-space:normal;max-width:180px;font-size:9px;line-height:1.5;letter-spacing:.7px;color:#53634f;margin-top:5px}
.topbar .references-nav-label{white-space:normal;line-height:1.3;text-align:center}
.references-nav-label>span{display:block}
.references-dialog .dialog-top>div{min-width:0}
.references-dialog .dialog-top h2{overflow-wrap:anywhere}
.references-dialog .dialog-top{margin-bottom:18px}
.race-equivalences{grid-column:1/-1;min-width:0;border-top:1px solid #cfdac4;padding-top:18px;margin-top:3px}
.race-equivalences h4{font-size:14px;font-weight:650;line-height:1.5;color:var(--forest)}
.race-goal-summary .race-equivalences-description{margin-top:4px;font-size:11px;color:#53634f}
.race-equivalence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0}
.race-equivalence-grid>div{min-width:0;padding:15px 17px;background:#ffffffa6;border:1px solid #d4dfca;border-radius:11px}
.race-equivalence-grid dt{font-size:13px;font-weight:600;line-height:1.5;color:var(--forest)}
.race-equivalence-grid dt small{display:block;font-size:10px;font-weight:400;color:#5c6a53;margin-top:3px}
.race-equivalence-grid dd{margin:12px 0 0;white-space:nowrap}
.race-equivalence-grid dd strong{display:block;font-size:25px;font-weight:550;letter-spacing:-.5px;line-height:1.3;color:var(--forest);font-variant-numeric:tabular-nums}
.race-equivalence-grid dd span{display:block;margin-top:4px;font-size:12px;color:#48603e;font-variant-numeric:tabular-nums}
.race-goal-summary .race-equivalences-note{font-size:11px;line-height:1.7;color:#53634f;margin-top:12px}
@media(max-width:520px){.race-equivalence-grid{grid-template-columns:1fr;gap:10px}.race-equivalence-grid>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px}.race-equivalence-grid dd{margin:0;text-align:right}.race-equivalence-grid dd strong{font-size:22px}.race-equivalence-grid dt{font-size:12px}.race-equivalence-grid dd span{font-size:11px}}
@media(max-width:650px){.topbar .nav-action{min-height:88px}#plan,#week-panel,#race-title{scroll-margin-top:205px}.race-goal-summary .goal-pace span{max-width:125px;font-size:8px}}

/* Guías y tiempo orientativo, separados de las referencias de ritmo. */
.print-cell-meta{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 7px;margin-bottom:5px}
.print-cell-meta .cell-date{margin:0}
.print-duration{display:block;font-size:8px;font-weight:600;line-height:1.35;color:#31553b;white-space:nowrap;font-variant-numeric:tabular-nums}
@media print{
  .print-header{padding-bottom:2mm;margin-bottom:2mm}.print-race-info{line-height:1.4;overflow-wrap:anywhere}.print-pace-strip{margin-bottom:2mm}
  .print-table th,.print-table td{padding:1mm 1.4mm}.print-session{font-size:7pt;line-height:1.2}
  .print-cell-meta{gap:.5mm 1.2mm;margin-bottom:.7mm}.print-cell-meta .cell-date,.print-duration{font-size:6.3pt;margin:0;line-height:1.35}
  .print-footnotes{line-height:1.35;margin-top:2mm}
}
.plan-load-preview{padding:13px 15px;margin:3px 0 17px;border:1px solid #d8e1cf;border-radius:10px;background:#f0f4e9}
.plan-load-preview>span{font-size:8px;font-weight:650;letter-spacing:.9px;color:#507044}
.plan-load-preview>strong{display:block;font-size:12px;line-height:1.6;margin-top:5px;color:var(--forest)}
.plan-load-preview>p{font-size:10px;line-height:1.65;color:#59694f;margin-top:5px}
.session-practical{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;margin:11px 0}
.session-duration{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:0;text-align:left;color:#355940;line-height:1.5}
.session-duration>[data-icon]{width:16px;flex-shrink:0}.session-duration svg{width:16px;height:16px}
.session-duration>span:last-child{min-width:0}.session-duration small{display:block;font-size:9px;color:#66765e;font-weight:400}
.session-duration strong{display:block;font-size:12px;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.session-duration:hover strong,.session-guide-link:hover{text-decoration:underline;text-underline-offset:3px}
.session-fuelling{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 9px;border:1px solid #decba9;border-radius:7px;background:#fbf2df;color:#75552c;font-size:11px;line-height:1.5;text-align:left}
.session-fuelling>span:nth-child(2){min-width:0}.session-fuelling [data-icon]{flex-shrink:0}.session-fuelling svg{width:14px;height:14px}
.session-fuelling:hover{background:#f4e6c8;border-color:#cbb17e}
.session-guide-link{display:inline-flex;align-items:center;gap:6px;padding:0;font-size:11px;line-height:1.5;color:var(--green)}.session-guide-link svg{width:13px;height:13px}
.strength-duration{font-size:11px;line-height:1.5;color:#607052}
.today-card .session-practical{margin:12px 0 16px}.today-card .session-duration strong{font-size:13px}
.week-footnote>p{margin-bottom:6px}.week-footnote .text-button{font-size:11px;line-height:1.5;white-space:normal;text-align:left}
.sync-status-help{margin-top:8px}.sync-status-help>summary{font-size:11px;line-height:1.6;color:#3b634a;text-decoration:underline;text-underline-offset:3px}
.week-sync-panel .sync-status-help p{margin-top:8px}
.training-guides{margin-top:22px;padding:23px;background:#fbf6ec;border:1px solid #e3d7bf;border-radius:15px}
.guide-kicker{display:block;font-size:8px;font-weight:650;letter-spacing:1.3px;color:#97613a;margin-bottom:8px}
.guide-heading h3{font-size:21px;font-weight:600;line-height:1.4;letter-spacing:-.5px;color:#3d4938}
.guide-heading>p{font-size:12px;line-height:1.7;color:#6f6b5c;margin-top:7px}
.guide-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:19px 0 18px}
.guide-milestones>div{min-width:0;padding:13px 14px;background:#fffdf8;border:1px solid #e4dac8;border-radius:9px}
.guide-milestones dt{font-size:10px;font-weight:500;color:#7d715a;line-height:1.6}
.guide-milestones dd{font-size:12px;line-height:1.65;color:#46523e;font-weight:600;margin:5px 0 0}
.guide-detail{margin-top:10px;border:1px solid #e2dacb;border-radius:10px;background:#fffdf8;overflow:hidden;scroll-margin-block:16px}
.guide-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;font-size:13px;font-weight:600;line-height:1.5;color:#3f5539}
.guide-detail>summary>span:first-child{min-width:0}.guide-detail>summary small{display:block;font-size:10px;font-weight:400;line-height:1.6;color:#7d7868;margin-top:3px}
.guide-detail>summary svg{width:15px;height:15px}.guide-detail[open]>summary{border-bottom:1px solid #ece3d2;background:#f4efdf}.guide-detail[open]>summary svg{transform:rotate(180deg)}
.guide-body{padding:2px 17px 17px;font-size:12px;line-height:1.8;color:#5b6553}
.guide-body p{margin-top:12px}.guide-body strong{color:#3b5638}.guide-body a{color:#416b3b;text-decoration:underline;text-underline-offset:3px}
.guide-body .guide-source{font-size:10px;color:#777461;margin-top:14px}
.fuelling-ranges{display:grid;gap:7px;margin:14px 0 0}.fuelling-ranges>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:10px 12px;border-radius:7px;background:#f1f4e8}
.fuelling-ranges dt{font-size:11px;line-height:1.6}.fuelling-ranges dd{margin:0;font-size:11px;line-height:1.6;font-weight:600;color:#3e5d36}
.references-nav-label>.references-nav-compact{display:none}.references-nav-full>span{display:block}
footer .footer-meta{line-height:1.7}footer .footer-meta small{display:block;margin-top:5px;font-size:10px;color:#607052;font-variant-numeric:tabular-nums}
@media(max-width:650px){
  .topbar{padding:9px 14px;gap:8px}.topbar .sync-nav{padding:7px 9px;min-height:44px;gap:7px}.topbar .sync-nav-title{font-size:10px}.topbar .sync-nav-state{font-size:9px}.topbar .sync-nav svg{width:18px;height:18px}.topbar .brand{font-size:17px}.topbar .brand-icon{margin-right:9px}
  .topbar .action-toolbar{gap:6px}.topbar .nav-action{min-height:64px;padding:7px 4px;gap:4px;font-size:10px;line-height:1.3}.topbar .nav-action-icon{width:24px;height:24px}.topbar .nav-action-icon svg{width:15px;height:15px}
  .references-nav-label>.references-nav-full{display:none}.references-nav-label>.references-nav-compact{display:block}
  html{scroll-padding-top:150px}#plan,#week-panel,#race-title{scroll-margin-top:150px}
  .session-duration strong{font-size:11px}.session-duration small{font-size:9px}.session-fuelling{font-size:10px;padding:6px 7px;gap:5px}.session-guide-link,.strength-duration{font-size:10px}
  .training-guides{padding:18px;margin-top:19px}.guide-heading h3{font-size:19px}.guide-heading>p{font-size:11px}.guide-detail>summary{padding:13px 14px;font-size:12px}.guide-body{padding:2px 14px 15px;font-size:12px}.guide-detail>summary small{font-size:10px}
  .guide-milestones{grid-template-columns:1fr;gap:7px;margin-block:15px}.guide-milestones>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:12px;padding:10px 12px}.guide-milestones dd{margin:0;font-size:11px}.guide-milestones dt{font-size:10px}
  .fuelling-ranges>div{grid-template-columns:1fr;gap:3px}.week-footnote .text-button{font-size:10px}footer .footer-meta small{font-size:9px}
}

/* Conexión recordada y actividad del día como entrada al plan */
.remember-connection{padding:15px;margin-top:17px;border:1px solid #cedbc5;border-radius:10px;background:#f1f6eb}
.connection-box .remember-connection label{display:flex;align-items:center;gap:10px;margin:0;font-size:13px;line-height:1.5;cursor:pointer}
.connection-box .remember-connection input{width:18px;height:18px;min-height:18px;max-width:18px;padding:0;flex-shrink:0;accent-color:var(--forest)}
.remember-connection p{font-size:12px;line-height:1.6;color:#53644b;margin:8px 0 0 28px}
#retry-saved-connection,#connect-intervals{margin-top:14px}
.sync-nav.checking .sync-nav-state{color:#47625c}.sync-nav.needs-check .sync-nav-state{color:#8b551b}
.has-plan .heading-row{margin-bottom:20px}.has-plan .heading-row h1{font-size:clamp(25px,3vw,34px)}
.has-plan .heading-row .eyebrow,.has-plan .page-intro{display:none}.has-plan .user-greeting{margin-bottom:7px}
.has-plan .overview-grid{grid-template-columns:minmax(0,1fr)}.has-plan .overview-sidebar{display:none}
main>.today-card{height:auto;min-width:0;margin-bottom:25px;padding:clamp(20px,3vw,30px);border:2px solid #bfd0b2;background:#edf3e5;scroll-margin-top:8px}
main>.today-card>.eyebrow{font-size:10px;color:#526c43}main>.today-card h2{font-size:clamp(23px,3vw,30px);margin-bottom:17px}
main>.today-card .today-status{font-size:10px;color:#45613a}main>.today-card .today-distance{font-size:32px;color:var(--forest)}
main>.today-card .today-distance small{font-size:12px}main>.today-card .today-date{font-size:13px;color:#53664b}
main>.today-card .today-session-title h3{font-size:21px}main>.today-card .today-description{font-size:14px;line-height:1.65;color:#435739;max-width:82ch}
main>.today-card .today-bottom{font-size:12px;color:#53664b}main>.today-card .today-bottom .text-button{font-size:12px}
main>.today-card .session-alternative{font-size:12px;color:#53664b}main>.today-card .session-duration strong{font-size:14px}
@media(max-width:650px){
  .has-plan main{padding-top:22px}.has-plan .heading-row{margin-bottom:17px}.has-plan .user-greeting{font-size:20px}
  main>.today-card{padding:20px;margin-bottom:20px;scroll-margin-top:8px}main>.today-card .today-session-title h3{font-size:19px}
  main>.today-card .today-description{font-size:13px}main>.today-card .today-bottom{flex-wrap:wrap;font-size:11px}
  .remember-connection{padding:13px}.connection-box .remember-connection label{font-size:12px}#connect-intervals{width:100%}
}

/* Campos obligatorios y avisos del formulario del plan */
.form-required-hint{font-size:12px;line-height:1.6;color:#56634f;margin:0 0 14px}
.required-mark,.form-required-hint>span{color:#a03c2e;font-weight:700;margin-left:3px}
.form-error-summary{margin-bottom:18px;padding:13px 14px;border:1px solid #d99b8f;border-left:4px solid #a03c2e;border-radius:8px;background:#fff0eb;color:#862d21;font-size:13px;font-weight:500;line-height:1.65;scroll-margin-top:12px}
.config-card .error{font-size:12px;line-height:1.5;margin-top:6px;color:#a03c2e}
.config-card input[aria-invalid=true],.config-card .date-field:has([aria-invalid=true]){border-color:#a03c2e;box-shadow:0 0 0 1px #a03c2e}

.app-startup-notice{padding:14px 15px;margin:0 0 17px;border:1px solid #d1b18a;border-radius:9px;background:#fff4e5;color:#68461f;font-size:12px;line-height:1.7}
.app-startup-notice a{display:inline-block;margin-top:8px;font-weight:650;text-underline-offset:3px}

/* Cuentas: los controles de envío solo aparecen con correo verificado. */
body:not(.sync-enabled) #open-sync,body:not(.sync-enabled) .session-sync,body:not(.sync-enabled) .week-sync-panel{display:none!important}
.account-nav{white-space:nowrap;flex-shrink:0}.account-nav svg{width:19px;height:19px}.cloud-status-bar{display:flex;align-items:center;gap:12px;border:1px solid #d8e0d1;background:#eef3e8;border-radius:12px;padding:13px 18px;margin-bottom:24px;color:#244e3e;font-size:13px}.cloud-status-bar>span[data-icon]{width:22px;flex-shrink:0}.cloud-status-bar #cloud-status{flex:1}.cloud-conflict{border:1px solid #d9a95d;background:#fff5df;padding:20px;border-radius:12px;margin-bottom:25px;color:#644019}.cloud-conflict p{line-height:1.7;margin:8px 0 15px}.cloud-conflict>div{display:flex;gap:10px;flex-wrap:wrap}.account-dialog{max-width:580px}.account-intro{line-height:1.8;color:#5a6b5e;margin-bottom:20px}.account-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.account-tabs button{font:inherit;font-size:12px;border:1px solid #d6ddcf;border-radius:8px;padding:10px 12px;background:#fff;color:#315440;cursor:pointer}.account-tabs button[aria-pressed=true]{background:#173e32;color:white;border-color:#173e32}.account-dialog label{display:block;font-size:13px;font-weight:600;margin:16px 0}.account-dialog input{display:block;margin-top:8px;box-sizing:border-box;width:100%;min-width:0;height:47px;border:1px solid #cdd6c5;border-radius:8px;padding:10px 12px;font:inherit;background:#fff}.account-dialog input:focus{outline:2px solid #6d8d69;outline-offset:2px}.account-email{font-weight:650;overflow-wrap:anywhere;margin-bottom:15px}.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.account-danger{border-top:1px solid #d9dfd3;margin-top:25px;padding-top:18px;color:#854632}.account-danger summary{cursor:pointer;font-size:13px}.account-danger p{font-size:12px;line-height:1.8;margin:12px 0}.account-dialog [hidden],.cloud-status-bar[hidden],.cloud-conflict[hidden]{display:none!important}
@media(max-width:1050px){.topbar .account-nav{order:2;margin-left:auto}.topbar .sync-nav{margin-right:0}.topbar .brand{margin-right:auto}}
@media(max-width:650px){.topbar .account-nav{font-size:10px;padding:9px 10px;gap:5px;min-height:40px}.topbar .account-nav svg{width:16px;height:16px}.cloud-status-bar{flex-wrap:wrap;padding:12px;font-size:12px}.cloud-status-bar #cloud-status{flex-basis:calc(100% - 40px)}.cloud-status-bar .button{margin-left:30px}.account-dialog{padding:22px}.account-actions{flex-direction:column}.account-actions .button{width:100%}}
@media print{#cloud-status-bar,#cloud-conflict,#account-dialog{display:none!important}}

body:not(.sync-enabled) .backup-key-option{display:none!important}

/* Centro de cuenta y ventanas que caben en la pantalla, también con teclado. */
dialog.account-dialog{width:min(580px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-width:0;max-height:calc(var(--account-viewport,100dvh) - 32px);padding:0;margin:auto;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;border-radius:16px}
.account-dialog .account-dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;gap:12px;padding:20px 22px 17px;background:#f6f6f0;border-bottom:1px solid var(--line)}
.account-dialog .account-dialog-header>div{min-width:0;flex:1}.account-dialog .account-dialog-header h2{font-size:clamp(20px,5.4vw,26px);line-height:1.25;overflow-wrap:anywhere}.account-dialog .account-dialog-header>.icon-button{flex:0 0 44px;width:44px;height:44px;min-width:44px;position:relative;inset:auto;margin:0;background:#fff;touch-action:manipulation}.account-dialog .account-dialog-header>.icon-button svg{width:20px;height:20px}
.account-dialog-body{padding:20px 22px 24px;min-width:0;max-width:100%;overflow-wrap:anywhere}.account-dialog-body>*,.account-dialog form,.account-dialog label{min-width:0;max-width:100%}.account-dialog input{font-size:16px}.account-tabs{gap:7px}.account-tabs button{flex:1 1 auto;min-height:44px;padding:10px;font-size:12px;white-space:normal}.account-dialog #account-submit{width:100%;min-height:46px}.account-continue{display:block;min-height:44px;margin:15px auto 0;padding:9px 12px;color:#346550;font-size:13px;text-decoration:underline;text-underline-offset:3px;white-space:normal}
.account-section+.account-section{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.account-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:#214e3b}.account-section-heading>[data-icon]{display:grid;place-items:center;width:34px;height:34px;background:#e8efdf;border-radius:9px;flex-shrink:0}.account-section-heading h3{font-size:18px;line-height:1.3}.account-section>.sync-help{font-size:13px;line-height:1.7}.account-section .account-email{font-size:15px;margin-bottom:10px}.account-integrations .sync-nav{width:100%;min-height:62px;padding:13px 15px;margin-top:15px;font-size:13px}.account-integrations .sync-nav .sync-nav-state{font-size:12px}.account-integrations .sync-nav-title{white-space:normal}.account-section #open-backup{margin-top:15px;white-space:normal;width:100%;min-height:46px}.account-verification-note{margin-top:12px;font-size:13px;line-height:1.7;padding:12px;background:#fff2df;border:1px solid #eed9b5;border-radius:8px}.account-section .account-danger{margin-top:22px}.account-section .account-danger>summary{min-height:44px;display:flex;align-items:center}
.guest-save-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #d6dfce;background:#edf3e5;border-radius:12px;margin-bottom:22px;color:#294b36}.guest-save-prompt>div{min-width:0}.guest-save-prompt strong{font-size:14px}.guest-save-prompt p{font-size:12px;color:#5c6e52;line-height:1.65;margin-top:4px}.guest-save-prompt .button{flex-shrink:0}
#app:not(.has-plan) .topbar .action-toolbar{display:flex;order:initial;width:auto;flex-basis:auto;margin-left:auto}#app:not(.has-plan) .account-nav{flex-direction:row;min-height:46px;padding:9px 12px;font-size:12px}.topbar .action-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.topbar .account-nav{margin-left:0;white-space:normal}
@media(max-width:650px){dialog.account-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(var(--account-viewport,100dvh) - 24px);border-radius:13px}.account-dialog .account-dialog-header{padding:16px;gap:10px}.account-dialog-body{padding:16px 16px 20px}.account-dialog .account-dialog-header h2{font-size:22px}.account-dialog .account-intro{font-size:13px;margin-bottom:15px}.account-dialog .account-tabs{display:grid;grid-template-columns:1fr 1fr;margin:16px 0}.account-dialog .account-tabs button:last-child{grid-column:1/-1}.account-dialog .account-actions .button{min-height:44px;white-space:normal}.guest-save-prompt{align-items:flex-start;flex-direction:column;padding:15px;gap:12px}.guest-save-prompt .button{width:100%;min-height:44px}.topbar .action-toolbar .account-nav{flex-direction:column;min-height:64px;padding:7px 4px;font-size:10px}.topbar .account-nav .nav-action-icon{width:24px;height:24px}.topbar .account-nav .nav-action-icon svg{width:15px;height:15px}#app:not(.has-plan) .topbar{flex-wrap:nowrap;gap:12px}#app:not(.has-plan) .account-nav{flex-direction:row;max-width:175px;min-height:44px;font-size:11px}}
@media print{.guest-save-prompt{display:none!important}}

.has-account .backup-key-option{display:none!important}
