
:root{color-scheme:dark;--bg:#07110c;--panel:#102019;--line:#334b3b;--ink:#e8efea;--muted:#b4c9bb;--accent:#b4ed80;--deep:#09160f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.8 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{position:absolute;top:-70px;left:12px;background:var(--accent);color:#07110c;padding:10px;z-index:99}.skip-link:focus{top:8px}.site-nav{border-bottom:1px solid var(--line);padding:18px 24px}.nav-inner{max-width:1060px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{font-weight:850;font-size:24px;text-decoration:none;letter-spacing:.1em;color:#fff}.nav-links{display:flex;flex-wrap:wrap;gap:18px;font-size:14px}.hero{max-width:1000px;margin:auto;padding:58px 24px 25px}.eyebrow{font-size:12px;font-weight:750;color:var(--accent);letter-spacing:.12em;text-transform:uppercase}h1{max-width:860px;margin:18px 0;font-size:clamp(34px,5.5vw,59px);font-weight:780;line-height:1.1;letter-spacing:-.035em;overflow-wrap:break-word}.lead{font-size:20px;line-height:1.65;max-width:820px;color:#cbdccd}.lead strong{font-weight:450}.meta{font-size:13px;color:var(--muted)}main{max-width:1000px;margin:auto;padding:0 24px 64px}article>p,article>h2,article>h3{max-width:820px}p{margin:0 0 21px}h2{font-size:clamp(25px,3.6vw,33px);line-height:1.25;letter-spacing:-.02em;margin:49px 0 20px;scroll-margin-top:20px}h3{font-size:22px;line-height:1.3;margin:8px 0 22px}h4{font-size:14px;letter-spacing:.04em;margin:18px 0 10px}.jump-links{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;margin:23px 0 35px;padding-bottom:20px;border-bottom:1px solid var(--line)}.article-visual{margin:30px 0 40px}.article-visual img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--line)}figcaption{font-size:13px;color:var(--muted);margin-top:10px;max-width:840px}.table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:25px 0 32px}table{width:100%;border-collapse:collapse;font-size:15px;min-width:600px}th,td{text-align:left;padding:15px 16px;vertical-align:top;border-bottom:1px solid var(--line)}th{background:#193625;font-size:13px;color:#e9f5e1;font-weight:700}td{background:#0e2116}tbody tr:last-child td{border-bottom:0}.answer{padding:24px 26px;margin-bottom:24px;background:var(--panel);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;max-width:880px}.answer p{margin:0}.disclosure{font-size:14px;color:var(--muted)}.tool{padding:28px;margin:30px 0 42px;border:1px solid #5a785d;border-radius:16px;background:#0e2217;scroll-margin-top:20px}.tool h3{font-size:25px}.tool>p{font-size:14px;color:var(--muted)}fieldset{padding:0;margin:0 0 20px;border:0;min-width:0}legend,label{font-weight:650;font-size:14px}.day-options{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.day-option{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #586e59;border-radius:7px;cursor:pointer;background:#091910}.day-option:has(input:checked){background:#2b492d;border-color:var(--accent)}input[type=checkbox]{accent-color:#b4ed80;width:17px;height:17px;flex-shrink:0;margin:0}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}select,textarea{display:block;width:100%;font:inherit;font-size:15px;color:var(--ink);background:#081a10;border:1px solid #667f68;border-radius:7px;padding:12px;margin-top:8px}textarea{resize:vertical;min-height:150px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:23px 0 10px}.button{display:inline-block;font:650 14px/1.5 ui-sans-serif,system-ui,sans-serif;border:1px solid var(--accent);border-radius:7px;padding:12px 18px;background:var(--accent);color:#101f0d;text-decoration:none;cursor:pointer}.button:hover{filter:brightness(1.07)}.secondary{background:transparent;color:var(--ink);border-color:#617760}.hint{color:var(--muted);font-size:12px;line-height:1.7}.status,.copy-status{font-size:13px;color:var(--accent);min-height:1.5em;margin:12px 0}.status.error{color:#ffdbb0}.results{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:24px}.schedule-card{border:1px solid var(--line);border-radius:12px;padding:23px 20px;background:#091a10;min-width:0}.schedule-card h3{font-size:21px}.small-label{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);line-height:1.5;margin-bottom:12px}.week-grid{list-style:none;padding:0;margin:0 0 20px}.week-grid li{display:grid;grid-template-columns:3.2em minmax(0,1fr);column-gap:10px;padding:8px 10px;border-bottom:1px solid #263d2b;font-size:14px;line-height:1.5}.week-grid li:last-child{border:0}.day-name{color:var(--muted);font-weight:650}.training-slot{background:#193523}.rest-slot{color:#afc0b2}.uncertain{border-left:3px solid #e6c497;background:#35291d!important}.uncertain-label{grid-column:2;font-size:10px;letter-spacing:.03em;color:#e6c497}.time-total{font-size:13px;color:#d7e6d8;line-height:1.7}.slot-counts{margin:16px 0}.slot-counts dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.slot-counts dl>div{padding:10px 7px;border:1px solid var(--line);border-radius:6px;text-align:center}.slot-counts dt{font-size:11px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.slot-counts dd{margin:4px 0 0;font-size:23px;font-weight:750}.stress{border-top:1px dashed #887353;margin-top:20px;padding-top:17px}.stress>p{font-size:13px;line-height:1.7}.schedule-note{font-size:12px;line-height:1.75;margin-bottom:13px;color:#c4d5c7}.manual-copy{margin-top:15px}.manual-copy[hidden]{display:none}.sources-section{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px}.sources-section p{overflow-wrap:anywhere}.cta{padding:28px;border:1px solid #5c7954;background:#142b1c;border-radius:14px;margin:35px 0}.cta h2{margin:0 0 20px}.footer{max-width:1060px;margin:0 auto;padding:30px 24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.preview-banner{padding:9px 24px;background:#263226;color:#d9e6cd;font-size:12px;text-align:center}.nojs-note{font-size:14px;color:#e7d9bb;padding:14px;border:1px solid #857044;border-radius:8px}svg{max-width:100%}@media(max-width:720px){.results{grid-template-columns:1fr}.form-columns{grid-template-columns:1fr}.hero{padding-top:36px}.nav-inner{align-items:flex-start}.nav-links{justify-content:flex-end;gap:6px 14px;max-width:200px}.tool{padding:21px 18px}.article-visual{margin:25px 0}.lead{font-size:18px}}@media(max-width:400px){main,.hero{padding-left:18px;padding-right:18px}.site-nav{padding:14px 18px}.nav-links{font-size:12px;max-width:160px}.actions .button{width:100%}.day-option{padding:9px 10px}.tool{padding:18px 14px}.schedule-card{padding:20px 15px}.answer{padding:19px}h1{font-size:35px}.cta{padding:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{:root{color-scheme:light;--bg:#fff;--ink:#111;--muted:#444;--accent:#174e20;--line:#ccc}body{font-size:11pt;line-height:1.55;color:#111;background:#fff}.site-nav,.jump-links,.preview-banner,.skip-link,.actions,.button,.copy-status,.manual-copy,form,.status{display:none!important}.hero{padding-top:0}h1{font-size:27pt}.hero,main{max-width:none;padding:0}.tool,.schedule-card,.cta,.answer,th,td,.training-slot,.rest-slot,.uncertain{background:#fff!important;color:#111!important}.tool{padding:10px}.schedule-card{break-inside:avoid}.results{display:block}.schedule-card{margin-bottom:20px}.article-visual{break-inside:avoid;max-width:650px}h2,h3{break-after:avoid}.table-scroll{overflow:visible}table{min-width:0}a{color:#174e20}.eyebrow,.small-label,.day-name,.hint,.schedule-note,.time-total,.lead{color:#333!important}.slot-counts dt{color:#444}.footer{margin-top:24px}}
