:root{color-scheme:light;--color-surface: oklch(95% .014 88);--color-surface-raised: oklch(98% .01 88);--color-ink: oklch(28% .028 64);--color-ink-soft: oklch(46% .024 64);--color-muted: oklch(60% .018 76);--color-hairline: oklch(86% .014 82);--color-hero: oklch(48% .075 205);--color-hero-press: oklch(42% .075 205);--color-on-hero: oklch(97% .012 88);--color-go: oklch(62% .13 152);--color-reward: oklch(80% .135 78);--color-calm: oklch(70% .07 255);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--text-hero: clamp(2.1rem, 1.3rem + 3.4vw, 3.1rem);--text-lead: clamp(1.25rem, 1.05rem + .9vw, 1.6rem);--text-body: clamp(1.05rem, .99rem + .3vw, 1.18rem);--text-small: .875rem;--leading-tight: 1.12;--leading-body: 1.5;--tracking-tight: -.021em;--weight-regular: 400;--weight-medium: 530;--weight-bold: 680;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--space-section: clamp(2rem, 1rem + 6vw, 5rem);--radius-pill: 999px;--radius-card: 22px;--shadow-hero: 0 22px 48px -14px oklch(48% .075 205 / .5), 0 6px 14px -6px oklch(28% .028 64 / .22);--shadow-hero-press: 0 10px 22px -12px oklch(48% .075 205 / .45), 0 3px 8px -5px oklch(28% .028 64 / .2);--shadow-soft: 0 10px 28px -12px oklch(28% .028 64 / .18);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .6s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-calm: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{background:var(--color-surface);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overscroll-behavior:none;-webkit-text-size-adjust:100%}#root{display:flex;flex-direction:column}h1,h2,h3{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-bold);text-wrap:balance}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}:focus-visible{outline:3px solid var(--color-hero);outline-offset:3px;border-radius:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.home{flex:1;display:grid;grid-template-rows:auto 1fr;width:100%;max-width:32rem;margin-inline:auto;padding:var(--space-4) var(--space-4) var(--space-6)}.home__top{display:flex;align-items:center;justify-content:space-between}.home__wordmark{font-size:var(--text-small);font-weight:var(--weight-medium);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted)}.home__settings{color:var(--color-muted);font-size:1.1rem;letter-spacing:.05em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);transition:color var(--duration-fast) var(--ease-calm)}.home__settings:hover{color:var(--color-ink-soft)}.home__wins{font-size:var(--text-small);color:var(--color-muted)}.home__center{align-self:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding-bottom:var(--space-5)}.home__lede{font-size:var(--text-lead);font-weight:var(--weight-medium);color:var(--color-ink-soft);text-align:center}.panic-button{--size: clamp(13rem, 9rem + 22vw, 17rem);inline-size:var(--size);block-size:var(--size);border-radius:var(--radius-pill);background:radial-gradient(130% 130% at 50% 28%,color-mix(in oklab,var(--color-hero) 88%,white) 0%,var(--color-hero) 58%,var(--color-hero-press) 100%);color:var(--color-on-hero);box-shadow:var(--shadow-hero);display:grid;place-items:center;position:relative;isolation:isolate;transition:transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.panic-button__label{font-size:clamp(1.5rem,1.1rem + 1.8vw,2rem);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.panic-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 #176a7266;z-index:-1;animation:panic-breath 3.6s var(--ease-calm) infinite}@keyframes panic-breath{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.06);opacity:0}}.panic-button:active{transform:scale(.97);box-shadow:var(--shadow-hero-press)}@media(prefers-reduced-motion:reduce){.panic-button:after{animation:none}}.home__reassure{max-inline-size:22rem;text-align:center;color:var(--color-muted);text-wrap:balance}.capture{flex:1;display:flex;flex-direction:column;width:100%;max-width:32rem;margin-inline:auto;padding:var(--space-4) var(--space-4) var(--space-6)}.capture__back{align-self:flex-start;color:var(--color-muted);font-size:var(--text-small);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);margin-left:calc(-1 * var(--space-2));border-radius:var(--radius-pill);transition:color var(--duration-fast) var(--ease-calm)}.capture__back:hover{color:var(--color-ink-soft)}.capture__form{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);padding-bottom:var(--space-5)}.capture__heading{font-size:var(--text-hero);color:var(--color-ink)}.capture__field{position:relative}.capture__input{width:100%;font:inherit;font-size:var(--text-lead);line-height:var(--leading-body);color:var(--color-ink);background:var(--color-surface-raised);border:2px solid var(--color-hairline);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);padding-right:3.75rem;resize:none;transition:border-color var(--duration-fast) var(--ease-calm)}.capture__input::placeholder{color:var(--color-muted)}.capture__input:focus{outline:none;border-color:var(--color-hero)}.capture__mic{position:absolute;top:var(--space-2);right:var(--space-2);inline-size:2.75rem;block-size:2.75rem;border-radius:var(--radius-pill);display:grid;place-items:center;font-size:1.15rem;background:var(--color-surface);border:1.5px solid var(--color-hairline);transition:transform var(--duration-fast) var(--ease-out-expo),background-color var(--duration-fast) var(--ease-calm)}.capture__mic.is-listening{background:color-mix(in oklab,var(--color-hero) 16%,var(--color-surface));border-color:var(--color-hero);animation:mic-pulse 1.4s var(--ease-calm) infinite}@keyframes mic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.capture__mic.is-listening{animation:none}}.capture__submit{align-self:stretch;font-size:var(--text-body);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-on-hero);background:var(--color-hero);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-soft);transition:transform var(--duration-fast) var(--ease-out-expo),background-color var(--duration-fast) var(--ease-calm),opacity var(--duration-fast) var(--ease-calm)}.capture__submit:active:not(:disabled){transform:scale(.98)}.capture__submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.rescue{flex:1;display:flex;flex-direction:column;width:100%;max-width:32rem;margin-inline:auto;padding:var(--space-5) var(--space-4) var(--space-6)}.rescue--center{align-items:center;justify-content:center;text-align:center;gap:var(--space-4)}.rescue__body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3)}.rescue__eyebrow{font-size:var(--text-small);font-weight:var(--weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.rescue__step{font-size:var(--text-hero);color:var(--color-ink);text-wrap:pretty}.rescue__ifthen{font-size:var(--text-lead);font-weight:var(--weight-regular);color:var(--color-ink-soft);text-wrap:pretty}.rescue__actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding-top:var(--space-5)}.rescue__done{inline-size:100%;font-size:var(--text-body);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-on-hero);background:var(--color-go);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-soft);transition:transform var(--duration-fast) var(--ease-out-expo)}.rescue__done:active{transform:scale(.98)}.rescue__done--wide{inline-size:min(100%,16rem);margin-top:var(--space-3)}.rescue__smaller,.rescue__stop{color:var(--color-muted);font-size:var(--text-body);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);transition:color var(--duration-fast) var(--ease-calm)}.rescue__smaller:hover,.rescue__stop:hover{color:var(--color-ink-soft)}.rescue__stop{font-size:var(--text-small)}.rescue__timer{margin-top:var(--space-4);min-block-size:3rem}.rescue__timer-start{color:var(--color-calm);font-size:var(--text-body);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1.5px solid color-mix(in oklab,var(--color-calm) 40%,transparent);transition:background-color var(--duration-fast) var(--ease-calm),border-color var(--duration-fast) var(--ease-calm)}.rescue__timer-start:hover{background:color-mix(in oklab,var(--color-calm) 12%,transparent)}.rescue__timer-live{display:flex;align-items:center;gap:var(--space-4)}.timer-ring__label{fill:var(--color-ink-soft);font-family:var(--font-sans);font-size:1.25rem;font-weight:var(--weight-medium)}.rescue__timer-stop{color:var(--color-ink-soft);font-size:var(--text-body);font-weight:var(--weight-medium);text-align:left}.rescue__timer-stop:hover{color:var(--color-ink)}.rescue__timer-done{color:var(--color-ink-soft);font-size:var(--text-body);text-wrap:pretty}.outcome__choices{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;max-inline-size:18rem;padding-top:var(--space-3)}.outcome__yes{inline-size:100%}.outcome__no{color:var(--color-muted);font-size:var(--text-body);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);transition:color var(--duration-fast) var(--ease-calm)}.outcome__no:hover{color:var(--color-ink-soft)}.thinking-dot{inline-size:1.1rem;block-size:1.1rem;border-radius:var(--radius-pill);background:var(--color-hero);animation:thinking-breath 1.5s var(--ease-calm) infinite}@keyframes thinking-breath{0%,to{transform:scale(.7);opacity:.5}50%{transform:scale(1);opacity:1}}.thinking-label{color:var(--color-muted)}@media(prefers-reduced-motion:reduce){.thinking-dot{animation:none;opacity:.8}}.settings{flex:1;display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:32rem;margin-inline:auto;padding:var(--space-4) var(--space-4) var(--space-6)}.settings__back{align-self:flex-start;color:var(--color-muted);font-size:var(--text-small);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);margin-left:calc(-1 * var(--space-2))}.settings__back:hover{color:var(--color-ink-soft)}.settings__heading{font-size:var(--text-hero)}.settings__stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--color-surface-raised);border-radius:var(--radius-card)}.settings__stat-number{font-size:3rem;font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-go);line-height:1}.settings__stat-label{color:var(--color-ink-soft)}.settings__group{display:flex;flex-direction:column;gap:var(--space-2)}.settings__action{align-self:flex-start;color:var(--color-on-hero);background:var(--color-hero);font-size:var(--text-body);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);box-shadow:var(--shadow-soft)}.settings__note{color:var(--color-muted);font-size:var(--text-small);text-wrap:pretty}.settings__danger{align-self:flex-start;color:#b63132;background:color-mix(in oklab,oklch(52% .17 25) 10%,transparent);font-size:var(--text-body);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill)}.settings__confirm{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.settings__confirm-text{color:var(--color-ink-soft);text-wrap:pretty}.settings__cancel{color:var(--color-muted);font-size:var(--text-body);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2)}.settings__cancel:hover{color:var(--color-ink-soft)}
