:root{--ink:#261f2c;--plum:#4a2c4a;--purple:#7e57c2;--muted:#746b7c;--surface:#f8f5fb;--cream:#f7f1e8;--lavender:#eee6fb;--blush:#f7dfe8;--rose:#c97b8b;--sage:#a8b89c;--line:#ded5e7;--shadow:0 16px 38px #4a2c4a1a;--radius:28px;--radius-sm:22px;--body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display:Fraunces, Georgia, "Times New Roman", serif;font-family:var(--body);color:var(--ink);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--surface);min-width:320px;min-height:100svh;margin:0}button,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #7e57c259}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell,.onboarding{background:radial-gradient(circle at 18% 8%, #f2c9c985, transparent 28rem), radial-gradient(circle at 90% 10%, #c9b6d475, transparent 24rem), var(--surface);min-height:100svh}.app-shell{border-inline:1px solid var(--line);width:min(100%,460px);margin:0 auto;padding-bottom:98px;position:relative}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f1e8e6;border-bottom:1px solid #d4cadab3;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 12px;display:flex;position:sticky;top:0}button{font:inherit}.brand-lockup,.support-link,.nav-item,.action-card,.choice,.wave-button,.primary-action,.secondary-action,.support-card,.prompt-row button,.settings-list button{cursor:pointer;border:0}.brand-lockup{color:var(--ink);text-align:left;background:0 0;align-items:center;gap:10px;padding:0;display:flex}.brand-mark{background:linear-gradient(145deg, var(--plum), var(--rose));color:#fff;width:40px;height:40px;font-family:var(--display);letter-spacing:.04em;border-radius:14px;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid;box-shadow:0 12px 24px #4a2c4a2e}.brand-mark.large{border-radius:24px;width:68px;height:68px;margin-bottom:16px;font-size:21px}.brand-name,.brand-status{display:block}.brand-name{color:var(--ink);letter-spacing:-.02em;font-weight:800}.brand-status{color:var(--muted);margin-top:1px;font-size:12px}.support-link{color:var(--plum);background:#fff;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800;box-shadow:0 8px 22px #4a2c4a1a}.screen{padding:22px 18px 118px}.screen-heading{margin-bottom:22px}.screen-kicker,.card-label,.field-label{color:var(--purple);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}h1,h2,p{margin:0}h1{color:var(--ink);font-family:var(--display);letter-spacing:-.035em;margin-top:7px;font-size:34px;line-height:1.06}h2{color:var(--ink);letter-spacing:-.025em;font-size:20px;line-height:1.2}.lede{color:var(--muted);font-size:17px}.stack{gap:16px;display:grid}.soft-card,.permission-card,.privacy-note,.support-section,.story-card,.tool-section{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffc7}.soft-card,.story-card{padding:20px}.hero-card{background:linear-gradient(145deg,#ede3f7f5,#faf0f5f0);gap:18px;display:grid}.hero-card h2{font-size:19px}.hero-card p,.story-card p,.support-section p,.tool-card p{color:var(--muted);margin-top:8px}.wave-button,.primary-action{background:var(--purple);color:#fff;border-radius:999px;min-height:52px;font-weight:850;box-shadow:0 14px 24px #7e57c23d}.wave-button{width:100%}.primary-action:disabled{cursor:not-allowed;opacity:.45}.primary-action.compact{min-height:44px;padding-inline:16px}.quick-grid{gap:12px;display:grid}.action-card,.support-card{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#ffffffdb;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;display:grid;box-shadow:0 8px 18px #4a2c4a12}.action-card small,.support-card small{color:var(--muted);margin-top:3px;display:block}.icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.icon-tile{background:var(--lavender);width:48px;height:48px;color:var(--purple);border-radius:16px;place-items:center;display:grid}.permission-card{color:var(--plum);background:#faecf6cc;align-items:center;gap:12px;padding:16px;display:flex}.onboarding{place-items:center;padding:28px 18px;display:grid}.onboarding-card{border:1px solid var(--line);background:#ffffffd1;border-radius:30px;width:min(100%,470px);padding:28px 22px;box-shadow:0 30px 70px #4a2c4a2e}.onboarding-card h1{font-size:34px}.age-panel{gap:10px;margin-top:22px;display:grid}.choice{border:1px solid var(--line);min-height:52px;color:var(--ink);background:#fff;border-radius:18px;font-weight:800}.choice.selected{border-color:var(--purple);background:var(--lavender);color:var(--plum)}.choice.danger.selected{background:#fff1f1;border-color:#c77979}.notice,.privacy-note{color:var(--muted);border:1px solid var(--line);background:#ffffffb8;border-radius:18px;margin-top:14px;padding:14px}.notice.danger{color:#8e3434;background:#fff1f1;border-color:#c97b7b73}.onboarding .primary-action{width:100%;margin-top:16px}.mood-grid{flex-wrap:wrap;gap:9px;display:flex}.mood{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:10px 13px;font-weight:750}.mood.selected{background:var(--purple);border-color:var(--purple);color:#fff}.text-field,.journal-field{color:var(--ink);gap:10px;font-weight:800;display:grid}textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:112px;color:var(--ink);font:inherit;background:#ffffffd1;border-radius:22px;padding:16px;line-height:1.45}.journal-field textarea{min-height:260px}.saved-note{color:var(--muted);font-style:italic}.prompt-row{flex-wrap:wrap;gap:8px;display:flex}.prompt-row button,.secondary-action{color:var(--plum);border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 13px;font-weight:750}.tool-section,.support-section{padding:17px}.tool-list,.resource-list{gap:10px;margin-top:12px;display:grid}.tool-card,.resource-card{background:#f7f1e8b3;border:1px solid #d4cadaa6;border-radius:18px;justify-content:space-between;gap:14px;padding:14px;text-decoration:none;display:flex}.tool-card span,.resource-card small{color:var(--purple);flex:none;font-size:13px;font-weight:800}.resource-card{gap:3px;display:grid}.resource-card span{color:var(--ink);font-weight:850}.script-card,.grounding-card{background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:18px;margin-top:12px;padding:15px}.story-card blockquote{border-left:4px solid var(--rose);background:var(--cream);color:var(--plum);font-family:var(--display);border-radius:12px;margin:18px 0 0;padding:16px;font-size:20px;line-height:1.45}.wave-screen{text-align:center;place-items:center;gap:18px;display:grid}.breath-orb{background:radial-gradient(circle, #fff 36%, var(--blush) 37%, var(--lavender) 78%);border-radius:999px;width:174px;height:174px;animation:6s ease-in-out infinite breathe;box-shadow:0 28px 70px #7e57c23d}@keyframes breathe{0%,to{opacity:.82;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}.button-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.button-row.left{justify-content:flex-start}.settings-list{gap:10px;display:grid}.settings-list button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:18px;padding:16px;font-weight:800}.danger-text{color:#943b3b!important}.bottom-nav{z-index:30;width:min(100%,460px);padding:10px 10px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffeb;grid-template-columns:repeat(4,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -18px 36px #4a2c4a14}.nav-item{min-height:64px;color:var(--muted);background:0 0;border-radius:20px;place-items:center;gap:4px;font-size:12px;font-weight:800;display:grid}.nav-item.active{background:var(--lavender);color:var(--purple)}@media (width>=860px){.app-shell{border:1px solid var(--line);border-radius:36px;min-height:calc(100svh - 56px);margin-block:28px;overflow:hidden;box-shadow:0 32px 88px #4a2c4a24}.bottom-nav{border-radius:28px 28px 0 0}}@media (width<=390px){.brand-name{font-size:15px}.brand-status{font-size:11px}.support-link{padding-inline:10px;font-size:11px}h1{font-size:31px}}
