:root{--bg:#f7f5f0;--fg:#1f1e1b;--muted:#6b675f;--accent:#3f5e4b;--accent-fg:#ffffff;--card:#ffffff;--border:#e3dfd6;--error:#a33a2c}@media (prefers-color-scheme:dark){:root{--bg:#1c1b19;--fg:#ece9e2;--muted:#a19c92;--accent:#8fb39b;--accent-fg:#14211a;--card:#262522;--border:#3a3834;--error:#e58a7c}}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}main{max-width:34rem;margin:0 auto;padding:calc(env(safe-area-inset-top) + 2rem) 1.25rem calc(env(safe-area-inset-bottom) + 2rem)}h1{font-size:1.75rem;margin:0 0 .5rem}p{line-height:1.5}.muted{color:var(--muted)}.error{color:var(--error)}.card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;margin-top:1.5rem}button,input{font:inherit;width:100%;border-radius:.75rem;padding:.85rem 1rem}input{border:1px solid var(--border);background:var(--bg);color:var(--fg);margin-bottom:.75rem}button{border:none;background:var(--accent);color:var(--accent-fg);font-weight:600;cursor:pointer}button.secondary{background:transparent;color:var(--muted);border:1px solid var(--border)}button:disabled{opacity:.6}.small{font-size:.875rem;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600;margin:0 0 .25rem}.eyebrow,a{color:var(--accent)}.link-button{display:block;text-align:center;text-decoration:none;border-radius:.75rem;padding:.85rem 1rem;margin-top:.75rem;font-weight:600;border:1px solid var(--border);color:var(--fg)}.link-button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.footer-actions{margin-top:2.5rem}.flow{display:flex;flex-direction:column;min-height:100dvh}.flow-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.flow-header .small:last-child{text-align:right}.progress{height:4px;background:var(--border);border-radius:2px;margin:1rem 0 1.5rem;overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .3s ease}.step{display:flex;flex-direction:column}.question{font-size:1.5rem;line-height:1.3;margin:.5rem 0 1.25rem}textarea.answer{font:inherit;font-size:1.0625rem;line-height:1.5;width:100%;min-height:30vh;resize:vertical;border:1px solid var(--border);border-radius:.75rem;padding:.85rem 1rem;background:var(--card);color:var(--fg)}textarea.answer-long{min-height:45vh}input:focus,textarea.answer:focus{outline:2px solid var(--accent);outline-offset:1px}.step-nav{display:grid;grid-template-columns:1fr 2fr;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.scale-buttons{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.5rem;gap:.5rem}.scale-buttons button{padding:1rem 0;font-size:1.25rem}.scale-buttons button.selected{background:var(--accent);color:var(--accent-fg)}.scale-labels{display:flex;justify-content:space-between;margin-top:.5rem}.done .card button{margin-bottom:0}.reflection{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.bubble{border-radius:1rem;padding:.75rem 1rem;max-width:90%;line-height:1.5}.bubble p{margin:0}.bubble p+p{margin-top:.5rem}.bubble.claude{background:var(--card);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:.25rem}.bubble.me{background:var(--accent);color:var(--accent-fg);align-self:flex-end;border-bottom-right-radius:.25rem;white-space:pre-wrap}.bubble.me .muted{color:var(--accent-fg);opacity:.75;font-style:italic}.bubble-question{font-weight:600}.bubble.thinking p{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.4}}.reply textarea.answer{min-height:25vh}button.text-button{background:none;color:var(--muted);font-weight:400;text-decoration:underline;margin-top:.5rem}.summary ul{margin:.25rem 0 0;padding-left:1.25rem;line-height:1.5}.summary .eyebrow:not(:first-child){margin-top:1rem}.summary p:not(.eyebrow){margin-top:0;line-height:1.55}.with-nav{padding-bottom:calc(env(safe-area-inset-bottom) + 4rem)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:10}.bottom-nav a{text-align:center;padding:.9rem 0;color:var(--muted);text-decoration:none;font-weight:600;font-size:.9rem}.bottom-nav a[aria-current=page]{color:var(--accent)}:root{--series-mood:#2a78d6;--series-energy:#eb6834;--mood-1:#86b6ef;--mood-2:#5598e7;--mood-3:#2a78d6;--mood-4:#1c5cab;--mood-5:#104281;--mood-1-text:#0b0b0b;--mood-2-text:#0b0b0b;--mood-3-text:#ffffff;--mood-4-text:#ffffff;--mood-5-text:#ffffff}@media (prefers-color-scheme:dark){:root{--series-mood:#3987e5;--series-energy:#d95926;--mood-1:#256abf;--mood-2:#3987e5;--mood-3:#6da7ec;--mood-4:#9ec5f4;--mood-5:#cde2fb;--mood-1-text:#ffffff;--mood-2-text:#0b0b0b;--mood-3-text:#0b0b0b;--mood-4-text:#0b0b0b;--mood-5-text:#0b0b0b}}.mood-1{--cell:var(--mood-1);--cell-text:var(--mood-1-text)}.mood-2{--cell:var(--mood-2);--cell-text:var(--mood-2-text)}.mood-3{--cell:var(--mood-3);--cell-text:var(--mood-3-text)}.mood-4{--cell:var(--mood-4);--cell-text:var(--mood-4-text)}.mood-5{--cell:var(--mood-5);--cell-text:var(--mood-5-text)}.day-nav,.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.month-nav h2{font-size:1.1rem;margin:0}.day-nav a[aria-label],.month-nav a{font-size:1.5rem;line-height:1;padding:.25rem .75rem;text-decoration:none;color:var(--accent)}.day-nav>span,.month-nav>span{width:2.5rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.calendar-weekday{text-align:center;font-size:.75rem;color:var(--muted);padding-bottom:.25rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:.6rem;font-size:.9rem;text-decoration:none;color:var(--fg);background:var(--cell,transparent);color:var(--cell-text,var(--fg))}.calendar-day.has-entry{border:2px solid var(--series-mood)}.calendar-day.today{outline:2px solid var(--fg);outline-offset:1px}.calendar-day.future{color:var(--muted);opacity:.5}.mood-legend{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:.9rem}.mood-legend span{margin:0 .35rem}.mood-swatch{display:inline-block;width:.9rem;height:.9rem;border-radius:4px;background:var(--cell);vertical-align:-.1rem;margin-left:.4rem}.mood-legend .mood-swatch{margin-left:0}.section-title{font-size:1rem;margin:0 0 .75rem}.chart{margin:0}.chart-legend{display:flex;gap:1rem;font-size:.8rem;color:var(--muted);margin-bottom:.5rem}.chart-legend i,.chart-tooltip i{display:inline-block;width:.9rem;height:2px;vertical-align:middle;margin-right:.35rem}.chart-plot{position:relative}.chart svg{width:100%;height:auto;display:block;touch-action:pan-y}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis,.chart-label{fill:var(--muted);font-size:10px}.chart-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-halo{fill:none;stroke:var(--card);stroke-width:5;stroke-linejoin:round;stroke-linecap:round}.chart-dot{stroke:var(--card);stroke-width:2}.chart-crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3}.chart-tooltip{position:absolute;top:0;transform:translateX(-50%);background:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.4rem .6rem;font-size:.75rem;display:flex;flex-direction:column;gap:.15rem;pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px rgb(0 0 0/.12)}.chart-table{margin-top:.75rem}.chart-table table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.5rem}.chart-table td,.chart-table th{text-align:left;padding:.25rem 0;border-bottom:1px solid var(--border)}.entry-view{display:flex;flex-direction:column;gap:1rem}.entry-scale{display:flex;justify-content:space-between;gap:1rem}.entry-prompt{font-size:.85rem;color:var(--muted);margin:0 0 .25rem}.entry-text{margin:0;white-space:pre-wrap;line-height:1.55}.results{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.results a{display:block;background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:.85rem 1rem;text-decoration:none;color:var(--fg)}.result-day{display:block;font-weight:600;margin-bottom:.25rem}.result-snippet{color:var(--muted);line-height:1.5;font-size:.9rem}mark{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--fg);border-radius:3px;padding:0 1px}.home-header{display:flex;justify-content:space-between;align-items:center}.settings-link{color:var(--muted);padding:.25rem;margin-right:-.25rem}.button-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.setting-row{justify-content:space-between;gap:1rem;padding:.5rem 0}.setting-row,.setting-row span{display:flex;align-items:center}.setting-row span{gap:.6rem}.setting-row input[type=checkbox]{width:1.25rem;height:1.25rem;margin:0;accent-color:var(--accent)}.setting-row input[type=time]{width:auto;margin:0;padding:.5rem .75rem}.morning-intro p{line-height:1.55}.impulse p{margin:0;font-size:1.05rem}.yesterday{margin-top:.75rem}.yesterday summary{color:var(--muted);cursor:pointer}.yesterday ul{margin:.25rem 0 0;padding-left:1.25rem;line-height:1.5}.dash-card{margin-top:1rem}.weather-now{display:flex;align-items:center;gap:1rem}.weather-temp{font-size:2.4rem;font-weight:600;line-height:1}.weather-hours{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(5,1fr);text-align:center}.weather-hours li{gap:.15rem}.dash-list,.weather-hours li{display:flex;flex-direction:column}.dash-list{list-style:none;padding:0;margin:0;gap:.55rem}.dash-list li{display:grid;grid-template-columns:5.5rem 1fr;grid-gap:.5rem;gap:.5rem;line-height:1.4}.dash-time{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-time.overdue{color:var(--error)}.checkin-field{margin-bottom:1rem}textarea.answer-short{min-height:4.5rem}.checkin-summary{margin:0 0 1rem}.checkin-summary div+div{margin-top:.6rem}.checkin-summary dt{font-size:.85rem;color:var(--muted)}.checkin-summary dd{margin:0;white-space:pre-wrap}.focus-note{margin:.5rem 0 0;padding:.6rem .85rem;border-left:3px solid var(--accent);background:var(--card);border-radius:.5rem;font-size:.9rem}.inline-form{display:grid;grid-template-columns:1fr auto;grid-gap:.5rem;gap:.5rem}.inline-form input{margin:0}.inline-form button{width:auto}.choice-list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.5rem}.choice-list button{text-align:left;font-weight:400;color:var(--fg)}code{font-size:.85em}.day-section{margin-top:1.5rem}