.journal-page,.calendar-page{min-width:0}.journal-page .page-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px}.journal-page .page-heading>div{flex:1 1 220px}.journal-page .reflection-add{margin-top:22px}.calendar-page .page-heading{margin-bottom:18px}.reflection-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;white-space:nowrap}.journal-page .journal-empty{padding:42px 24px;text-align:center}.reflection-symbol{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--accent-muted);color:var(--accent);margin-bottom:16px}.journal-page .journal-empty h2{margin:0 0 10px}.journal-page .journal-empty p{max-width:360px;margin:0 auto;line-height:1.7}.journal-page .journal-search{padding:18px 20px 12px}.journal-page .journal-filters{grid-template-columns:minmax(0,1fr) 130px;gap:14px;margin:0}.journal-page .journal-filters label{margin:0}.journal-search-field>span{position:relative;display:block}.journal-search-field svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.journal-page .journal-search-field input{padding-left:38px}.journal-results{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;margin-top:10px;min-height:34px}.journal-results p{margin:0}.journal-page .journal-no-results{text-align:center;padding:36px 20px}.journal-page .journal-month{display:flex;align-items:center;gap:14px;margin:28px 0 12px;font-size:14px;font-weight:600;color:var(--text)}.journal-page .journal-month:after{content:"";flex:1;height:1px;background:var(--border)}.journal-page .journal-preview{display:flex;gap:18px;align-items:flex-start;width:100%;padding:20px;margin:0 0 10px;background:var(--surface);border:1px solid var(--border);border-radius:18px;transition:border-color .15s ease,background .15s ease}.journal-page .journal-preview:hover{border-color:var(--accent)}.journal-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:47px;min-height:61px;border-radius:13px;color:var(--accent);background:var(--accent-muted)}.journal-date-badge strong{font-size:24px;line-height:1.2;font-weight:600}.journal-date-badge>span{margin-top:3px;font-size:11px}.journal-preview-content{display:block;min-width:0;flex:1}.journal-preview-content time{color:var(--text-muted);font-size:12px}.journal-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;margin:8px 0 14px;font-size:15px;line-height:1.6;color:var(--text)}.journal-read{display:flex;align-items:center;gap:5px;color:var(--accent);font-size:12px;font-weight:600}.calendar-page .calendar-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px 16px;margin-bottom:14px}.calendar-controls .calendar-filter,.calendar-controls .calendar-date-jump{min-width:0;margin:0}.calendar-controls input,.calendar-controls select{min-width:0}.calendar-jump-control>summary{display:flex;align-items:center;min-height:44px;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.calendar-jump-control>summary:after{content:"+";margin-left:7px;font-size:16px}.calendar-jump-control[open]{grid-column:1 / -1}.calendar-jump-control[open]>summary:after{content:"−"}.calendar-jump-control .calendar-date-jump{display:block;max-width:280px;margin:0 0 2px}.calendar-layout{display:grid;gap:18px;align-items:start}.calendar-page .calendar-period{min-width:0;padding:20px}.calendar-page .calendar-toolbar{margin:0}.calendar-page .month-heading{gap:12px;margin:14px 0 12px}.calendar-page .month-heading h2{margin:0;font-size:21px}.calendar-page .month-heading>div{display:flex;flex-shrink:0;gap:2px}.calendar-period-summary{display:flex;align-items:center;gap:20px;margin:0 0 12px;padding:12px 16px;border-radius:14px;background:var(--accent-muted);color:var(--text)}.calendar-period-summary>div{display:flex;flex-direction:column;flex-shrink:0}.calendar-period-summary>div>strong{color:var(--accent);font-size:28px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums}.calendar-period-summary>div>span{color:var(--text-muted);font-size:11px;margin-top:3px}.calendar-period-summary p{font-size:12px;line-height:1.5;margin:0}.calendar-period-summary small{display:block;color:var(--text-muted);margin-top:4px}.calendar-page .calendar-grid{gap:7px}.calendar-page .calendar-grid button{min-height:66px;background:var(--background)}.calendar-page .calendar-grid button[aria-pressed=true]{background:var(--accent-muted)}.calendar-page .calendar-grid button small{font-size:10px}.calendar-page .calendar-grid button[data-intensity=future]{background:transparent}.calendar-page .year-grid{gap:4px}.calendar-page .year-grid button{min-height:45px}.calendar-page .year-month h3{font-size:14px}.calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;margin:24px 0 16px;font-size:11px;color:var(--text-muted)}.calendar-legend>span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{width:11px;height:11px;border:2px solid var(--accent);border-radius:50%}.calendar-legend .legend-unfinished{border-color:var(--control-border)}.calendar-legend .legend-memory{width:5px;height:5px;margin:3px;background:var(--journal);border:0}.calendar-page .calendar-help{margin:0;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.calendar-page .calendar-selected-day{padding:22px;min-width:0;scroll-margin-top:24px}.calendar-selected-day>.page-kicker{display:flex;align-items:center;gap:8px;margin-top:0}.calendar-page .day-heading{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-top:16px}.calendar-page .day-heading h2{margin:0 0 6px;font-size:20px}.calendar-page .day-heading p{margin:0}.calendar-page .calendar-day-summary{font-size:14px;margin:20px 0}.calendar-page .calendar-edit-day{width:100%;margin:0}.calendar-page .day-memory{gap:10px;margin:20px 0 0;padding:18px 0 0}.calendar-page .day-memory>svg{color:var(--accent);flex-shrink:0}@media(min-width:820px){.calendar-layout[data-view=month]{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}.calendar-layout[data-view=month] .calendar-selected-day{position:sticky;top:24px}}@media(max-width:480px){.journal-page .journal-filters{grid-template-columns:minmax(0,1fr) 112px;gap:10px}.journal-page .journal-search{padding:16px}.journal-page .journal-preview{gap:13px;padding:16px}.journal-page .reflection-add{margin-top:0}.calendar-page .calendar-period{padding:16px 12px}.calendar-page .calendar-selected-day{padding:18px}.calendar-page .calendar-grid{gap:4px}.calendar-page .calendar-grid button{min-height:57px}.calendar-page .year-grid button{min-height:44px}.calendar-page .completion-ring{width:32px;height:32px}.calendar-page .year-grid .completion-ring{width:27px;height:27px}.calendar-period-summary{gap:16px;padding:13px}}@media(max-width:360px){.journal-page .journal-filters,.calendar-page .year-months{grid-template-columns:minmax(0,1fr)}.calendar-page .completion-ring{width:29px;height:29px}}@media(prefers-reduced-motion:reduce){.journal-page .journal-preview{transition:none}}.progress-area{--progress-soft: color-mix(in srgb, var(--accent) 8%, var(--surface))}.progress-area .progress-switch{margin-bottom:26px}.progress-area .statistics-toolbar{gap:12px;margin:22px 0 10px}.progress-area .statistics-toolbar label,.progress-area .goal-filter{margin-bottom:0}.progress-area .statistics-range{margin:10px 0 18px;font-size:12px}.progress-area .consistency-summary{display:block;padding:24px;text-align:left;background:linear-gradient(125deg,var(--progress-soft),var(--surface))}.progress-area .consistency-headline{display:flex;gap:20px;align-items:center}.progress-area .consistency-headline>.consistency-ring{width:112px;height:112px;flex:0 0 112px;font-size:26px}.progress-area .consistency-headline h2{margin:0 0 8px;font-size:20px}.progress-area .consistency-headline .hint{margin:0;max-width:250px}.progress-area .stats-counts{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--border)}.progress-area .stats-counts>div{display:flex;flex-direction:column-reverse;gap:5px;border:0;padding:0;text-align:center;background:transparent}.progress-area .stats-counts dd{font-size:24px;line-height:1}.progress-area .stats-counts dt{font-size:12px}.progress-area .statistics-today-note{margin:12px 3px 24px;font-size:12px}.progress-area .streak-summary{background:var(--surface);border:1px solid var(--border);border-radius:18px;margin:0 0 20px;padding:18px}.progress-area .streak-summary>div{gap:6px}.progress-area .stats-trend{padding:20px;margin-top:0}.progress-area .stats-trend .section-heading{flex-wrap:wrap;gap:6px 12px}.progress-area .stats-trend .section-heading h2{margin:0}.progress-area .stats-trend .section-meta{font-size:12px}.progress-area .stats-trend .trend-row{gap:12px}.progress-area .stats-notes,.progress-area .progress-disclosure{padding:18px 2px;border-bottom:1px solid var(--border);margin:0}.progress-area .stats-notes summary,.progress-area .progress-disclosure summary{font-size:14px}.progress-area .goal-filter{max-width:240px}.progress-area .goal-list{margin-top:20px;gap:16px}.progress-area .goal-card{padding:22px;gap:10px;transition:border-color .15s ease,background-color .15s ease}.progress-area .goal-card:hover{border-color:var(--accent);background:var(--progress-soft)}.progress-area .goal-card-heading{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.progress-area .goal-card-heading strong{color:var(--text);font-size:21px;line-height:1.3}.progress-area .goal-card-arrow{color:var(--accent);font-size:21px}.progress-area .goal-card .goal-card-state{color:var(--accent);font-size:12px;font-weight:700}.progress-area .goal-steps-preview{display:grid;gap:9px;margin-top:4px}.progress-area .goal-step-track{display:block;overflow:hidden;height:5px;border-radius:9px;background:var(--border)}.progress-area .goal-step-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.progress-area .goal-independent-note{margin-top:24px;font-size:12px}.progress-area .goal-detail-heading{margin-top:16px}.progress-area .goal-detail-heading .goal-title{line-height:1.17;margin-bottom:12px}.progress-area .goal-target-chip{width:fit-content;padding:8px 12px;border-radius:10px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);font-size:12px;line-height:1.5}.progress-area .goal-tabs{margin:24px 0 20px}.progress-area .goal-plan-actions{display:flex;flex-wrap:wrap;gap:10px}.progress-area .goal-plan-actions button{margin:0;flex:1 1 130px}.progress-area .goal-plan-intro{margin-top:20px}.progress-area .goal-steps-panel,.progress-area .goal-status-panel{padding:20px;border:1px solid var(--border)}.progress-area .goal-steps-panel .sub-goal{border-bottom:1px solid var(--border);padding:8px 0}.progress-area .goal-steps-panel .goal-inline{margin-top:20px}.progress-area .goal-consistency-score{padding:18px 0;gap:18px}.progress-area .goal-section[aria-label="Linked trackers"]{margin-top:28px}.goal-tracker-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}.goal-tracker-actions>button{margin-top:0}.progress-area .goal-steps-panel>.section-heading{margin-bottom:12px}.progress-area .goal-steps-panel>.section-heading h2{margin-bottom:0}.progress-area .sub-goal.editing-step{display:block}.step-edit-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.step-edit-actions>button{min-width:40px;min-height:44px}.sheet fieldset.tracker-link-group{padding-top:14px;margin-top:16px;border-top:1px solid var(--border)}.tracker-link-group legend{color:var(--text-muted);font-size:12px;font-weight:650;padding-right:12px}.tracker-link-group small,.tracker-link-unavailable small{display:block;margin-top:4px;font-size:11px;color:var(--text-muted)}.tracker-link-unavailable{margin:20px 0;font-size:13px}.tracker-link-unavailable p:not(.hint){padding:8px 0}.progress-area .level-overview{padding:24px;background:linear-gradient(125deg,var(--progress-soft),var(--surface))}.progress-area .level-overview .xp-total{margin:0 0 22px;font-size:14px;color:var(--text-muted)}.progress-area .level-overview .xp-total strong{display:inline-block;font-size:44px;line-height:1;color:var(--text);margin-right:5px;letter-spacing:-1.5px}.progress-area .level-overview .progress-summary{font-size:12px;line-height:1.6;gap:10px;flex-wrap:wrap}.progress-area .level-overview .hint{font-size:12px;margin-bottom:0}.progress-area .milestones-panel{padding:22px;margin-top:20px}.progress-area .milestones-panel .section-heading{flex-wrap:wrap;gap:8px}.progress-area .milestones-panel .xp-heading{margin:0}.progress-area .milestone-daily-total{font-size:12px;color:var(--accent);font-weight:700}.progress-area .xp-milestones{margin:20px 0 0}.progress-area .xp-milestones li{padding:14px 0;gap:12px}.progress-area .xp-milestones li:last-child{border-bottom:0;padding-bottom:0}.progress-area .xp-milestones li>span{display:grid;gap:5px;font-weight:600}.progress-area .xp-milestones small{color:var(--text-muted);font-size:11px;font-weight:400}.progress-area .xp-milestones .milestone-earned small{color:var(--accent)}.progress-area .xp-milestones strong{font-size:13px;white-space:nowrap}.progress-area .xp-history summary .section-meta{margin-left:8px;font-size:12px;font-weight:400}.progress-area .xp-history ol{padding:0;margin:16px 0 0;list-style:none}.progress-area .xp-history li{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:12px;border-top:1px solid var(--border);font-size:14px}.progress-area .xp-history li small{display:block;color:var(--text-muted);margin-top:5px;font-size:12px}@media(max-width:380px){.progress-area .consistency-summary,.progress-area .stats-trend,.progress-area .milestones-panel,.progress-area .level-overview{padding:18px}.progress-area .consistency-headline{gap:14px}.progress-area .consistency-headline>.consistency-ring{width:90px;height:90px;flex-basis:90px;font-size:22px}.progress-area .consistency-headline h2{font-size:17px}.progress-area .consistency-headline .hint{font-size:12px}}.tracking-workspace{min-width:0}.tracking-workspace .tracking-switch{margin:0 0 28px}.tracking-switch button{display:flex;align-items:center;justify-content:center;gap:8px}.tracking-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:24px 0 18px}.tracking-section-heading>div,.session-exercise-card .section-line>div{min-width:0;flex:1 1 160px}.tracking-section-heading h2{margin:0;font-size:21px;letter-spacing:-.03em;overflow-wrap:anywhere}.tracking-section-heading .section-meta,.session-exercise-card .section-meta{margin:5px 0 0}.tracking-section-heading>button{flex-shrink:0}.workouts-heading>div{flex:1 1 0}.workouts-heading h2{font-size:18px}.workouts-heading>button{font-size:12px;padding-inline:12px;white-space:nowrap}.tracking-selector{margin:16px 0}.tracking-selector select{font-weight:600}.measurement-grid{display:grid;align-items:start;gap:16px}.measurement-grid .tracker-card{margin:0}.tracker-card{padding:20px}.tracker-card .section-line{margin-bottom:0}.tracker-card .section-line h2{font-size:18px}.tracker-card .tracker-reading{margin:12px 0}.tracker-reading .goal-value{font-size:32px;letter-spacing:-.04em;line-height:1.2;font-variant-numeric:tabular-nums}.tracker-reading .hint{margin:5px 0 0}.tracker-card>details{border-top:1px solid var(--border);padding-top:10px;margin-top:16px}.tracker-card>details>summary{color:var(--text-muted);font-size:13px}.tracking-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;background:var(--surface)}.tracking-context p{flex:1 1 170px;margin:0;font-size:13px;line-height:1.6}.workout-overview .workout-actions{align-items:center;margin:12px 0 0}.workout-actions .section-meta{margin:4px 0 0}.workout-overview .workout-log-action{flex-wrap:wrap;justify-content:space-between;padding:0;margin:12px 0 18px}.workout-date-context{flex:1 1 70px}.workout-date-context span,.workout-date-context strong{display:block}.workout-date-context span{color:var(--text-muted);font-size:11px;margin-top:4px}.workout-date-context strong{font-size:13px;font-weight:500}.workout-overview .workout-log-action>button{flex:0 1 auto;min-height:44px;white-space:nowrap;font-size:13px}.workout-log-options{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2px 0;margin:8px 0 22px}.workout-log-options summary{font-size:13px}.workout-history{margin:26px 0}.workout-history>.section-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-bottom:10px}.workout-history>.section-heading h3,.workout-history>.section-heading p{margin:0}.workout-history .setting-row{background:transparent}.tracking-workspace .exercise-library-link{border:1px solid var(--border);border-radius:16px;padding:16px;margin:24px 0;background:var(--surface);gap:16px}.exercise-library-link>span:last-child{color:var(--accent);flex-shrink:0}.tracking-workspace .session-heading{margin-bottom:16px}.session-heading .page-kicker{margin:0 0 6px}.tracking-workspace .session-state-card{padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.session-state-card strong{display:block;font-weight:500;line-height:1.6}.session-state{display:inline-block;margin-bottom:5px;color:var(--text-muted);font-size:11px;font-weight:600}.session-state.is-finished{color:var(--accent)}.session-tools{display:flex;justify-content:flex-end;margin:4px 0 12px}.session-tools .text-button{min-height:44px;font-size:12px}.session-exercise-card{padding:18px;margin:14px 0}.session-exercise-card .section-line{align-items:center;gap:8px}.session-exercise-card .metric-history{margin:8px 0 0}.session-exercise-card .metric-history li{font-variant-numeric:tabular-nums;font-size:13px}.session-finish{text-align:center}.session-finish>.primary{margin-top:0}.repeat-set-option{margin:14px 0}.repeat-set-option .secondary{width:100%;min-height:44px}.repeat-set-option .hint{font-size:11px;line-height:1.6}@media(min-width:800px){.measurement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.tracker-card,.session-exercise-card{padding:15px}.tracking-switch button{gap:5px}.tracking-section-heading .section-meta{line-height:1.5}}.session-draft-status{padding:12px 16px;border-left:3px solid var(--accent);background:var(--accent-muted);color:var(--text);border-radius:10px;font-size:13px}.session-draft-badge{display:inline-block;color:var(--accent);font-size:12px;font-weight:600;margin-top:4px}.session-exercise-card:has(.inline-set-editor){border-color:var(--accent)}.session-exercise-card .metric-history li{padding-block:7px;font-size:14px}.session-remove-exercise{font-size:12px}.inline-set-editor .primary+.secondary{margin-top:8px}.draft-notice{margin-bottom:0}.tracking-workspace:has(.session-heading)>.page-heading{display:none}.tracking-workspace:has(.session-heading)>.tracking-switch{margin-bottom:12px}.tracking-workspace .session-heading{margin-top:12px}.session-heading h1{margin:0;font-size:26px}.tracking-workspace .session-state-card{margin:12px 0}.session-exercise-card .inline-set-editor{margin-top:12px;padding-top:12px}.measurement-focus{min-width:0}.measurement-focus .tracker-card{margin-top:8px}.tracker-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.tracker-card-actions .icon-button{width:44px;height:44px}.measurement-focus .tracker-card>.section-line,.exercise-library-detail .tracker-card>.section-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.measurement-focus .tracker-card>.section-line h2,.exercise-library-detail .tracker-card>.section-line h2{margin:0}.tracker-goal-link{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;border-block:1px solid var(--border);padding:12px 0;margin:16px 0 8px}.tracker-goal-link .hint{margin:0}.starting-entry{margin:20px 0;padding-block:12px;border-block:1px solid var(--border)}.starting-entry>summary{font-size:13px}.measurement-selector{margin-bottom:14px}@media(max-width:380px){.exercise-library-detail .tracker-card>.section-line{grid-template-columns:minmax(0,1fr)}.exercise-library-detail .tracker-card-actions{justify-content:space-between}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.progress-switch{margin:0 0 28px}.goal-tabs{margin:16px 0}.progress-page .brand{height:72px}.progress-page main{padding-top:12px}.progress-page .progress-switch{margin-bottom:16px}.goal-breadcrumb{justify-content:space-between;margin-bottom:8px}.goal-breadcrumb .text-button{min-height:44px}.goal-tabs button{flex:1;min-width:0;min-height:44px}.progress-page .goal-tabs button{padding:8px 10px}.progress-page .progress-switch button{min-height:44px}.progress-page .logbook-section{border:0;padding-top:0;margin-top:12px}.progress-page .section-line{margin-top:0;gap:12px}.progress-page .section-line h2{margin-bottom:0}.progress-page .metric-card .goal-value{font-size:24px}.progress-page .metric-card .hint{margin-top:6px}.progress-page .metric-card details{margin-top:8px}.logbook-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.logbook-actions>button{flex:1 1 140px;min-height:44px;margin-top:0}.logbook-empty{padding:24px 0;line-height:1.6}.logbook-empty h2{font-size:20px}.set-head,.exercise-set{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,.8fr) 36px;gap:8px;align-items:center;margin:10px 0}.set-head{color:var(--text-muted);font-size:12px}.exercise-set input{min-width:0;width:100%}.exercise-set .icon-button{min-width:36px;width:36px}.previous-set{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--surface);border-radius:12px}.previous-set strong{display:block;margin-top:4px;color:var(--text)}.add-set{margin:4px 0 16px;min-height:44px}.goal-title{font-size:32px;overflow-wrap:anywhere}.goal-list{display:grid;gap:12px;margin-top:20px}.goal-card{display:grid;gap:8px;text-align:left;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.goal-card strong{font-size:18px;overflow-wrap:anywhere}.goal-card span,.goal-card small{color:var(--text-muted)}.goal-meta,.goal-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.goal-actions{margin-top:12px}.goal-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.goal-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.goal-section h2{margin-bottom:14px}.goal-value{font-size:30px;font-weight:600;overflow-wrap:anywhere}.goal-value small{display:block;font-size:14px;color:var(--text-muted);margin-top:8px;font-weight:400}.goal-inline{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.goal-inline label{min-width:0;margin-bottom:0}.goal-inline button{justify-self:start}.goal-history{list-style:none;padding:0}.goal-history li,.goal-support-row,.goal-support-total{display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:14px}.goal-history time{color:var(--text-muted);font-size:12px}.goal-history strong,.goal-support-row span{overflow-wrap:anywhere}.goal-support-total{font-weight:600}.sub-goal{display:flex;gap:4px;align-items:center}.sub-goal label{flex:1;min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}.sub-goal small{color:var(--text-muted)}.sub-goal>button{min-width:36px;min-height:44px}.goal-retrospective{font-size:14px;line-height:1.6;padding:8px 0;overflow-wrap:anywhere}.sheet fieldset{border:0;padding:0;margin:0;min-width:0}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;touch-action:manipulation}button:disabled{cursor:default;opacity:.55}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,a,input,select{-webkit-tap-highlight-color:transparent}button{min-height:44px}h1,h2,h3,p{margin:0}h1{font-size:42px;font-weight:550;letter-spacing:-1.8px;line-height:1.2}h2{font-size:18px;font-weight:550;letter-spacing:-.3px}h3{font-size:13px;text-transform:uppercase;letter-spacing:1.2px;margin:30px 0 12px}p{line-height:1.6}.app{max-width:650px;margin:auto;min-height:100dvh}.brand{height:102px;display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 28px 0}.brand>span{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600;letter-spacing:-.5px}.brand-dot{color:var(--accent);margin-left:-7px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border-radius:50%}.icon-button:hover{background:var(--accent-muted)}main{padding:28px 28px calc(115px + env(safe-area-inset-bottom))}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:var(--text-muted);margin-bottom:13px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.date-chip{font-size:13px;padding:9px 13px;background:var(--accent-muted);border-radius:20px;color:var(--accent)}.subtitle{font-size:14px;color:var(--text-muted);margin-top:10px}.progress-summary{display:flex;justify-content:space-between;font-size:12px;margin-top:36px;color:var(--text-muted)}.daily-progress-panel{margin-top:26px;padding:18px 20px;border:1px solid var(--border);border-radius:20px;background:var(--surface);background:linear-gradient(120deg,var(--surface),color-mix(in srgb,var(--surface) 96%,var(--accent)))}.progress-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.progress-panel-heading>span{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.7px}.progress-panel-heading strong{color:var(--accent);font-size:30px;letter-spacing:-1px;font-weight:600;font-variant-numeric:tabular-nums}.progress-panel-heading strong span{font-size:14px;margin-left:2px;letter-spacing:0}.daily-progress-panel .progress-summary{margin-top:5px;font-variant-numeric:tabular-nums}.daily-progress-panel .progress-track{height:6px;margin-top:16px}.progress-summary>span:first-child{color:var(--text)}.progress-track{height:5px;border-radius:10px;background:var(--border);margin-top:11px;overflow:hidden}.progress-track>span{display:block;background:var(--accent);height:100%;border-radius:10px;transition:width .2s}.section-line{display:flex;align-items:center;justify-content:space-between;margin:33px 0 6px}.section-line h2{font-size:14px}.text-button{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:12px;font-weight:550}.routine-group{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;margin:10px 0;box-shadow:0 2px 8px color-mix(in srgb,var(--shadow) 25%,transparent)}.routine-group:focus-within{border-color:var(--accent)}.routine-group-count,.date-chip,.calendar-grid small,.goal-value{font-variant-numeric:tabular-nums}.routine-group-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:0 0 10px}.routine-group-heading strong{overflow-wrap:anywhere;font-size:16px}.routine-group-caption{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.routine-group-count{border-radius:20px;background:var(--accent-muted);color:var(--accent);font-size:11px;padding:5px 9px}.routine-group-heading small{white-space:nowrap}.routine-group .routine{min-height:62px}.routine-group .routine:last-child{border-bottom:0}.routine-group .routine:has(+.routine-notes){border-bottom:0}.routine-group .complete-button{padding:10px 0;gap:11px}.routine-group .routine-name{font-size:14px}.routine-group .routine-name small{font-size:11px;margin-top:2px}.routine-group .check-circle{width:24px;height:24px}.routine-group .icon-button{min-width:44px;min-height:44px}.routine-group .state-menu{min-width:0}.routine{position:relative;display:flex;align-items:center;min-height:83px;border-bottom:1px solid var(--border);gap:4px}.complete-button{display:flex;align-items:center;text-align:left;gap:14px;flex:1;min-width:0;padding:17px 0}.check-circle{width:27px;height:27px;border:1.5px solid var(--control-border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.routine-name{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.routine-name small{display:block;font-size:12px;color:var(--text-muted);margin-top:4px}.completed .check-circle{background:var(--success);border-color:var(--success);color:var(--accent-foreground)}.completed .routine-name{color:var(--text-muted)}.excused .check-circle{background:var(--accent-muted);border-color:var(--border)}.missed .check-circle{color:var(--error)}.state-label{font-size:10px;color:var(--text-muted);text-transform:capitalize}.state-menu{position:static;flex-basis:100%;margin-bottom:12px;z-index:3;display:grid;padding:6px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px var(--shadow);border-radius:14px;min-width:180px}.routine:has(.state-menu){flex-wrap:wrap}.state-menu button{text-align:left;padding:8px 14px;border-radius:8px;font-size:14px}.state-menu button:hover{background:var(--accent-muted)}.manage-link{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:12px;margin-top:12px;padding:0}.home-footer{display:flex;justify-content:center;align-items:center;gap:7px;color:var(--text-muted);font-size:11px;margin-top:65px}.small-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}nav{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(calc(100% - 24px),626px);display:flex;justify-content:space-around;background:var(--surface);padding:12px 6px;border:1px solid var(--border);border-radius:24px;box-shadow:0 8px 24px var(--shadow);z-index:5}nav button{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:54px;color:var(--text-muted);font-size:10px;flex:1;border-radius:16px}nav button[aria-current]{color:var(--accent);font-weight:650}nav button[aria-current] svg{background:var(--accent-muted);box-shadow:0 0 0 7px var(--accent-muted);border-radius:5px}.empty{text-align:center;padding:50px 16px}.empty-symbol{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:var(--accent-muted);border-radius:50%;margin-bottom:22px;color:var(--accent)}.empty h2{font-size:19px}.empty p{font-size:13px;color:var(--text-muted);max-width:310px;margin:12px auto 0}.phase-label{display:inline-block;font-size:10px;color:var(--text-muted);background:var(--accent-muted);padding:6px 9px;border-radius:6px}.filled{background:var(--accent-muted);color:var(--accent)}.sheet{position:fixed;inset:auto 0 0;margin:auto;width:min(100%,620px);max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-bottom:0;border-radius:25px 25px 0 0;padding:22px 25px calc(30px + env(safe-area-inset-bottom));background:var(--background);color:var(--text)}.sheet::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sheet-heading h2{font-size:23px}label{display:block;font-size:13px;font-weight:550;margin:20px 0}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{display:block;width:100%;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:13px;margin-top:8px;font-size:16px}textarea{resize:vertical;line-height:1.7}label small{display:block;font-size:12px;color:var(--text-muted);font-weight:400;margin-top:8px}.primary,.secondary,.danger{border-radius:12px;padding:13px 18px;margin-top:15px;font-size:14px}.primary{background:var(--accent);color:var(--accent-foreground);font-weight:600}.secondary{border:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:8px}.danger{color:var(--error)}.full{width:100%}.hint{color:var(--text-muted);font-size:12px;margin:12px 0;line-height:1.7}.setting-row{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;border-bottom:1px solid var(--border);padding:14px 0;font-size:14px;margin:0}.setting-row>span{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setting-row small{flex-basis:100%;display:block;color:var(--text-muted);font-size:11px}.import-label{display:block}.import-label input{font-size:12px;max-width:100%;margin-top:12px}.privacy-note{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:11px;margin-top:30px}.weekday-picker{display:flex;gap:5px}.weekday-picker button{border-radius:50%;width:40px;background:var(--surface);border:1px solid var(--border)}.weekday-picker button[aria-pressed=true]{background:var(--accent);color:var(--accent-foreground)}fieldset{border:0;padding:0;margin:22px 0}legend{font-size:13px;margin-bottom:12px}.stage-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.stage-row>input{flex:1;margin-top:0!important}.stage-row>span{font-size:12px;color:var(--text-muted)}.checkbox{display:flex;align-items:center;gap:4px;font-size:12px;margin:0}.checkbox input{width:18px;height:18px}.stage-row .icon-button{width:32px;min-width:32px}.month-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;font-size:10px;color:var(--text-muted);padding:10px 0}.calendar-grid button{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 0;border-radius:10px;min-height:55px;font-size:13px;background:var(--surface);border:1px solid transparent}.calendar-grid button small{font-size:8px;color:var(--text-muted)}.calendar-grid button[aria-pressed=true]{background:var(--accent);color:var(--accent-foreground)}.calendar-grid button[aria-pressed=true] small{color:var(--accent-foreground)}.calendar-grid button.is-today{border-color:var(--accent)}.calendar-grid button.muted{opacity:.4}.calendar-grid i{position:absolute;right:5px;top:5px;width:3px;height:3px;background:currentColor;border-radius:50%}.day-heading{display:flex;align-items:center;justify-content:space-between;margin-top:33px}.day-memory{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border-top:1px solid var(--border);padding:20px 0;margin-top:30px;font-size:14px}.day-memory>span{flex:1}.day-memory small{display:block;margin-top:7px;font-size:12px;color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.journal-preview{display:block;text-align:left;width:100%;padding:28px 0;border-bottom:1px solid var(--border)}.journal-preview p{font-size:15px;margin:8px 0 13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.message{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;background:var(--accent-muted);padding:12px;border-radius:8px;margin-bottom:20px;overflow-wrap:anywhere}.message.error{color:var(--error)}.loading{padding:60px;text-align:center}.stats-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.stats-filters label{min-width:0;margin-bottom:8px}.consistency-summary{padding:20px 0;border-bottom:1px solid var(--border)}.consistency-number{font-size:58px;line-height:1.15;letter-spacing:-2px;color:var(--accent);font-weight:550}.stats-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 8px}.stats-counts>div{display:flex;flex-direction:column-reverse;gap:5px}.stats-counts dt{font-size:11px;text-transform:capitalize;color:var(--text-muted)}.stats-counts dd{font-size:25px;margin:0;font-weight:500}.streak-summary{display:flex;gap:42px;border-block:1px solid var(--border);padding:20px 0;margin-top:24px}.streak-summary>div{display:flex;flex-direction:column;gap:5px}.streak-summary strong{font-size:26px;font-weight:500}.streak-summary span{font-size:12px;color:var(--text-muted)}.stats-trend,.routine-comparison,.stats-history{margin-top:32px}.stats-trend h2,.routine-comparison h2,.stats-history h2{margin-bottom:16px}.trend-row{display:grid;grid-template-columns:112px 1fr 52px;align-items:center;gap:10px;min-height:36px;font-size:10px;color:var(--text-muted)}.trend-row strong{text-align:right;color:var(--text);font-size:11px;font-weight:500}.trend-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.trend-track>span{display:block;height:100%;background:var(--accent);border-radius:4px}.routine-stat{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 0;text-align:left;border-bottom:1px solid var(--border);font-size:14px}.routine-stat>span{min-width:0;overflow-wrap:anywhere}.routine-stat small{display:block;font-size:10px;color:var(--text-muted);margin-top:6px}.routine-stat strong{font-size:16px;font-weight:500;color:var(--accent)}.stats-history ol{padding:0;list-style:none}.stats-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:14px 0;font-size:12px}.stats-history li>span:first-child{min-width:0;overflow-wrap:anywhere}.stats-history time,.stats-history small{display:block;font-size:10px;color:var(--text-muted);margin-bottom:6px}.stats-history strong{font-weight:500}.stats-history small{margin-top:6px}.history-state{color:var(--text-muted);font-size:10px;text-transform:capitalize}.history-state.completed{color:var(--success)}.history-state.missed{color:var(--error)}.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:360px){.stats-filters{grid-template-columns:1fr;gap:0}.trend-row{grid-template-columns:104px 1fr 44px;gap:6px}}.toggle-row{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:400;line-height:1.5}.toggle-row input{width:20px;height:20px;flex-shrink:0;accent-color:var(--accent)}.interruption{margin:16px 0;padding:14px 0;border-block:1px solid var(--border);font-size:12px;color:var(--text-muted)}.interruption button{color:var(--accent);padding:8px 12px 8px 0;font-size:12px}.routine-notices .setting-row{font-size:12px;color:var(--text-muted)}details{margin-top:20px;font-size:13px}summary{cursor:pointer;min-height:44px;padding-top:12px}.message button{flex-shrink:0}.sheet form{padding-bottom:10px}@media(min-width:700px){.app{border-inline:1px solid var(--border)}main{padding-inline:48px}.brand{padding-inline:48px}nav{border-inline:1px solid var(--border)}.sheet{bottom:5vh;border-radius:24px;border-bottom:1px solid var(--border);max-height:90dvh}}@media(max-width:360px){main{padding-inline:18px}.brand{padding-inline:18px}.state-label{display:none}.sheet{padding-inline:17px}.weekday-picker{gap:3px}.weekday-picker button{width:36px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:no-preference){.check-circle,.routine-group,nav button{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.complete-button:active .check-circle{transform:scale(.92)}.sheet{animation:sheet-enter .14s ease-out}@keyframes sheet-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}summary{min-height:44px;align-content:center}.hint,.setting-row span{overflow-wrap:anywhere}.theme-options{display:grid;gap:8px}.theme-family{display:grid;gap:8px;min-width:0}.theme-family h3{margin:12px 0 4px;color:var(--text-muted);font-size:12px;font-weight:500}.theme-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin:0;border:1px solid var(--control-border);border-radius:10px;background:var(--surface)}.theme-option:has(input:checked){outline:2px solid var(--accent);outline-offset:1px}.theme-option input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.theme-swatches{display:flex;gap:3px}.theme-swatches i{width:18px;height:24px;border:1px solid var(--control-border);border-radius:4px}input[type=checkbox]{accent-color:var(--accent)}.history-state.excused{color:var(--neutral)}.progress-track>span,.trend-track>span{background:var(--progress)}nav button[aria-current]{color:var(--navigation-selected)}.calendar-grid i{background:var(--journal)}.calendar-grid button[aria-pressed=true] i{background:var(--accent-foreground)}.theme-option>span:first-child{display:flex;align-items:center;gap:10px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.view-switch{display:flex;padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.view-switch button{padding:8px 20px;border-radius:10px}.view-switch button[aria-pressed=true]{background:var(--accent-muted);color:var(--accent)}.completion-ring{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;flex-shrink:0}.completion-ring svg{width:100%;height:100%}.completion-ring circle{fill:none;stroke-width:3.5}.ring-track{stroke:var(--border)}.ring-value{stroke:var(--accent)}.completion-ring>span{position:absolute;font-size:11px}.ring-empty .ring-track{stroke-width:1}.ring-future .ring-track{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:2 3}.year-grid .completion-ring{width:28px;height:28px}.year-grid .completion-ring>span{font-size:9px}.stats-trend .trend-row{grid-template-columns:1fr 52px;gap:8px 12px;padding:12px 0;font-size:12px}.stats-trend .trend-row>span:first-child{grid-column:1}.stats-trend .trend-row>strong{grid-column:2;grid-row:1;font-size:13px}.stats-trend .trend-track{grid-column:1 / -1;grid-row:2;height:6px}.calendar-grid button[aria-pressed=true]{background:var(--accent-muted);color:var(--text);outline:2px solid var(--accent);outline-offset:1px}.calendar-grid button[aria-pressed=true] small{color:var(--text-muted)}.calendar-grid button[aria-pressed=true] i{background:var(--journal)}.calendar-grid i{width:5px;height:5px}.year-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.year-month h3{margin:18px 0 8px}.year-grid{gap:4px}.year-grid button{min-height:42px;gap:3px;padding:4px 0}.year-grid .weekday{padding:4px 0}.year-grid small{font-size:10px}#calendar-detail:focus{outline:2px solid var(--accent);outline-offset:6px;border-radius:6px}.xp-total{margin-top:32px;color:var(--text-muted)}.xp-total strong{font-size:48px;color:var(--accent);font-weight:550}.xp-heading{margin-top:36px}.xp-milestones{list-style:none;padding:0}.xp-milestones li{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--border);font-size:13px}.xp-milestones strong{color:var(--accent);white-space:nowrap}.journal-filters{display:grid;grid-template-columns:135px 1fr;gap:14px;margin-top:16px}.journal-filters label{min-width:0}.journal-month{margin-top:28px;color:var(--text-muted);font-size:14px}.memory-text{min-height:32dvh;line-height:1.8}@media(max-width:360px){.journal-filters{grid-template-columns:1fr;gap:0}.journal-filters label{margin:8px 0}}.reminder-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.reminder-row input[type=time]{width:130px;flex-shrink:0;margin:0}.consistency-ring{position:relative;display:inline-grid;place-items:center;width:124px;height:124px;flex-shrink:0;vertical-align:middle}.consistency-ring svg{width:100%;height:100%}.consistency-ring circle{fill:none;stroke-width:3}.consistency-ring>span{position:absolute;font-size:25px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.consistency-ring.compact{width:58px;height:58px}.consistency-ring.compact>span{font-size:12px}.consistency-summary>.consistency-ring{margin:12px 0}.goal-consistency-preview,.goal-consistency-score{display:flex;align-items:center;gap:18px;justify-content:space-between}.goal-consistency-preview{border-top:1px solid var(--border);padding-top:12px;margin-top:4px}.goal-consistency-preview>span:first-child{font-size:12px;line-height:1.5}.goal-consistency-preview small{display:block;font-size:10px;margin-top:3px}.goal-consistency-score{justify-content:flex-start;margin:16px 0}.goal-consistency-score strong{font-size:14px}.stats-trend .trend-row{grid-template-columns:minmax(0,1fr) 58px;align-items:center}.stats-trend .trend-row>.consistency-ring{grid-column:2;grid-row:1}.tasks-section{margin:20px 0 24px}.tasks-section .section-line>div{display:flex;gap:10px;align-items:center}.tasks-section .text-button{font-size:12px;min-height:44px}.task-row{display:flex;align-items:center;margin-bottom:8px}.task-row .complete-button{flex:1;min-width:0;padding:12px}.task-row .routine-name{overflow-wrap:anywhere}.task-row .routine-name small{display:block;color:var(--text-muted);font-size:11px;margin-top:4px;font-weight:400}.task-row .icon-button{flex-shrink:0;margin-right:4px}.goal-option{display:flex;min-height:44px;align-items:center;margin:8px 0}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px;margin:12px 0;min-width:0}.metric-card h2{overflow-wrap:anywhere}.metric-card .goal-value{margin:8px 0 0;overflow-wrap:anywhere}.metric-card .text-button{min-height:44px}.metric-target{display:flex;justify-content:space-between;align-items:center;gap:12px}.metric-history{padding:0;list-style:none}.metric-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:8px 0}.metric-history strong{display:block;overflow-wrap:anywhere}.metric-history time{font-size:11px;color:var(--text-muted)}.metric-trend{margin:12px 0}.metric-trend svg{width:100%;height:auto;display:block}.metric-choice{display:block;width:100%;text-align:left;padding:14px;margin:8px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-wrap:anywhere}.task-notice{position:fixed;z-index:40;left:50%;bottom:calc(94px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(560px,calc(100% - 32px));margin:0;border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow)}.task-notice button{min-height:44px;min-width:44px}.routine-notes{margin-top:0;padding:0 16px 12px;border-top:1px solid var(--border)}.routine-notes summary{color:var(--accent);font-size:12px;padding:14px 0 4px;min-height:44px;overflow-wrap:anywhere}.routine-instructions{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7;padding:8px 0}.routine-instructions a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.suggested-time-input{display:flex;gap:12px;align-items:center;margin:12px 0}.suggested-time-input label{flex:1;min-width:0;margin:0}.suggested-time-input input{min-width:0;width:100%}.suggested-time-input button{min-height:44px;flex-shrink:0}.suggested-time{font-variant-numeric:tabular-nums}.home-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 8px}.home-quick-actions>button{flex:1 1 auto}.inline-actions{display:flex;flex-wrap:wrap;gap:8px}.tracking-callout{padding:16px;margin:20px 0;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.inline-set-editor{padding-top:10px;border-top:1px solid var(--border)}.routine-log{margin:0 14px 8px}.calendar-routines{list-style:none;padding:0;margin:12px 0}.calendar-routines li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.calendar-routines li>span:first-child,.setting-row>span{min-width:0;overflow-wrap:anywhere}.day-log-list{margin:18px 0}.metric-card h3{margin:0}.tracking-chart{margin:16px 0 4px;min-width:0}.tracking-chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-scale,.chart-dates{display:flex;justify-content:space-between;gap:10px;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.chart-gridline{stroke:var(--border);stroke-dasharray:3 4}.chart-point{cursor:pointer;outline:none}.chart-point:focus-visible circle:last-child{stroke:var(--text);stroke-width:2}.chart-reading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin-top:14px;min-height:42px;overflow-wrap:anywhere}.chart-reading strong{font-size:13px}.chart-reading>span{color:var(--text-muted);font-size:11px}.chart-controls{display:flex;align-items:center;justify-content:center;gap:16px}.chart-controls button{min-width:44px;min-height:44px}.chart-controls small{color:var(--text-muted);font-variant-numeric:tabular-nums}.tracking-panel{padding:18px;border:1px solid var(--border);background:var(--surface);border-radius:18px;margin:20px 0;min-width:0}.tracking-panel h3{margin-top:0}.tracking-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.tracking-totals>div{padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.tracking-totals dt{font-size:11px;color:var(--text-muted)}.tracking-totals dd{margin:8px 0 0;font-size:24px;font-weight:600;overflow-wrap:anywhere}.workout-title{background:none;border:0;color:var(--text);font:inherit;text-align:left;padding:0;min-height:44px;overflow-wrap:anywhere}.workout-title span{color:var(--accent)}.workout-card-summary{font-size:13px;line-height:1.7}.workout-card-summary>span{display:block;color:var(--text-muted);font-size:11px}.workout-log-action{margin:16px 0}.workout-log-action details{margin-top:12px}.session-summary-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0}.session-summary-bar strong{font-size:13px}.session-history-row{display:flex;align-items:center;gap:8px}.session-history-row>.setting-row{flex:1;min-width:0}.session-history-row>.text-button{flex-shrink:0;min-height:44px}.all-session-history,.calendar-help{margin:20px 0}.calendar-day-summary{line-height:1.7}.calendar-filter{margin:16px 0}.exercise-progress>label{margin-top:12px}.exercise-charts{display:grid;gap:14px;margin:14px 0}.exercise-chart-panel{min-width:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:14px}.exercise-chart-panel h3{margin:0}.exercise-chart-panel .tracking-chart,.exercise-chart-panel .chart-reading{margin-top:10px}.chart-context-note{color:var(--accent)!important;font-weight:600}.workout-overview .workout-log-action{display:flex;align-items:center;gap:12px}.workout-overview .workout-log-action>.hint{margin:0}.workout-overview .workout-log-action>button{flex:1;width:auto;margin-top:0}@media(min-width:540px){.exercise-charts{grid-template-columns:1fr 1fr}}.workout-log-options details,.chart-help{margin:12px 0}.metric-card .section-line{margin-top:0}.metric-card .section-line h2,.metric-card .section-line h3{overflow-wrap:anywhere;min-width:0}.metric-card .section-line button{flex-shrink:0}@media(max-width:380px){.metric-card .section-line{flex-wrap:wrap}.metric-history li{gap:8px}}:root{--radius-card: 20px;--radius-control: 12px}body{line-height:1.5}h1{font-size:clamp(30px,5vw,38px);font-weight:650;letter-spacing:-1.3px}h2{font-weight:650}h3{font-size:11px;letter-spacing:1.1px}button,input,select,textarea{transition:border-color .15s,background-color .15s,box-shadow .15s}button{-webkit-user-select:none;user-select:none}.app-redesign{max-width:760px;border:0}.app-redesign .brand{height:78px;padding-inline:24px}.brand>span>svg{width:32px;height:32px;padding:6px;background:var(--accent-muted);color:var(--accent);border-radius:11px}.brand>.icon-button{border:1px solid var(--border);border-radius:13px;background:var(--surface)}.app-redesign>main{padding:16px 24px calc(120px + env(safe-area-inset-bottom));outline:none}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px 18px;border-radius:12px;background:var(--surface);color:var(--accent)}.skip-link:focus{top:12px}.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}.page-heading{margin:0 0 24px}.page-heading:has(>div){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.page-heading:has(>div)>div{flex:1 1 180px}.page-heading>button{margin-top:0}.home-heading.page-heading{display:block}.page-kicker,.eyebrow{display:block;margin:0 0 8px;color:var(--accent);font-size:10px;letter-spacing:1.7px;font-weight:700}.page-description,.subtitle{color:var(--text-muted);font-size:14px;line-height:1.65;margin-top:8px;max-width:56ch}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px}.section-heading,.section-line{display:flex;justify-content:space-between;gap:12px;align-items:center}.section-heading h2,.section-line h2{font-size:16px}.section-meta{color:var(--text-muted);font-size:12px;line-height:1.6}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;margin-left:8px;font-size:11px;border-radius:8px;background:var(--accent-muted);color:var(--accent);vertical-align:2px}.quiet-empty{padding:24px;border:1px dashed var(--control-border);border-radius:var(--radius-card);color:var(--text-muted);font-size:14px;line-height:1.7}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.toolbar label{flex:1 1 160px;min-width:0;margin:0}.toolbar button{margin-top:0}.date-chip{border-radius:10px;font-weight:600;font-size:12px}.home-heading{margin-bottom:20px}.daily-progress-panel{margin-top:0;border:0;padding:22px;border-radius:20px;background:var(--accent-muted)}.progress-panel-heading>span{color:var(--text);font-size:13px;letter-spacing:0}.progress-panel-heading strong{font-size:38px}.daily-progress-panel .progress-track{height:5px;background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.home-week{margin:22px 0 4px}.home-week-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:0 0 8px}.home-week-heading h2{font-size:13px}.home-week-heading>span{font-size:11px;color:var(--text-muted)}.home-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.home-week-days>button{display:flex;align-items:center;flex-direction:column;gap:7px;padding:9px 2px 7px;border:1px solid transparent;border-radius:13px;min-width:0}.home-week-days>button[aria-pressed=true]{background:var(--surface);border-color:var(--border)}.week-day-label{color:var(--text-muted);font-size:10px}.home-week-days>button[aria-pressed=true] .week-day-label{color:var(--accent);font-weight:650}.week-day-orbit{display:grid;place-items:center;width:36px;height:36px;position:relative;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.week-day-orbit svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:2.4}.week-orbit-track{stroke:var(--border)}.week-orbit-value{stroke:var(--accent);stroke-linecap:round}.week-day-orbit.is-rest .week-orbit-track{stroke-dasharray:2 3}.week-memory{width:4px;height:4px;border-radius:50%;background:transparent}.week-memory.saved{background:var(--accent)}.home-sections{display:grid;gap:8px}.home-routines,.home-side{min-width:0}.home-routines>.section-line,.tasks-section>.section-line{margin-top:25px;margin-bottom:8px}.routine-group{padding:10px 14px;margin:8px 0;border-radius:16px;box-shadow:none}.routine-group .routine{min-height:54px}.routine-group .routine-name{font-size:14px;font-weight:550}.routine-group .routine-name small{font-weight:400;font-size:12px}.routine-group-heading{padding:8px 0 10px}.routine-group-heading strong{font-size:15px}.group-completed{border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.group-completed .routine-name{color:var(--text-muted)}.check-circle{transition:background-color .15s ease}.task-row .check-circle{border-radius:7px}.task-row .routine-name small:empty{display:none}.task-management{margin-top:2px}.state-menu{box-shadow:none;background:var(--background);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.state-menu button{font-size:12px;padding:8px}.state-label{font-size:10px;padding:3px 7px;background:var(--accent-muted);color:var(--accent);border-radius:7px}.state-label:empty{display:none}.home-management{border-top:1px solid var(--border);margin-top:16px}.home-management>summary{color:var(--text-muted);font-size:12px}.home-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.home-quick-actions h2,.home-quick-actions p,.home-quick-actions>.text-button{grid-column:1/-1}.home-quick-actions h2{font-size:15px}.home-quick-actions>button{margin-top:0}.home-quick-actions>.secondary{font-size:12px;flex-direction:column;padding:13px 6px;gap:8px;background:var(--background)}.home-quick-actions>.text-button{justify-content:flex-start}.home-footer{margin:32px 0 0}.empty{padding:30px 14px}.empty-symbol{border-radius:18px;width:48px;height:48px;margin-bottom:16px}.app-redesign>nav{width:min(calc(100% - 24px),710px);padding:9px 5px;border-radius:21px;box-shadow:0 5px 22px color-mix(in srgb,var(--shadow) 60%,transparent)}.app-redesign>nav button{min-width:0;padding:6px 2px;gap:5px;font-size:10px;border-radius:13px;min-height:54px}.app-redesign>nav button[aria-current]{background:var(--accent-muted)}.app-redesign>nav button[aria-current] svg{background:none;box-shadow:none}.view-switch{background:color-mix(in srgb,var(--border) 35%,var(--background));border:0;border-radius:13px;padding:4px;gap:3px}.view-switch>button{min-height:44px;padding:10px 12px;border-radius:9px;font-size:13px}.view-switch>button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px color-mix(in srgb,var(--shadow) 35%,transparent);font-weight:650}.primary{box-shadow:0 2px 4px color-mix(in srgb,var(--shadow) 30%,transparent)}.primary,.secondary{border-radius:var(--radius-control);min-height:44px}.text-button{font-size:12px;line-height:1.5;min-height:44px}.section-line>.primary,.section-line>.secondary{margin-top:0}.secondary{background:var(--surface)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border-color:var(--control-border);border-radius:var(--radius-control)}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:right 18px center,right 13px center;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}.app-redesign .journal-page .journal-search-field input[type=search]{padding-left:38px}@media(min-width:361px)and (max-width:480px){.journal-page .journal-filters{grid-template-columns:minmax(0,1fr) 128px}}.sheet{padding-top:0;background:var(--background);box-shadow:0 18px 70px var(--shadow)}.sheet-heading{position:sticky;top:0;z-index:4;background:var(--background);border-bottom:1px solid var(--border);padding:18px 0 14px;margin-bottom:20px}.sheet-heading h2{font-size:21px}.sheet-heading .icon-button{background:var(--surface);border:1px solid var(--border);border-radius:12px}.sheet form>.primary.full{margin-top:24px}.sheet fieldset+fieldset{margin-top:20px}.settings-intro{color:var(--text-muted);font-size:14px;margin-bottom:20px}.settings-section{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:17px;margin:12px 0}.settings-section>h3:first-child{margin-top:0}.settings-section>details:first-child{margin-top:0}.settings-section .theme-picker{background:var(--background)}.settings-section .hint:last-child{margin-bottom:0}.settings-section .setting-row:last-child{border-bottom:0}.chart-scale{font-variant-numeric:tabular-nums;font-size:10px}.chart-reading strong{font-weight:600}.chart-controls{border-top:1px solid var(--border);margin-top:10px;padding-top:4px}.chart-point:focus-visible{outline:none}.chart-point:focus-visible>circle:last-child{stroke:var(--text);stroke-width:1.5}.exercise-chart-panel{border-radius:17px}.exercise-chart-panel h3{color:var(--text-muted)}.exercise-single-label{margin-top:18px;font-size:16px}.workout-overview .workout-log-action>button{flex:0 0 auto;min-width:142px;white-space:nowrap}@media(hover:hover){.primary:hover{filter:brightness(1.05)}.secondary:hover,.home-week-days>button:hover,.setting-row:hover{background:var(--accent-muted)}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.app-redesign>nav button:hover{background:var(--accent-muted)}}@media(min-width:1000px){.app-redesign{max-width:1200px;padding-left:232px}.app-redesign .brand{position:fixed;left:max(24px,calc(50% - 576px));top:30px;width:190px;height:auto;padding:0;z-index:4;align-items:center}.brand>span{font-size:16px;gap:5px}.brand>.icon-button{width:36px;min-width:36px;height:40px;border:0;background:none}.app-redesign>main{padding:44px 32px 70px}.app-redesign>nav{top:111px;bottom:auto;left:max(24px,calc(50% - 576px));width:190px;transform:none;flex-direction:column;padding:0;gap:7px;border:0;background:none;box-shadow:none;border-radius:0}.app-redesign>nav button{flex:initial;flex-direction:row;justify-content:flex-start;padding:14px 16px;gap:12px;font-size:14px;min-height:50px}.app-redesign>nav button svg{width:20px;height:20px}.page-heading{margin-bottom:28px}.home-sections{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}.daily-progress-panel{padding:24px}.home-week{margin-top:24px}.home-week-days{gap:12px}.home-week-days>button{flex-direction:row;justify-content:center;gap:8px;padding:10px 6px;position:relative}.week-memory{position:absolute;bottom:4px}.tasks-section>.section-line>div{flex-basis:auto}.sheet{width:600px}}@media(max-width:380px){.app-redesign .brand{padding-inline:18px;height:72px}.app-redesign>main{padding-inline:18px;padding-top:12px}.daily-progress-panel{padding:18px}.home-week-days{gap:1px}.week-day-orbit{width:31px;height:31px}.week-day-label{font-size:9px}.home-week-heading h2{font-size:12px}.home-week-heading>span{font-size:10px}.routine-group{padding-inline:11px}.settings-section{padding:14px}}.home-heading~.tasks-section{margin-bottom:24px}.done-routines{margin-top:18px}.done-routines>summary{padding:12px 0;color:var(--text-muted);font-weight:600;cursor:pointer}.routine-management-section{margin-top:18px}.routine-management-controls{border:0;padding:0;margin:12px 0 0;min-width:0}
