*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{--font-display: ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--color-red: #ff3b3b;--color-red-ink: #7a0000;--color-blue: #2d6cdf;--color-blue-ink: #0b2a63;--color-yellow: #ffd100;--color-yellow-ink: #6b5400;--color-ink: #14141a;--color-paper: #ffffff;--color-bg: #fff8ec;--color-muted: #55555f;--radius-lg: 28px;--radius-md: 20px;--radius-sm: 14px;--shadow-sm: 3px 3px 0 var(--color-ink);--shadow-md: 5px 5px 0 var(--color-ink);--shadow-lg: 8px 8px 0 var(--color-ink);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);font-family:var(--font-display);color-scheme:light dark;color:var(--color-ink);background-color:var(--color-bg)}@media(prefers-color-scheme:dark){:root{--color-ink: #f5f3ef;--color-paper: #201f28;--color-bg: #14141a;--color-muted: #c7c5d6;--shadow-sm: 3px 3px 0 #000000;--shadow-md: 5px 5px 0 #000000;--shadow-lg: 8px 8px 0 #000000}}body{min-height:100dvh;background-color:var(--color-bg)}h1,h2,h3{font-family:var(--font-display);font-weight:900;letter-spacing:-.02em}a{color:inherit}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;background:var(--color-paper);border-bottom:4px solid var(--color-ink);padding:.9rem 1.25rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.wordmark{font-family:var(--font-display);font-weight:900;font-size:1.6rem;letter-spacing:-.03em;background:linear-gradient(90deg,var(--color-red),var(--color-blue));-webkit-background-clip:text;background-clip:text;color:transparent;text-decoration:none;white-space:nowrap}.main-nav{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.main-nav a{text-decoration:none;font-weight:800;font-size:.9rem;padding:.45rem .9rem;border-radius:999px;border:3px solid var(--color-ink);background:var(--color-paper);transition:transform .15s var(--ease-bounce),background-color .15s ease}.main-nav a:hover{transform:translateY(-2px) scale(1.03)}.main-nav a.active{background:var(--color-yellow)}.app-main{flex:1}.app-footer{border-top:4px solid var(--color-ink);background:var(--color-paper);padding:1rem 1.25rem;text-align:center;font-size:.85rem;color:var(--color-muted)}.app-footer a{font-weight:800;color:var(--color-red)}.page{max-width:80ch;margin-inline:auto;padding:2rem 1.25rem 3rem}.page-wide{max-width:60rem;margin-inline:auto;padding:2rem 1.25rem 3rem}.page-title{font-size:clamp(2rem,5vw,3rem);margin-bottom:.5rem}.page-subtitle{color:var(--color-muted);font-size:1.05rem;margin-bottom:2rem;max-width:60ch}.card{background:var(--color-paper);border:3px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:1.25rem 1.5rem}.card--red{background:color-mix(in srgb,var(--color-red) 12%,var(--color-paper))}.card--blue{background:color-mix(in srgb,var(--color-blue) 12%,var(--color-paper))}.card--yellow{background:color-mix(in srgb,var(--color-yellow) 18%,var(--color-paper))}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);font-weight:800;font-size:1rem;padding:.85rem 1.5rem;border-radius:var(--radius-sm);border:3px solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-sm);cursor:pointer;text-decoration:none;transition:transform .15s var(--ease-bounce),box-shadow .15s var(--ease-bounce)}.btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-md)}.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--color-ink)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.btn--red{background:var(--color-red);color:#fff}.btn--blue{background:var(--color-blue);color:#fff}.btn--yellow{background:var(--color-yellow);color:var(--color-ink)}.btn--lg{padding:1.1rem 2rem;font-size:1.15rem}.btn--full{width:100%}.mood-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;margin:1.5rem 0}.mood-option{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.1rem .5rem;border-radius:var(--radius-md);border:3px solid var(--color-ink);background:var(--color-paper);box-shadow:var(--shadow-sm);cursor:pointer;font-family:var(--font-display);font-weight:800;transition:transform .15s var(--ease-bounce)}.mood-option:hover{transform:translateY(-3px) scale(1.04)}.mood-option[aria-pressed=true]{background:var(--color-yellow);transform:scale(1.06)}.mood-option__emoji{font-size:2.25rem;line-height:1}.breathing-stage{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem 0}.breathing-circle{width:200px;height:200px;border-radius:50%;border:4px solid var(--color-ink);background:radial-gradient(circle at 35% 30%,var(--color-blue),var(--color-red));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:1.15rem;text-align:center;box-shadow:var(--shadow-lg);transition:transform 4s ease-in-out}.breathing-circle--in,.breathing-circle--hold{transform:scale(1.25)}.breathing-circle--out{transform:scale(.85)}.grounding-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}.grounding-item{display:flex;align-items:center;gap:.85rem;padding:1rem 1.25rem;border-radius:var(--radius-md);border:3px solid var(--color-ink);background:var(--color-paper);box-shadow:var(--shadow-sm);font-weight:700;cursor:pointer}.grounding-item[data-done=true]{background:var(--color-yellow);text-decoration:line-through;opacity:.75}.grounding-item__count{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:3px solid var(--color-ink);background:var(--color-blue);color:#fff;font-size:.95rem;flex-shrink:0}.exercise-card summary{cursor:pointer;font-family:var(--font-display);font-weight:800;font-size:1.1rem;list-style:none}.exercise-card summary::-webkit-details-marker{display:none}.tag{display:inline-block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .6rem;border-radius:999px;border:2px solid var(--color-ink);margin-bottom:.5rem}.tag--Stress{background:var(--color-blue);color:#fff}.tag--Depression{background:var(--color-red);color:#fff}.exercise-card ol{margin-top:.75rem;padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem}.journal-textarea{width:100%;min-height:8rem;border:3px solid var(--color-ink);border-radius:var(--radius-md);padding:1rem;font-family:inherit;font-size:1rem;resize:vertical;background:var(--color-paper);color:var(--color-ink)}.journal-entry{border:3px solid var(--color-ink);border-radius:var(--radius-md);padding:1rem 1.25rem;background:var(--color-paper)}.journal-entry+.journal-entry{margin-top:1rem}.journal-entry__prompt{font-weight:800;margin-bottom:.35rem}.journal-entry__date{font-size:.8rem;color:var(--color-muted)}.challenge-card{text-align:center;padding:2rem 1.5rem}.challenge-card__title{font-size:1.75rem;margin:.5rem 0 .75rem}.challenge-card--done{background:var(--color-yellow)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:1.5rem 0 2rem}.stat-card{text-align:center;padding:1.25rem 1rem}.stat-card__value{font-size:2.25rem;font-weight:900;line-height:1}.stat-card__label{color:var(--color-muted);font-weight:700;font-size:.85rem;margin-top:.4rem}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-top:1rem}.day-cell{aspect-ratio:1;border-radius:8px;border:2px solid var(--color-ink);background:var(--color-paper)}.day-cell[data-active=true]{background:var(--color-blue)}.crisis-card{border-color:var(--color-red);background:color-mix(in srgb,var(--color-red) 10%,var(--color-paper))}.crisis-card h2{color:var(--color-red)}.resource-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.6rem}.disclaimer{font-size:.9rem;color:var(--color-muted);border-top:2px dashed var(--color-ink);padding-top:1rem;margin-top:2rem}.hero{text-align:center;padding:3rem 1.25rem 1rem}.hero__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.5rem,8vw,4.5rem);letter-spacing:-.03em;background:linear-gradient(90deg,var(--color-red),var(--color-blue) 60%,var(--color-yellow));-webkit-background-clip:text;background-clip:text;color:transparent}.hero__tagline{font-size:1.15rem;color:var(--color-muted);max-width:46ch;margin:1rem auto 2rem}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;padding:2.5rem 1.25rem;max-width:68rem;margin-inline:auto}.feature-card{text-decoration:none;color:var(--color-ink);display:flex;flex-direction:column;gap:.5rem}.feature-card__emoji{font-size:2rem}.feature-card__title{font-weight:900;font-size:1.15rem}.feature-card__desc{color:var(--color-muted);font-size:.9rem}
