:root{color-scheme:light;--bg:#f8f8f2;--surface:#fffefa;--soft:#e8eee6;--blue:#e6edf0;--ink:#233e40;--muted:#4e6565;--accent:#355e50;--on-accent:#fff;--border:#bccbc3;--focus:#794620;--input-border:#6e8378;--danger:#893d36;--banner:#dee8e5;--shadow:0 8px 28px rgba(35,62,64,.04)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#15262e;--surface:#1d323a;--soft:#263f43;--blue:#243d4c;--ink:#edf3ed;--muted:#bdcfca;--accent:#b3d1ba;--on-accent:#172e24;--border:#627d7f;--focus:#f6cd96;--input-border:#8da8a6;--danger:#ffb6ab;--banner:#243e46;--shadow:none}}
:root[data-theme=dark]{color-scheme:dark;--bg:#15262e;--surface:#1d323a;--soft:#263f43;--blue:#243d4c;--ink:#edf3ed;--muted:#bdcfca;--accent:#b3d1ba;--on-accent:#172e24;--border:#627d7f;--focus:#f6cd96;--input-border:#8da8a6;--danger:#ffb6ab;--banner:#243e46;--shadow:none}
*{box-sizing:border-box}html{scroll-padding-top:13rem}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-wrap:anywhere}::selection{background:var(--accent);color:var(--on-accent)}a{color:var(--accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button,select,input{min-height:44px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.15rem;border:1px solid var(--border);border-radius:100px;background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:var(--soft)}button:disabled{opacity:.6;cursor:default}.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.primary:hover{background:var(--accent);text-decoration:underline}.danger{color:var(--danger)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}textarea,input,select{color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.75rem;font-size:16px;caret-color:var(--accent);border-color:var(--input-border)}textarea{display:block;width:100%;min-height:240px;resize:vertical;line-height:1.75}label,legend{font-weight:600}fieldset{border:0;padding:0;margin:0;min-width:0}legend{margin-bottom:.7rem}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:1rem;z-index:20;padding:1rem;background:var(--surface)}.skip:focus{top:1rem}.crisis-banner{position:sticky;top:0;z-index:10;background:var(--banner);padding:.7rem 1.25rem;border-bottom:1px solid var(--border);font-size:.875rem;line-height:1.6}.crisis-banner p{max-width:1160px;margin:0 auto}.crisis-banner a{font-weight:700;display:inline-block;min-height:44px;align-content:center}.site-header{max-width:1160px;margin:auto;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink);font-size:1.3rem;font-weight:700;letter-spacing:-.035em;text-decoration:none;min-height:44px}.brand img{width:34px;height:34px}nav{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:auto}nav a{padding:.55rem .75rem;text-decoration:none;min-height:44px;border-radius:50px;color:var(--ink)}nav a[aria-current=page]{background:var(--soft);font-weight:600}.theme-control{font-size:.875rem;padding:.5rem .8rem}.site-main{max-width:1060px;margin:0 auto;padding:2rem 1.5rem 5rem}.intro{max-width:720px;margin:1rem 0 2.5rem}.intro p{max-width:58ch;color:var(--muted);font-size:1.125rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(2.4rem,7vw,4.5rem);font-weight:550;margin-bottom:1.1rem}h2{font-size:1.55rem;font-weight:600;margin-bottom:1rem}h3{font-size:1.15rem;margin-bottom:.6rem}p{margin-bottom:1rem}p:last-child{margin-bottom:0}.date-label,.muted,.status{color:var(--muted)}.date-label{margin-bottom:1rem}.daily-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}.card{padding:1.75rem;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.reminder{background:var(--soft);display:flex;flex-direction:column;justify-content:space-between;min-height:280px}.reminder blockquote{margin:1rem 0;font-size:clamp(1.6rem,4vw,2.15rem);letter-spacing:-.025em;line-height:1.4;max-width:24ch}.reminder blockquote p{margin:0}.reminder cite{font-size:1rem;font-style:normal}.tiny-step{background:var(--blue)}.tiny-step h3{font-size:1.6rem;margin-top:1.5rem}.section{margin-top:2.8rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.section-heading p{color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem}.actions p{margin:0}.status{font-size:.9rem;min-height:1.65em;margin-top:.7rem}.storage-note,.notice{padding:1rem 1.2rem;border:1px solid var(--border);border-radius:14px;background:var(--soft);margin-bottom:1.5rem}.moods{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem}.mood-button{flex-direction:column;border-radius:18px;padding:.85rem .3rem;font-weight:500}.mood-button svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.6}.mood-button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.mood-strip{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;padding:0;margin:1.5rem 0 0}.mood-strip li{min-width:0;padding:.6rem .15rem;text-align:center;border-radius:10px;background:var(--surface);border:1px solid var(--border);font-size:.8rem}.mood-strip time{display:block;color:var(--muted)}.mood-strip .recorded{background:var(--soft)}.mood-strip strong{font-size:.8rem;font-weight:600}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.tool-link{padding:1.4rem 1.1rem;display:block;color:var(--ink);text-decoration:none}.tool-link:hover{border-color:var(--accent)}.tool-link p{font-size:.95rem;color:var(--muted)}.tool-link svg{width:28px;height:28px;fill:none;stroke:var(--accent);stroke-width:1.5;margin-bottom:1rem}.tool-link span{display:block;font-weight:600;font-size:1.15rem;margin-bottom:.5rem}.site-footer{border-top:1px solid var(--border);max-width:1160px;margin:auto;padding:1.75rem 1.5rem 2.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}.footer-links{display:flex;gap:.3rem 1.25rem;flex-wrap:wrap}.footer-links a{min-height:44px;display:inline-flex;align-items:center}.site-footer p{padding:.6rem 0;margin:0}.prose{max-width:720px}.prose h2{margin-top:2.4rem}.prose li{margin-bottom:.65rem}.prose li a{display:inline-block;min-height:44px;align-content:center}.journal-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.5rem;align-items:start}.journal-layout label{display:block;margin:.8rem 0}.entry-list{padding:0;list-style:none;margin:0}.entry-list li{border-top:1px solid var(--border);padding:1.1rem 0}.entry-list p{white-space:pre-wrap;font-size:.95rem;max-height:5em;overflow:hidden;margin:.5rem 0}.entry-list time{font-size:.85rem;color:var(--muted)}.entry-list .actions{gap:.4rem}.entry-list button{padding:.5rem .85rem;font-size:.9rem}.saved-body{white-space:pre-wrap;overflow-wrap:anywhere;max-height:60vh;overflow:auto}.view-panel{margin-bottom:1.5rem}.prompt{font-style:italic;color:var(--muted);margin-top:1rem}.exercise{max-width:760px}.controls{display:flex;gap:1.25rem;flex-wrap:wrap}.controls label{display:block;margin-bottom:.4rem}.controls select{width:100%}.controls>div{flex:1;min-width:180px}.breathing-space{position:relative;min-height:340px;display:grid;place-items:center;margin:1.5rem auto}.breathing-ring{width:220px;height:220px;border-radius:50%;background:var(--soft);border:2px solid var(--accent);transform:scale(.8);transition:transform var(--phase-duration,4s) linear}.breathing-ring.expanded{transform:scale(1.12)}.breathing-words{position:absolute;text-align:center;pointer-events:none}.breathing-words strong{display:block;font-size:1.5rem}.breathing-words span{font-size:1.125rem;font-variant-numeric:tabular-nums}.exercise-actions{justify-content:center}.timer{text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}.ground-stage{min-height:260px;background:var(--soft);padding:2rem;border-radius:22px;margin:1.5rem 0}.ground-count{font-size:3.5rem;line-height:1;display:block;margin-bottom:1rem;font-weight:500}.ground-stage h2{font-size:1.8rem}.extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.help-grid h2{font-size:1.25rem}.help-grid p{margin:.5rem 0}.help-grid a{display:inline-block;min-height:44px;align-content:center}.help-intro{background:var(--soft);padding:1.5rem;border-radius:18px;margin-bottom:1.5rem}.help-intro a{display:inline-block;min-height:44px;align-content:center}.offline-note{font-size:.9rem;color:var(--muted)}
@media(max-width:720px){.site-header{gap:.75rem;padding:1rem}nav{order:3;margin:0;width:100%;justify-content:space-between;gap:0}nav a{padding:.5rem .6rem}.theme-control{margin-left:auto}.site-main{padding:1.25rem 1rem 3rem}.intro{margin:.75rem 0 1.8rem}.daily-grid,.journal-layout,.help-grid{grid-template-columns:1fr}.card{padding:1.3rem}.reminder{min-height:240px}.tool-grid{grid-template-columns:repeat(2,1fr)}.extra-grid{grid-template-columns:1fr}.moods{gap:.35rem}.mood-button{font-size:.875rem}.mood-strip{gap:.25rem}.mood-strip li{font-size:.7rem}.mood-strip strong{font-size:.7rem}.crisis-banner{padding:.5rem 1rem}.site-footer{padding:1.25rem 1rem}.breathing-space{min-height:310px}.ground-stage{padding:1.5rem}.section{margin-top:2rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.breathing-ring,.breathing-ring.expanded{transform:none}}

/* Keep urgent support and focused controls reachable while scrolling. */
a,button,input,select,textarea,[tabindex]{scroll-margin-block:13rem 2rem}.notice a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}.site-main a{display:inline-block;align-content:center;min-height:44px;min-width:44px}.footer-links a,.crisis-banner a{min-width:44px}.skip:focus{position:fixed;z-index:30}
