.home-page{max-width:1800px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.home-page h1,.home-page h2,.home-page h3,.home-page p{margin-top:0}.home-page h1{margin-bottom:0;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:600}.home-page h2{margin-bottom:0;font-size:1.05rem;font-weight:600}.home-page h3{margin-bottom:8px;font-size:.94rem;font-weight:600}.home-header,.panel-heading,.day-arc-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-header .field-label{margin-bottom:4px}.day-arc{padding:12px 16px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.day-arc-heading>span,.panel-heading>span{color:var(--dim);font-size:.82rem;font-variant-numeric:tabular-nums}.day-arc-svg{display:block;width:100%;min-height:90px;overflow:visible}.arc-track{stroke:var(--line);stroke-width:1}.arc-segment{fill:var(--raised);stroke:var(--line);stroke-width:1}.arc-logged{fill:var(--ok);stroke:var(--ok)}.arc-current{fill:var(--accent);stroke:var(--accent)}.arc-unlogged{fill:var(--bg);stroke-dasharray:3 2}.arc-label,.arc-tick,.heatmap-day{fill:var(--dim);font-size:11px;font-family:ui-monospace,Cascadia Mono,Consolas,Menlo,monospace}.arc-now,.arc-now-dot{stroke:var(--bad);fill:var(--bad);stroke-width:2}.home-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(190px,.75fr);align-items:start;gap:12px}.panel{min-width:0;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.now-column{border-radius:12px;border-left:3px solid var(--accent)}.panel-heading{margin-bottom:14px}.next-block{display:flex;flex-direction:column;gap:3px;margin-bottom:14px;padding:9px 10px;border-left:3px solid var(--dim);background:var(--raised)}.slot-item{padding:12px;border:1px solid var(--line);border-radius:6px}.slot-item-heading,.timer-row,.task-actions,.move-control,.pulse-inline{display:flex;align-items:center;justify-content:space-between;gap:8px}.item-id,.timer-value{font-family:ui-monospace,Cascadia Mono,Consolas,Menlo,monospace;font-variant-numeric:tabular-nums}.item-id{color:var(--dim);font-size:.75rem}.slot-item h3{margin-top:8px;font-size:1rem}.slot-item p{margin-bottom:10px;white-space:pre-wrap}.slot-item p strong{display:block;margin-bottom:2px;color:var(--dim);font-size:.78rem;font-weight:500}.checklist{display:grid;gap:7px;margin:12px 0;padding:8px 10px;border:1px solid var(--line)}.checklist legend{padding:0 4px;color:var(--dim);font-size:.82rem}.checklist label,.ritual-row{display:flex;align-items:center;gap:8px}.checklist input,.ritual-row input{accent-color:var(--accent)}.skill-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.skill-chip{padding:3px 7px;border:1px solid var(--line);border-radius:2px;color:var(--dim);font-size:.78rem}.timer-row{justify-content:flex-start;margin:12px 0;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timer-value{margin-right:auto;font-size:1.1rem;font-variant-numeric:tabular-nums}.item-actions,.evidence-prompt{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.item-actions select{max-width:145px}.danger-button{border-color:var(--bad);color:var(--bad)}.text-button{padding:3px 5px;border-color:transparent;background:transparent;color:var(--accent)}.empty-slot,.empty-row{color:var(--dim)}.blocked-popover{margin-top:12px;padding:8px 10px;border:1px solid var(--warn);border-radius:6px}.blocked-popover summary,.advanced-unblock summary{cursor:pointer;color:var(--warn)}.blocked-popover>select,.unblock-actions{width:100%;margin-top:8px}.blocked-copy{margin:8px 0;color:var(--dim)}.unblock-actions{display:grid;gap:8px}.unblock-actions label{display:grid;gap:4px}.advanced-unblock{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.today-column{max-height:74vh;overflow:auto}.ritual-row{min-height:42px;margin-bottom:10px;padding:7px 8px;border-left:3px solid var(--accent);background:var(--raised)}.ritual-row span:nth-child(2){flex:1}.quick-add{display:flex;gap:6px;margin-bottom:12px}.quick-add input{flex:1}.task-groups{display:grid;gap:10px}.task-group{min-height:44px;padding:9px 8px;border-left:3px solid var(--dim);background:var(--raised)}.task-group.has-carried{border-left-color:var(--warn)}.task-group.has-done{border-left-color:var(--ok)}.task-group h3{color:var(--dim)}.task-group ul,.tomorrow-preview ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.task-row{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.task-row[draggable=true]{cursor:grab}.task-title{flex:1;overflow-wrap:anywhere}.task-done .task-title{color:var(--dim);text-decoration:line-through}.task-status,.age-badge{color:var(--dim);font-size:.75rem;white-space:nowrap}.age-badge{color:var(--warn)}.task-actions{flex:0 0 auto}.empty-row{margin:0;font-size:.82rem}.pulse-column{display:grid;gap:14px}.pulse-column .panel-heading{margin-bottom:0}.pulse-stat{display:grid;gap:4px}.pulse-stat>span{color:var(--dim);font-size:.82rem}.pulse-stat strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.pulse-inline strong{font-size:.95rem}.meter{height:6px;overflow:hidden;border:1px solid var(--line);border-radius:2px;background:var(--bg)}.meter span{display:block;height:100%;background:var(--ok)}.heatmap-wrap{display:grid;gap:6px}.heatmap{width:100%;max-width:210px}.heatmap-cell{fill:var(--raised);stroke:var(--line)}.heatmap-hit{fill:var(--ok);stroke:var(--ok)}.heatmap-miss{fill:var(--bg)}.heatmap-rest{fill:var(--surface);stroke-dasharray:2 2}.day-close{display:grid;gap:12px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}.log-line{display:grid;grid-template-columns:auto minmax(110px,150px) minmax(180px,1fr) auto;align-items:center;gap:8px}.log-line>label{color:var(--dim)}.closed-label{color:var(--ok)}.tomorrow-preview{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;background:var(--raised)}.tomorrow-preview p{margin:0;color:var(--dim)}.tomorrow-preview li{padding:6px 8px;border-left:3px solid var(--dim);background:var(--surface)}.inline-error{padding:10px 12px;border-left:3px solid var(--bad);background:var(--surface);color:var(--bad)}.sunday-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);align-items:start;gap:12px}.rest-card{padding:20px;border:1px solid var(--line);border-left:3px solid var(--dim);border-radius:6px;background:var(--surface)}.rest-card p{margin-bottom:0;color:var(--dim)}:root[data-theme=terminal] body{font-family:ui-monospace,Cascadia Mono,Consolas,Menlo,monospace}@media (max-width: 1200px){.home-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pulse-column{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.pulse-column .panel-heading{grid-column:1 / -1}}@media (max-width: 700px){.home-page{padding:14px}.home-columns,.sunday-layout{grid-template-columns:minmax(0,1fr)}.pulse-column{grid-column:auto;grid-template-columns:minmax(0,1fr)}.pulse-column .panel-heading{grid-column:auto}.log-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.log-line input{grid-column:1 / -1}}.track-item{padding:14px 16px;border-top:1px solid var(--line);border-left:3px solid transparent}.track-item.state-done{border-left-color:var(--ok)}.track-item.state-parked{border-left-color:var(--warn)}.track-item.state-stalled{border-left-color:var(--bad)}.track-item-main{justify-content:space-between;gap:20px}.track-item-copy{min-width:0}.track-item-titleline{flex-wrap:wrap;gap:8px}.track-item-titleline h4{margin:0;font-size:1rem;font-weight:600}.track-item-id{display:block;margin-top:4px}.track-item-details{max-width:760px;margin-top:10px;color:var(--dim)}.track-item-details summary{width:fit-content;cursor:pointer;color:var(--accent)}.track-item-details p{margin:7px 0;line-height:1.5}.track-item-details strong{color:var(--text)}.status-pill,.stalled-badge,.skill-chip,.suggested-first-chip{display:inline-flex;align-items:center;border:1px solid var(--line);padding:3px 7px;font-size:.78rem}.status-done{color:var(--ok)}.status-parked{color:var(--warn)}.status-dropped{color:var(--dim)}.stalled-badge{color:var(--bad)}.skill-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.skill-chip{border-radius:12px;color:var(--accent)}.suggested-first-chip{width:fit-content;margin-top:8px;border-color:var(--warn);color:var(--warn)}.track-item-controls{flex:0 0 auto;gap:8px}.track-item-controls select{min-width:104px}.retro-date input{width:140px}.parked-reason{margin:6px 0 0;color:var(--dim)}.track-dependency{margin:12px 0 0;padding:10px 12px;border:1px solid var(--line)}.track-dependency summary{cursor:pointer;font-weight:600}.blocked-dependency{border-left:3px solid var(--bad)}.advisory-dependency{border-left:3px solid var(--warn)}.stalled-dependency{border-left:3px solid var(--accent)}.track-dependency ul{padding-left:22px}.disruption-actions,.park-editor{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin-top:10px}.disruption-actions label,.park-editor label{min-width:min(220px,100%)}.disruption-actions input,.park-editor input{width:100%}.park-editor{padding:12px 0}.primary-button{border-color:var(--accent);background:var(--accent);color:var(--bg)}.text-button{background:transparent}.parked-section h2{margin-bottom:12px}.parked-row{justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.parked-row p{margin:5px 0 0;color:var(--dim)}.m14-settings{display:grid;gap:12px;padding:0 16px 16px}.m14-settings label{display:grid;gap:6px;max-width:620px}.percent-input{display:flex;align-items:center;gap:8px}.percent-input input{width:100px}.quiet-note{margin:0}.blog-series-heading{justify-content:space-between;margin-bottom:12px}.blog-series-heading p{margin:6px 0 0;color:var(--dim)}.blog-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.blog-column{min-width:0;padding:12px;border:1px solid var(--line)}.blog-column h4{display:flex;justify-content:space-between;margin:0 0 12px}.blog-column h4 span{color:var(--dim)}.blog-card{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--raised)}.blog-card.status-edge-done{border-left-color:var(--ok)}.blog-card .track-item-id{margin-top:-5px}.blog-details{color:var(--dim);font-size:.9rem}.blog-details summary{cursor:pointer;color:var(--accent)}.blog-details p{line-height:1.5}.blog-details strong{color:var(--text)}.blog-card label{display:grid;gap:5px}.blog-card a{color:var(--accent);overflow-wrap:anywhere}.quiet-empty{margin-bottom:0}.track-modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--bg) 82%,transparent)}.track-dialog{width:min(520px,100%);padding:22px;border:1px solid var(--line);background:var(--surface)}.track-dialog h2{margin-top:0}.session-blog-actions{display:grid;gap:8px;margin-top:18px}.inline-error{padding:10px 12px;border-left:3px solid var(--bad);color:var(--bad);background:var(--surface)}@media (max-width: 900px){.track-item-main{align-items:flex-start;flex-direction:column}.track-item-controls{width:100%;flex-wrap:wrap}.blog-columns{grid-template-columns:1fr}}.tracks-page{max-width:1280px;margin:0 auto}.tracks-header,.track-item-main,.track-item-titleline,.track-item-controls,.track-tabs,.track-subtabs,.module-section>summary,.parked-row,.blog-series-heading{display:flex;align-items:center}.tracks-header{justify-content:space-between;gap:16px;margin-bottom:20px}.tracks-header h1,.tracks-header p,.module-section h2,.data-check-panel h2,.parked-section h2,.blog-series h3{margin:0}.tracks-header h1{margin-top:4px}.track-tabs,.track-subtabs{gap:8px;overflow-x:auto}.track-tabs{border-bottom:1px solid var(--line)}.track-tabs button,.track-subtabs button{flex:0 0 auto;border-bottom:2px solid transparent;background:transparent}.track-tabs button[aria-selected=true],.track-subtabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}.track-subtabs{padding:12px 0}.data-check-panel,.module-section,.parked-section,.blog-series{margin-top:18px;border:1px solid var(--line);background:var(--surface)}.data-check-panel,.parked-section,.blog-series{padding:16px}.data-check-panel p{color:var(--dim)}.data-check-panel li{margin:7px 0}.data-check-pass{color:var(--ok)!important}.module-section>summary{justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style-position:inside;font-weight:650}.module-progress,.quiet-note,.quiet-empty,.track-item-id,.parked-row span{color:var(--dim);font-size:.85rem;font-weight:400}.module-items{display:grid}.jobs-page{max-width:1440px;margin:0 auto}.jobs-header,.job-summary,.job-card-heading,.job-editor-heading,.job-editor-actions{display:flex;align-items:center}.jobs-header,.job-editor-heading{justify-content:space-between;gap:16px}.jobs-header{margin-bottom:18px}.jobs-header h1,.jobs-header p,.job-editor h2{margin:0}.job-summary{flex-wrap:wrap;gap:8px}.job-summary span{padding:8px 10px;border:1px solid var(--line);background:var(--surface)}.job-summary strong{margin-left:5px;font-variant-numeric:tabular-nums}.jobs-instructions{color:var(--dim)}.job-pipeline{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));align-items:start;gap:12px;overflow-x:auto;padding-bottom:12px}.job-lane{min-height:220px;padding:10px;border:1px solid var(--line);background:var(--surface)}.job-lane h2{display:flex;justify-content:space-between;margin:0 0 10px;font-size:.95rem}.job-lane h2 span,.lane-empty{color:var(--dim);font-size:.82rem;font-weight:400}.lane-empty{padding:12px 8px;border:1px dashed var(--line)}.job-card{margin-top:8px;padding:12px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--raised);cursor:grab}.job-card:active{cursor:grabbing}.job-card-heading{justify-content:space-between;gap:8px}.job-card-heading button{padding:4px 7px;font-size:.8rem}.job-role{margin:5px 0}.job-card a{color:var(--accent)}.job-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;margin:10px 0;font-size:.82rem}.job-card dt{color:var(--dim)}.job-card dd{margin:0;overflow-wrap:anywhere}.job-notes{max-height:7em;overflow:auto;color:var(--dim);font-size:.85rem;white-space:pre-wrap}.job-stage-select select{width:100%}.job-modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow-y:auto;padding:20px;background:color-mix(in srgb,var(--bg) 82%,transparent)}.job-editor{width:min(760px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:20px;border:1px solid var(--line);background:var(--surface)}.job-editor-heading{margin-bottom:16px}.job-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.job-form-grid label{display:grid;gap:5px}.job-notes-field{grid-column:1 / -1}.job-editor-actions{justify-content:flex-end;gap:8px;margin-top:16px}@media (max-width: 900px){.job-pipeline{grid-template-columns:repeat(2,minmax(210px,1fr))}}@media (max-width: 520px){.job-pipeline,.job-form-grid{grid-template-columns:1fr}}.progress-page{max-width:1440px;margin:0 auto}.progress-header,.progress-columns,.progress-stat-grid,.standing-grid,.skill-highlights{display:grid}.progress-header{grid-template-columns:1fr auto;align-items:end;margin-bottom:16px}.progress-header h1,.progress-header p{margin:0}.progress-header>span,.progress-stat-grid strong,.standing-grid strong{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.progress-header>span{color:var(--dim)}.progress-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.progress-panel,.standing-panel,.checkpoint-panel{padding:16px;border:1px solid var(--line);background:var(--surface)}.progress-panel>h2,.standing-panel>h2,.checkpoint-panel>h2{margin:0 0 14px}.progress-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.progress-stat-grid div,.standing-grid div{display:grid;gap:5px;padding:10px;border:1px solid var(--line)}.progress-stat-grid span,.standing-grid span{color:var(--dim);font-size:.82rem}.progress-stat-grid strong{font-size:1.15rem}.progress-chart,.proof-wall,.skill-group,.skill-highlights,.evidence-form,.cpts-module-progress,.checkpoint-history{margin-top:16px}.progress-chart h3,.proof-wall h3,.skill-group h3,.skill-highlights h3,.evidence-form h3,.cpts-module-progress h3,.checkpoint-history h3{margin:0 0 8px;font-size:.95rem}.progress-chart svg{display:block;width:100%;overflow:visible}.proof-wall ol,.skill-highlights ul,.checkpoint-history ul{display:grid;gap:7px;margin:0;padding-left:18px}.proof-wall li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:3px 8px}.proof-wall li time,.proof-wall li span{color:var(--dim);font-size:.8rem}.proof-wall li span{grid-column:2}.skill-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,100px) 32px;align-items:center;gap:8px;margin:6px 0}.skill-meter{height:7px;border:1px solid var(--line);background:var(--raised)}.skill-meter span{display:block;height:100%;background:var(--accent)}.skill-row strong{text-align:right;font-size:.8rem}.skill-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skill-highlights p,.checkpoint-panel>p,.evidence-form .inline-error{color:var(--dim)}.evidence-form,.checkpoint-panel form{display:grid;gap:9px;justify-items:start}.evidence-form h3{margin-bottom:0}.evidence-form label:not(.hint-choice),.checkpoint-panel form label:not(.hint-choice){display:grid;width:100%;gap:5px}.evidence-form textarea,.checkpoint-panel textarea{width:100%}.hint-choice{display:flex;align-items:center;gap:7px}.standing-panel,.checkpoint-panel{margin-top:14px}.standing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cpts-module-progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cpts-module-progress h3{flex-basis:100%}.cpts-module-progress span{padding:5px 7px;border:1px solid var(--line);font-size:.82rem}.booking-gate{margin-top:14px;padding:12px;border-left:3px solid var(--warn);background:var(--raised)}.booking-gate.gate-met{border-left-color:var(--ok)}.booking-gate ul{margin-bottom:0}.checkpoint-panel>p{margin-top:-6px}.checkpoint-history li{white-space:pre-wrap}@media (max-width: 950px){.progress-columns{grid-template-columns:1fr}}@media (max-width: 650px){.standing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-highlights,.proof-wall li{grid-template-columns:1fr}.proof-wall li span{grid-column:auto}}.calendar-page{max-width:1440px;margin:0 auto}.calendar-header,.calendar-month-controls,.calendar-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-header{flex-wrap:wrap;margin-bottom:18px}.calendar-header h1,.calendar-header p,.calendar-month-controls h2,.calendar-day-heading h2{margin:0}.calendar-month-controls h2{min-width:170px;text-align:center;font-size:1.1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px;gap:1px;border:1px solid var(--line);background:var(--line)}.calendar-page{overflow-x:auto}.calendar-weekday{padding:8px;background:var(--surface);color:var(--dim);font-size:.82rem;text-align:center}.calendar-cell{min-height:132px;padding:6px;background:var(--surface);border-top:2px solid transparent}.calendar-cell.sunday-cell{background:color-mix(in srgb,var(--surface) 78%,var(--dim));border-top-color:var(--dim)}.calendar-cell.selected-day{border-top-color:var(--accent)}.calendar-cell.outside-month{opacity:.62}.calendar-date{display:flex;width:100%;justify-content:space-between;align-items:center;padding:3px 4px;border:0;background:transparent;text-align:left;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.floor-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.calendar-entries{display:grid;gap:3px;margin-top:5px}.calendar-entry{overflow:hidden;padding:3px 5px;border-left:2px solid var(--accent);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.entry-follow-up,.entry-interview{border-left-color:var(--warn)}.entry-checkpoint,.entry-deadline{border-left-color:var(--bad)}.calendar-add-button{margin-top:5px;padding:3px 5px;color:var(--dim);font-size:.72rem}.calendar-quick-add{display:grid;gap:4px;margin-top:5px}.calendar-quick-add input{width:100%;padding:5px}.calendar-quick-add button{padding:4px;font-size:.75rem}.calendar-day-details{margin-top:18px;padding:16px;border:1px solid var(--line);background:var(--surface)}.calendar-day-heading{justify-content:flex-start;margin-bottom:12px}.calendar-day-heading span,.calendar-day-columns p{color:var(--dim)}.calendar-day-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.calendar-day-columns h3{margin:0 0 8px;font-size:.95rem}.calendar-day-columns ul{margin:0;padding-left:18px}.calendar-day-columns li{margin:5px 0}.calendar-day-columns li span{color:var(--dim)}@media (max-width: 700px){.calendar-day-columns{grid-template-columns:1fr}}.exercise-page{max-width:1000px;margin:0 auto}.exercise-header,.exercise-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.exercise-header{margin-bottom:18px}.exercise-header h1,.exercise-header p,.exercise-section-heading h2{margin:0}.exercise-today,.exercise-week,.exercise-photo,.exercise-progression{margin-top:14px;padding:18px;border:1px solid var(--line);background:var(--surface)}.exercise-today{border-left:3px solid var(--accent)}.exercise-today h2{margin:8px 0 16px;font-size:1.2rem;font-weight:500}.exercise-note-label,.exercise-progression form label{display:grid;gap:6px}.exercise-note-label textarea,.exercise-progression textarea{width:100%}.exercise-done-button{margin-top:12px;border-color:var(--accent)}.exercise-done-button.done{border-color:var(--ok);color:var(--ok)}.exercise-section-heading{margin-bottom:12px}.exercise-section-heading span{color:var(--dim)}.exercise-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.exercise-week-day{display:grid;justify-items:center;gap:5px;padding:10px 5px;border:1px solid var(--line);color:var(--dim)}.exercise-week-day strong,.exercise-header>span,.exercise-week-day span:last-child,.exercise-progression time{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.exercise-week-day.current{border-color:var(--accent);color:var(--text)}.exercise-week-day.complete{border-bottom:3px solid var(--ok);color:var(--ok)}.exercise-photo{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.exercise-photo h2,.exercise-photo p{margin:0 0 6px}.exercise-photo p{color:var(--dim)}.exercise-photo.photo-due{border-left:3px solid var(--warn)}.exercise-photo form{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.exercise-photo form label{display:grid;gap:5px}.exercise-progression h2{margin:0 0 12px}.exercise-progression form{display:grid;gap:8px;justify-items:start}.exercise-progression ul{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.exercise-progression li{padding:10px;border-left:2px solid var(--line);background:var(--raised)}.exercise-progression time{color:var(--dim);font-size:.82rem}.exercise-progression li p{margin:4px 0 0;white-space:pre-wrap}.empty-note{color:var(--dim)}@media (max-width: 540px){.exercise-week-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}.settings-page{max-width:1000px;margin:0 auto}.settings-header{margin-bottom:16px}.settings-header h1,.settings-header p{margin:0}.settings-panel{margin-top:12px;padding:16px;border:1px solid var(--line);background:var(--surface)}.settings-panel h2{margin:0 0 12px;font-size:1.05rem}.setting-themes{display:flex;flex-wrap:wrap;gap:7px}.setting-themes .selected-theme{border-color:var(--accent);color:var(--accent)}.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.settings-fields label,.export-range label{display:grid;gap:5px}.settings-fields input{max-width:240px}.setting-wide{grid-column:1 / -1}.setting-wide textarea{width:100%}.export-range{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.export-range input,.export-range select{min-width:145px}.export-result{margin-top:14px}.export-result-header,.account-panel{display:flex;align-items:center;justify-content:space-between;gap:12px}.export-result pre{max-height:480px;overflow:auto;padding:12px;border:1px solid var(--line);background:var(--raised);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere}.closing-line{margin-top:14px;padding:12px;border-left:3px solid var(--accent);background:var(--raised)}.closing-line p,.closing-line blockquote{margin:0 0 8px}.closing-line p,.data-check p,.account-panel p{color:var(--dim)}.closing-line blockquote{line-height:1.5}.data-check{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:16px}.data-check h3,.data-check p{margin:0 0 5px}.data-check ul{grid-column:1 / -1;margin:0;padding-left:18px}.data-check li{margin:5px 0}.check-passed{color:var(--ok)}.check-failed{color:var(--bad)}.account-panel h2{margin:0 0 5px}.account-panel p{margin:0}.success-message{color:var(--ok)}@media (max-width: 600px){.settings-fields{grid-template-columns:1fr}.setting-wide{grid-column:auto}.data-check,.account-panel{align-items:flex-start;flex-direction:column}}:root{--bg: #0E1116;--surface: #151A21;--raised: #1C232C;--line: #2A323D;--text: #E6EAF0;--dim: #8A94A3;--accent: #7FB7FF;--ok: #5BC48A;--warn: #E3B341;--bad: #E5676B}:root[data-theme=paper]{--bg: #EDE8DC;--surface: #F6F2E8;--raised: #FBF9F3;--line: #CFC7B4;--text: #22201B;--dim: #6B6558;--accent: #3E4C8A;--ok: #3F7D58;--warn: #A8741A;--bad: #A8423E}:root[data-theme=terminal]{--bg: #0A0C09;--surface: #0F120D;--raised: #151A12;--line: #2A3324;--text: #C8D3B5;--dim: #7B8A68;--accent: #FFB000;--ok: #7BD36B;--warn: #FFB000;--bad: #FF6B5C}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI Variable Text,Segoe UI,system-ui,sans-serif}body{min-height:100vh;background:var(--bg)}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button,select{color:var(--text)}button,select,input,textarea{border:1px solid var(--line);border-radius:2px;background:var(--raised)}button{padding:7px 10px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{min-width:0;padding:8px 10px;color:var(--text)}input[type=checkbox]{width:16px;height:16px;padding:0;background:var(--surface)}input::placeholder,textarea::placeholder{color:var(--dim);opacity:1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{padding:24px}.login-shell{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.login-card{display:flex;flex-direction:column;gap:12px;width:min(320px,90vw);padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:12px}.login-card input{padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--raised);color:var(--text)}.login-card button{padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--accent);color:var(--bg);cursor:pointer}.app-shell{display:flex;min-height:100vh}.rail{position:sticky;top:0;width:196px;min-width:196px;height:100vh;background:var(--surface);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:12px}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:var(--text);text-decoration:none;border-left:3px solid transparent}.nav-link svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-link.active{background:var(--raised);border-left-color:var(--accent)}.theme-switcher{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.field-label{display:block;color:var(--dim);font-size:.82rem}.theme-btn{padding:6px 7px;font-size:.8rem}.theme-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.theme-error{flex-basis:100%;color:var(--bad);font-size:.75rem}.visually-hidden{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: 900px){.app-shell{display:block}.rail{position:static;width:100%;min-width:0;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px;flex-direction:row;align-items:center;overflow-x:auto}.nav-link{flex:0 0 auto}.theme-switcher{margin:0 0 0 auto;flex-wrap:nowrap}.theme-switcher .field-label{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important}}
