.plan-controls{flex-wrap:wrap;align-items:flex-end;gap:14px 22px;margin-top:14px;display:flex}.plan-controls .hours-picker{flex:200px}.choice-group{border:0;min-width:0;margin:0;padding:0}.choice-group legend,.hours-picker label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;padding:0;font-size:11px}.choice-pills{border:1px solid var(--control-border);background:var(--surface);border-radius:999px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:3px;display:flex}.choice-pill{display:inline-flex;position:relative}.choice-pill input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice-pill span{color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:14px;transition:background .18s,color .18s}.choice-pill:hover span{color:var(--text);background:var(--surface-raised)}.choice-pill input:checked+span{color:var(--accent-ink);background:var(--accent)}.choice-pill input:focus-visible+span{outline:2px solid var(--accent-text);outline-offset:2px}.hours-picker{min-width:0;display:grid}.hours-row{align-items:center;gap:12px;min-height:38px;display:flex}.hours-track{--track:6px;--thumb:20px;flex:1;align-items:center;min-width:0;display:flex;position:relative}.hours-track:before,.hours-track:after{content:"";height:var(--track);margin-top:calc(var(--track) / -2);pointer-events:none;border-radius:999px;position:absolute;top:50%;left:0}.hours-track:before{background:var(--border-strong);right:0}.hours-track:after{width:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--f,0));background:var(--accent)}.hours-track input[type=range]{z-index:1;appearance:none;cursor:pointer;background:0 0;border:0;width:100%;height:32px;margin:0;padding:0;position:relative}.hours-track input[type=range]:focus{outline:none}.hours-track input[type=range]::-webkit-slider-runnable-track{height:var(--track);background:0 0}.hours-track input[type=range]::-moz-range-track{height:var(--track);background:0 0}.hours-track input[type=range]::-webkit-slider-thumb{appearance:none;width:var(--thumb);height:var(--thumb);margin-top:calc((var(--track) - var(--thumb)) / 2);border:2px solid var(--surface);background:var(--accent);box-shadow:0 0 0 1px var(--accent);border-radius:50%;transition:transform .15s}.hours-track input[type=range]::-moz-range-thumb{width:var(--thumb);height:var(--thumb);border:2px solid var(--surface);background:var(--accent);box-shadow:0 0 0 1px var(--accent);border-radius:50%;transition:transform .15s}.hours-track input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.hours-track input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}.hours-track input[type=range]:hover::-moz-range-thumb{transform:scale(1.12)}.hours-track input[type=range]:active::-moz-range-thumb{transform:scale(1.12)}.hours-track input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent-text);outline-offset:2px}.hours-track input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--accent-text);outline-offset:2px}@media (forced-colors:active){.hours-track:before{border:1px solid canvastext}.hours-track:after{forced-color-adjust:none;background:highlight}}@media (prefers-reduced-motion:reduce){.hours-track input[type=range]::-webkit-slider-thumb{transition:none}.hours-track input[type=range]::-moz-range-thumb{transition:none}}.hours-row output{font-family:var(--font-mono);text-align:right;min-width:3.5em;color:var(--text);font-size:14px}.plan-goal{margin:16px 0 0;font-size:15px}.plan-goal-label,.plan-figure{font-family:var(--font-mono)}.plan-goal-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-right:6px;font-size:11px}.plan-summary{color:var(--text-muted);margin:6px 0 0;font-size:14px}.plan-figure{color:var(--text)}.week-schedule{margin-top:14px}.weeks{gap:12px;margin:0;padding:0 0 0 18px;list-style:none;display:grid;position:relative}.weeks:before{content:"";border-left:2px dotted var(--border-strong);position:absolute;top:10px;bottom:10px;left:4px}.week{animation:.3s ease-out both rise;animation-delay:calc(var(--i,0) * 45ms);position:relative}.week:before{content:"";background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:-19px}.week-head{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;gap:12px;margin:0 0 6px;font-size:12px;display:flex}.week-items{gap:8px;margin:0;padding:0;list-style:none;display:grid}.week-step{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:8px;padding:10px 14px;transition:border-color .2s,background .2s}.week-step.prove{border-left-color:var(--accent)}.week-step.done{border-left-color:var(--success);background:var(--success-soft)}.week-step.done .week-step-title a{color:var(--text-muted)}.week-step-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.type-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--text-muted);background:var(--surface-raised);border-radius:4px;padding:2px 8px;font-size:11px}.type-tag.type-project{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.for-skill{color:var(--text);font-size:13px;font-weight:600}.step-hours{font-family:var(--font-mono);color:var(--text-dim);margin-left:auto;font-size:12px}.week-step-title{margin:6px 0 0}.week-step-title a{font-weight:600}.week-step-detail{color:var(--text-muted);margin:4px 0 0;font-size:14px}.week-step-makes{margin:6px 0 0;font-size:14px}.week-step-makes-label,.week-output-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);margin-right:6px;font-size:11px}.week-output{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:14px}.week-output ul{gap:2px;margin:4px 0 0;padding-left:18px;display:grid}.week-output.quiet{border-color:var(--border-strong);color:var(--text-muted);background:0 0}.brief-parts{gap:6px;margin:8px 0 0;padding-left:18px;font-size:14px;display:grid}.week-step.continued{background:var(--surface-raised);padding-top:8px;padding-bottom:8px}.week-step.continued .week-step-title{margin-top:2px;font-size:14px}.week-step .tick,.week-schedule>.link-button{margin-top:8px}.training-body{margin-top:4px}.step-meter{background:var(--surface-raised);border:1px solid var(--border);border-radius:999px;flex:none;width:96px;height:22px;position:relative;overflow:hidden}.step-meter-fill{background:var(--success-soft);border-right:2px solid var(--success);transition:width .4s;position:absolute;inset:0 auto 0 0}.step-meter-fill[style*="width: 0%"]{border-right:0}.step-meter-text{text-align:center;font-family:var(--font-mono);color:var(--text);font-size:12px;line-height:20px;display:block;position:relative}.role-path{background:var(--surface);border:1px solid var(--border-strong);border-top:3px solid var(--accent);border-radius:var(--radius);padding:22px 24px}.role-path-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.role-path-head h2{margin:2px 0 6px}.role-path-head .section-lede{max-width:56ch;margin:0}.role-path-role{flex:0 280px}.path-skills{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.path-skill{border:1px solid var(--border-strong);background:var(--surface-raised);animation:.3s ease-out both rise;animation-delay:calc(var(--i,0) * 60ms);border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:14px;display:inline-flex}.path-skill.proven{border-color:var(--success);background:var(--success-soft)}.path-skill-level{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);border-radius:999px;padding:2px 8px;font-size:11px}.role-path .notice{margin-top:14px}@media (max-width:720px){.plan-controls{flex-direction:column;align-items:stretch}.plan-controls .hours-picker{flex-basis:auto}.role-path{padding:18px 16px}.role-path-role{flex-basis:100%}.week-step{padding:10px 12px}.step-meter{width:64px}}.study-days{flex-wrap:wrap;align-items:flex-end;gap:14px 22px;margin-top:14px;display:flex}.choice-pill input[type=checkbox]:disabled{cursor:not-allowed}.study-start{gap:6px;display:grid}.study-start label,.sitting-move label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.study-start input,.sitting-move input{font:inherit;border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-size:14px}.timetable{margin-top:14px}.study-days-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.study-day-head{color:var(--text);justify-content:space-between;gap:12px;margin:0 0 6px;font-size:14px;font-weight:600;display:flex}.study-day-head span:last-child{font-family:var(--font-mono);color:var(--text-dim);font-size:12px;font-weight:400}.study-day.today .study-day-head span:first-child{color:var(--accent-text)}.study-day.past .study-day-head{color:var(--text-muted)}.sitting-part{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);font-size:11px}.week-step.moved{border-left-style:dashed}.sitting-actions{flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:8px;display:flex}.sitting-actions .tick{margin-top:0}.sitting-move summary{color:var(--accent-text);cursor:pointer;font-size:13px}.sitting-move[open]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sitting-move[open] summary{flex-basis:100%}.project-panel{border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);margin-top:16px;padding:16px 18px}.project-panel h3{margin:4px 0 6px}.project-aim,.project-why{margin:0 0 8px;font-size:15px}.project-why{color:var(--text-muted)}.project-more{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.project-more summary{cursor:pointer;font-size:14px;font-weight:600}.project-feeds,.project-setup,.more-like-this ul{gap:8px;margin:8px 0 0;padding-left:20px;font-size:14px;display:grid}.project-feeds li span,.more-makes{color:var(--text-muted);display:block}.project-cv{margin:12px 0 0;font-size:14px}.project-cv .hint{margin-top:4px;display:block}.more-like-this{margin-top:14px}.built-summary{border:1px solid var(--success);border-radius:var(--radius);background:var(--success-soft);margin-top:12px;padding:14px 16px;font-size:15px}.built-summary p{margin:0}@media (max-width:720px){.study-days{flex-direction:column;align-items:stretch}.project-panel{padding:14px}}.plan-views{gap:14px;margin-top:16px;display:grid}.plan-view-switch .choice-pill span{padding:6px 16px}.project-progress{gap:8px;display:grid}.project-progress-text{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:14px;display:flex}.project-progress-count{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:12px}.project-parts{gap:4px;margin:0;padding:0;list-style:none;display:flex}.project-parts li{background:var(--border);border-radius:999px;flex:1;height:8px;transition:background .3s}.project-parts li.filled{background:var(--success)}.today-view{gap:14px;animation:.3s ease-out both rise;display:grid}.today-card{background:var(--surface);border:1px solid var(--border-strong);border-top:3px solid var(--accent);border-radius:var(--radius);gap:8px;padding:18px 20px;display:grid}.today-card.prove{border-top-color:var(--success)}.today-when{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0;font-size:12px;display:flex}.today-when span{white-space:nowrap}.today-when span:last-child{color:var(--text-muted)}.today-card h3{margin:0;font-size:22px;line-height:1.25}.today-card h3:focus{outline:none}.today-card h3:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.today-card .week-step-head{margin:0}.today-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.today-actions .hint{flex-basis:100%;margin:0}.today-coming ul{gap:6px;margin:6px 0 4px;padding:0;list-style:none;display:grid}.today-coming li{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:baseline;gap:10px;padding:8px 12px;font-size:14px;display:flex}.today-coming li>span:nth-child(2){flex:1;min-width:0}.today-coming-day{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:12px}.path-stops{gap:10px;margin:0;padding:0 0 0 22px;list-style:none;animation:.3s ease-out both rise;display:grid;position:relative}.path-stops:before{content:"";border-left:2px dotted var(--border-strong);position:absolute;top:12px;bottom:12px;left:6px}.path-stop{position:relative}.path-dot{background:var(--surface);border:2px solid var(--border-strong);border-radius:50%;width:12px;height:12px;position:absolute;top:14px;left:-21px}.path-stop.done .path-dot{background:var(--success);border-color:var(--success)}.path-stop.now .path-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.path-stop.end .path-dot{border-color:var(--accent);border-radius:3px}.path-stop-body{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;padding:10px 14px;display:grid}.path-stop.now .path-stop-body{border-color:var(--accent)}.path-stop.end .path-stop-body{border:1px solid var(--border-strong);border-top:3px solid var(--accent)}.path-stop-meta{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;margin:0;font-size:12px;display:flex}.path-stop.now .path-stop-meta span:first-child{color:var(--accent-text)}.path-stop.done .path-stop-meta span:first-child{color:var(--success)}.path-stop-title{margin:0;font-weight:600}.path-stop-gives{color:var(--text-muted);margin:0;font-size:14px}.path-stop .link-button{justify-self:start;padding-left:0}@media (prefers-reduced-motion:reduce){.today-view,.path-stops{animation:none}.project-parts li{transition:none}}@media (max-width:560px){.today-card{padding:16px}.today-card h3{font-size:19px}.today-coming li{flex-wrap:wrap;gap:2px 10px}.today-coming-day{flex-basis:100%}.today-coming li>span:nth-child(2){flex:1}}
