:root{--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--space-10:4rem;--space-12:6rem;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-pill:999px;--text-caption:clamp(.78rem, .74rem + .18vw, .875rem);--text-small:clamp(.875rem, .84rem + .18vw, 1rem);--text-body:clamp(1rem, .96rem + .2vw, 1.125rem);--text-body-lg:clamp(1.125rem, 1.07rem + .28vw, 1.25rem);--text-h4:clamp(1.25rem, 1.16rem + .45vw, 1.5rem);--text-h3:clamp(1.5rem, 1.36rem + .7vw, 1.953rem);--text-h2:clamp(1.953rem, 1.72rem + 1.16vw, 2.441rem);--text-h1:clamp(2.441rem, 2.05rem + 1.95vw, 3.5rem);--text-hero:clamp(3rem, 2.1rem + 4.5vw, 4.5rem);--lh-tight:1.1;--lh-heading:1.2;--lh-body:1.5;--lh-relaxed:1.6;--tracking-hero:-.02em;--tracking-heading:-.011em;--tracking-body:0em;--tracking-caps:.06em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--measure:66ch;--measure-narrow:60ch;--font-ui:system-ui, -apple-system, "Segoe UI Variable", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-display:"Fraunces", "Newsreader", Georgia, var(--font-ui);--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", monospace;--motion-instant:.1s;--motion-micro:.15s;--motion-exit:.25s;--motion-enter:.3s;--motion-max:.4s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-decelerate:cubic-bezier(.05, .7, .1, 1);--ease-accelerate:cubic-bezier(.3, 0, .8, .15);--ease-calm:cubic-bezier(.4, 0, .2, 1);--breath-period:4.5s;--breath-amplitude:.02}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131114;--surface:#1b181d;--surface-2:#232027;--surface-3:#2d2933;--hairline:#3a3640;--text-primary:#ece8f0;--text-secondary:#b7b1c2;--text-muted:#968fa6;--accent:#b9a7e8;--accent-strong:#c9b8f2;--accent-ink:#1b161f;--accent-quiet:#2a2436;--focus-ring:#b9a7e8;--danger:#f0a8a8;--positive:#8fe3b8;--glow:0 0 60px -12px #b9a7e859;--shadow-sheet:0 24px 60px -24px #0009;--grad:-40}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf8fc;--surface:#fff;--surface-2:#f4f1f8;--surface-3:#ece8f2;--hairline:#e0dbe8;--text-primary:#1b1620;--text-secondary:#4a4356;--text-muted:#6e6678;--accent:#6d4fc7;--accent-strong:#5b3fb0;--accent-ink:#fff;--accent-quiet:#efeafb;--focus-ring:#6d4fc7;--danger:#b4332e;--positive:#1f7a4d;--glow:0 0 60px -16px #6d4fc738;--shadow-sheet:0 24px 60px -28px #1c162040;--grad:0}:root{--accent:var(--user-accent,var(--accent));--btn-primary-bg:var(--accent);--btn-primary-text:var(--accent-ink);--card-bg:var(--surface);--card-border:var(--hairline);--input-bg:var(--surface);--input-border:var(--hairline);--chip-bg:var(--surface-2);--glass-bg:var(--surface-2);--glass-blur:18px}html{-webkit-text-size-adjust:100%;font-size:100%}body{font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--lh-body);color:var(--text-primary);background:var(--bg);font-variation-settings:"GRAD" var(--grad);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}.prose,article,p{max-width:var(--measure)}.prose p+p{margin-block-start:1.25em}input,select,textarea,button{font-family:inherit;font-size:max(1rem, var(--text-small))}@media (pointer:coarse){input,select,textarea{font-size:16px}}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}button,a[role=button],.tap{min-height:44px}::selection{background:var(--accent-quiet);color:var(--text-primary)}@media (prefers-reduced-motion:reduce){:not(.rig):not(.rig *){scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root{--breath-amplitude:.004}}.glass{background:var(--glass-bg)}@media (prefers-reduced-transparency:no-preference){@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:color-mix(in oklab, var(--glass-bg) 72%, transparent);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);backdrop-filter:blur(var(--glass-blur)) saturate(1.4)}}}@media (prefers-contrast:more){:root{--hairline:var(--text-secondary)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (forced-colors:active){.btn-primary{color:buttontext;background:buttonface;border:1px solid buttontext}.card,.glass{border:1px solid canvastext}}#app{min-height:100dvh}*{box-sizing:border-box}[hidden]{display:none!important}body{-webkit-tap-highlight-color:transparent}img,svg{display:block}.topbar{align-items:center;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-1) 0;flex-wrap:nowrap;display:flex}@media (width<=480px){.topbar{gap:var(--space-2)}.ghost-chip{padding:.5rem .65rem}.auth-label{display:none}}.brand{align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);letter-spacing:.04em;color:var(--text-primary);display:inline-flex}.brand .mark{border-radius:10px;width:34px;height:34px}.ghost-chip{font-size:var(--text-small);font-weight:var(--weight-medium);border-radius:var(--radius-pill);border:1px solid var(--hairline);min-height:40px;color:var(--text-secondary);cursor:pointer;transition:color var(--motion-micro) var(--ease-standard), border-color var(--motion-micro) var(--ease-standard);background:0 0;margin-left:auto;padding:.5rem .9rem}.ghost-chip+.ghost-chip{margin-left:var(--space-2)}.ghost-chip:hover{color:var(--text-primary);border-color:var(--accent)}.ghost-chip.signed-in{color:var(--positive);border-color:color-mix(in oklab, var(--positive) 40%, transparent)}.clay,.cta{appearance:none;width:100%;max-width:22rem;min-height:3.25rem;font-size:var(--text-body-lg);font-weight:var(--weight-semibold);color:var(--accent-ink);background:linear-gradient(180deg, var(--accent-strong), var(--accent));border-radius:var(--radius-md);cursor:pointer;box-shadow:0 1px 0 #ffffff38 inset, 0 12px 26px -10px color-mix(in oklab, var(--accent) 60%, transparent), 0 2px 4px #00000040;transition:transform var(--motion-instant) var(--ease-standard), filter var(--motion-micro) var(--ease-standard);border:none;padding:0 1.5rem}.clay:hover,.cta:hover{filter:brightness(1.05)}.clay:active,.cta:active{transform:scale(.98)}.clay:disabled,.cta:disabled{background:var(--surface-2);color:var(--text-muted);box-shadow:none;cursor:default}.link-btn{color:var(--text-secondary);font:inherit;font-size:var(--text-small);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;min-height:40px;padding:.45rem;text-decoration:underline}.link-btn:hover{color:var(--text-primary)}.landing{align-items:center;gap:var(--space-6);max-width:36rem;min-height:100dvh;padding:calc(env(safe-area-inset-top) + var(--space-3)) var(--space-5) calc(env(safe-area-inset-bottom) + var(--space-6));text-align:center;flex-direction:column;margin:0 auto;display:flex}.hero{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;flex:1;display:flex}.landing .hero>*,.landing .trust li{animation:reveal var(--motion-enter) var(--ease-decelerate) both}.landing .hero>:first-child{animation-delay:40ms}.landing .hero>:nth-child(2){animation-delay:.12s}.landing .hero>:nth-child(3){animation-delay:.2s}.landing .hero>:nth-child(4){animation-delay:.28s}.landing .hero>:nth-child(5){animation-delay:.36s}.landing .hero>:nth-child(6){animation-delay:.44s}.landing .trust li:first-child{animation-delay:.5s}.landing .trust li:nth-child(2){animation-delay:.56s}.landing .trust li:nth-child(3){animation-delay:.62s}.hero .presence{aspect-ratio:1;width:min(62vw,240px);margin-bottom:var(--space-2);place-items:center;display:grid;position:relative}.hero .presence:before{content:"";background:radial-gradient(circle, color-mix(in oklab, var(--accent) 26%, transparent) 0%, color-mix(in oklab, var(--accent) 10%, transparent) 44%, transparent 70%);filter:blur(10px);pointer-events:none;animation:breathe-aura var(--breath-period) var(--ease-calm) infinite;border-radius:50%;position:absolute;inset:-16%}.presence-orb{aspect-ratio:1;background:radial-gradient(circle at 38% 32%, color-mix(in oklab, var(--accent) 92%, white) 0%, var(--accent) 38%, color-mix(in oklab, var(--accent) 58%, var(--bg)) 80%, color-mix(in oklab, var(--accent) 24%, transparent) 100%);width:64%;box-shadow:var(--glow), inset -7px -9px 26px color-mix(in oklab, var(--bg) 52%, transparent), inset 7px 9px 22px oklab(100% 0 5.96046e-8/.2);animation:breathe var(--breath-period) var(--ease-calm) infinite;border-radius:50%;position:relative}.presence-orb:after{content:"";filter:blur(4px);pointer-events:none;background:radial-gradient(circle,oklab(100% 0 5.96046e-8/.6),#0000 72%);border-radius:50%;width:38%;height:30%;position:absolute;top:13%;left:19%}@keyframes breathe{0%,to{opacity:.94;transform:scale(1)}50%{transform:scale(calc(1 + var(--breath-amplitude)));opacity:1}}@keyframes breathe-aura{0%,to{opacity:.66;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.eyebrow{text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--text-muted)}.hero-title{font-family:var(--font-display);font-size:var(--text-h1);line-height:var(--lh-tight);letter-spacing:var(--tracking-heading);font-weight:var(--weight-semibold);color:var(--text-primary);text-wrap:balance;margin:0}.hero-title em{color:var(--accent);font-style:italic}.hero-sub{max-width:30rem;color:var(--text-secondary);line-height:var(--lh-relaxed);text-wrap:pretty}.micro{font-size:var(--text-caption);color:var(--text-muted)}.trust{gap:var(--space-3);width:100%;margin:0;padding:0;list-style:none;display:grid}.trust li{column-gap:var(--space-3);text-align:left;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;display:grid}.trust .ic{width:22px;height:22px;color:var(--accent);grid-row:1/3}.trust b{font-weight:var(--weight-semibold);color:var(--text-primary)}.trust span{font-size:var(--text-small);color:var(--text-muted)}.session{max-width:32rem;height:100dvh;padding:calc(env(safe-area-inset-top) + var(--space-3)) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-3));flex-direction:column;margin:0 auto;display:flex;position:relative}.session .topbar{flex:none}.presence{height:26dvh;min-height:170px;margin:var(--space-1) 0 var(--space-2);flex:none;place-items:center;display:grid;position:relative}.presence:before{content:"";aspect-ratio:1;background:radial-gradient(circle, color-mix(in oklab, var(--accent) 24%, transparent), transparent 70%);filter:blur(8px);pointer-events:none;width:min(52vw,230px);animation:breathe var(--breath-period) var(--ease-calm) infinite;border-radius:50%;transition:opacity 90ms linear,transform 90ms linear;position:absolute}.presence[data-state=listening]:before{background:radial-gradient(circle, color-mix(in oklab, var(--accent) 30%, transparent), transparent 70%)}.presence[data-state=responding]:before{background:radial-gradient(circle, color-mix(in oklab, var(--accent) 32%, transparent), transparent 70%);opacity:calc(.78 + var(--halo,0) * .55);transform:scale(calc(1 + var(--halo,0) * .05));animation:none}.avatar{width:100%;height:100%;position:absolute;inset:0}.avatar-loading{justify-content:center;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-small);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.avatar-loading[hidden]{display:none}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.presence-state{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:color-mix(in oklab, var(--bg) 78%, var(--surface));font-size:var(--text-caption);letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:6px;padding:3px 12px;display:inline-flex;position:absolute;bottom:2px}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.presence-state{background:color-mix(in oklab, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(8px)saturate(1.1);backdrop-filter:blur(8px)saturate(1.1)}}.conn-dot{background:var(--hairline);width:7px;height:7px;transition:background var(--motion-micro);border-radius:50%}.conn-dot.ok{background:var(--positive);box-shadow:0 0 8px -1px var(--positive)}.conn-dot.down{background:var(--danger)}.thread{gap:var(--space-2);width:100%;padding:var(--space-2) 0;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.thread-empty{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;max-width:24rem;margin:auto;display:flex}.thread-empty p{color:var(--text-muted);font-size:var(--text-small);line-height:var(--lh-relaxed);margin:0}.suggest{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.suggest-chip{font-size:var(--text-small);border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface);min-height:40px;color:var(--text-secondary);cursor:pointer;transition:color var(--motion-micro), border-color var(--motion-micro), background var(--motion-micro);padding:.5rem .9rem}.suggest-chip:hover{color:var(--text-primary);border-color:var(--accent);background:var(--accent-quiet)}.bubble{border-radius:var(--radius-md);max-width:82%;font-size:var(--text-body);line-height:var(--lh-body);white-space:pre-wrap;overflow-wrap:anywhere;padding:.6rem .9rem}.bubble p{white-space:normal;margin:0}.bubble p+p,.bubble p+.code-block,.bubble .code-block+p,.bubble ul+p,.bubble ol+p,.bubble p+ul,.bubble p+ol{margin-top:.55em}.bubble code{font-family:var(--font-mono);background:var(--surface-3);border-radius:var(--radius-sm);padding:.08em .35em;font-size:.9em}.bubble .code-block{background:var(--surface-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);white-space:pre;margin:0;padding:.55rem .7rem;overflow-x:auto}.bubble .code-block code{font-size:var(--text-small);line-height:var(--lh-relaxed);background:0 0;padding:0}.bubble ul,.bubble ol{white-space:normal;margin:0;padding-left:1.2em}.bubble li+li{margin-top:.25em}.bubble--assistant{background:var(--surface-2);border:1px solid var(--hairline);color:var(--text-primary);border-bottom-left-radius:var(--radius-sm);align-self:flex-start;position:relative}.bubble.grouped{margin-top:calc(var(--space-2) * -.55)}.bubble--user.grouped{border-top-right-radius:var(--radius-sm)}.bubble--user.grouped-prev{border-bottom-right-radius:var(--radius-sm)}.bubble--assistant.grouped{border-top-left-radius:var(--radius-sm)}.bubble--assistant.grouped-prev{border-bottom-left-radius:var(--radius-sm)}.bubble[data-time]:after{content:attr(data-time);font-size:var(--text-caption);color:var(--text-muted);opacity:0;pointer-events:none;transition:opacity var(--motion-micro);white-space:nowrap;position:absolute;bottom:2px}.bubble--user[data-time]:after{right:calc(100% + var(--space-2))}.bubble--assistant[data-time]:after{left:calc(100% + var(--space-2))}.bubble:hover[data-time]:after,.bubble:focus-within[data-time]:after{opacity:1}.bubble-share{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--motion-micro), color var(--motion-micro), border-color var(--motion-micro);background:0 0;border:1px solid #0000;place-items:center;display:grid;position:absolute;bottom:2px;right:-36px}.bubble--assistant:hover .bubble-share,.bubble--assistant:focus-within .bubble-share{opacity:1}.bubble-share:hover,.bubble-share:focus-visible{color:var(--accent);border-color:var(--hairline)}@media (hover:none){.bubble-share{opacity:.45}}.bubble--user{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:var(--accent-ink);border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.thread-divider{margin:var(--space-2) 0;align-self:center;align-items:center;gap:var(--space-3);font-size:var(--text-caption);letter-spacing:.06em;text-transform:lowercase;color:var(--text-muted);display:inline-flex}.thread-divider:before,.thread-divider:after{content:"";background:var(--hairline);width:2rem;height:1px}.genre-chips{justify-content:flex-start;align-self:flex-start;margin:2px 0}.bubble--song .song-title{font-weight:var(--weight-semibold);color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.song-eq{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.song-eq i{background:var(--accent);transform-origin:bottom;width:3px;height:100%;animation:eq .9s var(--ease-calm) infinite;border-radius:2px}.song-eq i:nth-child(2){animation-delay:.15s}.song-eq i:nth-child(3){animation-delay:.3s}.song-eq i:nth-child(4){animation-delay:.45s}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.song-title.done .song-eq i{opacity:.5;animation:none;transform:scaleY(.3)}.bubble--song .song-line{color:var(--text-secondary);line-height:var(--lh-relaxed);transition:color var(--motion-micro)}.bubble--song .song-line.sung{color:var(--text-muted)}.bubble--song .song-line.current{color:var(--text-primary)}.bubble--song .song-word{transition:color var(--motion-micro)}.bubble--song .song-word.sung{color:var(--text-secondary)}.bubble--song .song-word.current{color:var(--accent);font-weight:var(--weight-medium)}.bubble--typing{padding:.7rem .95rem}.dots{align-items:center;gap:4px;display:inline-flex}.dots i{background:var(--text-muted);width:6px;height:6px;animation:dot 1.2s var(--ease-calm) infinite;border-radius:50%}.dots i:nth-child(2){animation-delay:.18s}.dots i:nth-child(3){animation-delay:.36s}@keyframes dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.msg-status{font-size:var(--text-caption);color:var(--text-muted);align-self:flex-end;margin:-2px .2rem 0}.hint{font-size:var(--text-caption);color:var(--text-muted);text-align:center;padding:var(--space-1) 0;flex:none}.hint[hidden]{display:none}.jump-latest{z-index:20;border-radius:var(--radius-pill);border:1px solid var(--hairline);background:color-mix(in oklab, var(--surface-2) 88%, transparent);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sheet);animation:reveal var(--motion-enter) var(--ease-decelerate) both;place-items:center;display:grid;position:absolute;bottom:5.25rem;left:50%;transform:translate(-50%)}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.jump-latest{background:color-mix(in oklab, var(--surface-2) 60%, transparent);-webkit-backdrop-filter:blur(8px)saturate(1.1);backdrop-filter:blur(8px)saturate(1.1)}}.jump-latest:hover{color:var(--text-primary);border-color:var(--accent)}.jump-latest[hidden]{display:none}.composer{align-items:flex-end;gap:var(--space-2);padding-top:var(--space-2);flex:none;display:flex}.send-btn:disabled{opacity:.45;cursor:default;filter:none}.mic-btn,.send-btn{border-radius:var(--radius-pill);border:1px solid var(--hairline);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:color var(--motion-micro), border-color var(--motion-micro), background var(--motion-micro), filter var(--motion-micro);background:0 0;flex:none;place-items:center;display:grid}.mic-btn:hover{color:var(--text-primary);border-color:var(--accent)}.mic-btn.is-live{color:var(--accent-ink);background:linear-gradient(180deg, var(--accent-strong), var(--accent));animation:mic-pulse 2.4s var(--ease-calm) infinite;border-color:#0000}@keyframes mic-pulse{50%{box-shadow:0 0 0 6px color-mix(in oklab, var(--accent) 16%, transparent)}}.send-btn{color:var(--accent-ink);background:linear-gradient(180deg, var(--accent-strong), var(--accent));border-color:#0000}.send-btn:hover{filter:brightness(1.06)}.msg-input{border-radius:var(--radius-lg);border:1px solid var(--input-border);background:var(--surface);min-width:0;min-height:44px;max-height:132px;color:var(--text-primary);font-family:inherit;line-height:var(--lh-body);resize:none;scrollbar-width:none;flex:1;padding:.6rem 1rem;overflow-y:auto}.msg-input::-webkit-scrollbar{display:none}.msg-input:focus-visible{border-color:var(--accent);outline-offset:0}.dev{border-top:1px dashed var(--hairline);width:100%;padding-top:var(--space-3)}.dev-label{font-size:var(--text-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-bottom:var(--space-2)}.dev-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.dev-btn{font-size:var(--text-small);background:var(--surface-2);min-height:36px;color:var(--text-secondary);border:1px solid var(--hairline);border-radius:var(--radius-sm);cursor:pointer;padding:.4rem .7rem}.dev-btn:active{background:var(--surface-3)}.dev-btn--accent{border-color:var(--accent);color:var(--accent)}.login{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);padding:var(--space-5);width:min(92vw,380px);box-shadow:var(--shadow-sheet)}.login::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06060a9e}.login-title{margin:0 0 var(--space-1);font-size:var(--text-h4)}.login-sub{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-small);line-height:var(--lh-body)}.login-step{gap:var(--space-3);flex-direction:column;display:flex}.login-input{border-radius:var(--radius-sm);border:1px solid var(--input-border);background:var(--bg);width:100%;color:var(--text-primary);padding:.75rem .9rem}.login-input:focus-visible{border-color:var(--accent);outline-offset:0}.login-code{letter-spacing:.35em;text-align:center;font-size:var(--text-h4)}.login-error{color:var(--danger);font-size:var(--text-small);margin:var(--space-3) 0 0}.login-close{margin:var(--space-3) auto 0;display:block}#login-passkey{justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.login-or{text-align:center;font-size:var(--text-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin:0}.toast-dismiss{font:inherit;font-size:var(--text-small);color:var(--text-muted);cursor:pointer;background:0 0;border:none;min-height:36px;padding:.4rem .2rem}.toast-dismiss:hover{color:var(--text-secondary)}.sheet{border:1px solid var(--hairline);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);width:100%;max-width:34rem;max-height:92dvh;color:var(--text-primary);padding:var(--space-3) var(--space-5) calc(env(safe-area-inset-bottom) + var(--space-5));box-shadow:var(--shadow-sheet);animation:sheet-up var(--motion-enter) var(--ease-decelerate);border-bottom:none;margin:auto auto 0;overflow-y:auto}.sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06060a9e}@keyframes sheet-up{0%{opacity:0;transform:translateY(10%)}}.sheet-grip{background:var(--hairline);width:36px;height:4px;margin:0 auto var(--space-3);border-radius:999px}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.sheet-title{font-size:var(--text-h4);font-weight:var(--weight-semibold);margin:0}.sheet-sub{color:var(--text-secondary);font-size:var(--text-small);line-height:var(--lh-body);margin:.2rem 0 0}.icon-btn{border-radius:var(--radius-pill);border:1px solid var(--hairline);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:color var(--motion-micro), border-color var(--motion-micro);background:0 0;flex:none;place-items:center;display:grid}.icon-btn:hover{color:var(--text-primary);border-color:var(--accent)}.mem-section{margin-top:var(--space-5)}.mem-section-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.mem-label{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);margin:0}.mem-count{font-size:var(--text-caption);color:var(--text-muted)}.mem-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--text-small);line-height:var(--lh-relaxed);border:1px dashed var(--hairline);border-radius:var(--radius-md);margin:0}.mem-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mem-card{padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-2);transition:border-color var(--motion-micro)}.mem-card:hover{border-color:color-mix(in oklab, var(--accent) 35%, var(--hairline))}.mem-card.is-hidden{opacity:.5}.mem-card--boundary{border-left:2px solid var(--accent)}.mem-card-fact{margin:0 0 var(--space-2);font-size:var(--text-body);line-height:var(--lh-body);color:var(--text-primary)}.mem-card-foot{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.mem-chip{font-size:var(--text-caption);letter-spacing:.02em;color:var(--text-muted)}.mem-chip--boundary{color:var(--accent)}.mem-card-actions{gap:var(--space-1);opacity:.75;transition:opacity var(--motion-micro);display:flex}.mem-card:hover .mem-card-actions,.mem-card:focus-within .mem-card-actions{opacity:1}.mem-ic{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:color var(--motion-micro), background var(--motion-micro);background:0 0;border:none;place-items:center;display:grid}.mem-ic:hover{color:var(--text-primary);background:var(--surface-3)}.mem-ic--danger:hover{color:var(--danger)}.mem-safety{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--hairline)}.mem-safety-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.mem-safety-copy{min-width:0}.mem-safety-status{font-size:var(--text-small);color:var(--text-secondary);margin:.2rem 0 0}.mem-age-entry{margin-top:var(--space-4);animation:reveal var(--motion-enter) var(--ease-decelerate) both}.dob{align-items:center;gap:var(--space-2);display:flex}.dob-field{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--input-border);background:var(--bg);width:3.2rem;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:.08em;padding:.7rem .4rem}.dob-field.dob-year{width:4.6rem}.dob-field:focus-visible{border-color:var(--accent);outline-offset:0}.dob-sep{color:var(--text-muted)}.clay--sm{width:auto;max-width:none;min-height:2.7rem;font-size:var(--text-small);margin-left:auto;padding:0 1.1rem}.mem-fine{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--text-caption);line-height:var(--lh-body)}.sheet-foot{margin-top:var(--space-6)}.danger-btn{width:100%;min-height:44px;font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--text-muted);border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;transition:color var(--motion-micro), border-color var(--motion-micro), background var(--motion-micro);background:0 0;padding:0 1rem}.danger-btn:hover{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 45%, transparent)}.danger-btn.is-armed{color:var(--accent-ink);background:var(--danger);border-color:var(--danger);font-weight:var(--weight-semibold)}.pwa-toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 5.5rem);z-index:50;align-items:center;gap:var(--space-3);border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--hairline);max-width:calc(100vw - 2rem);box-shadow:var(--shadow-sheet);font-size:var(--text-small);color:var(--text-secondary);padding:.55rem .55rem .55rem 1rem;display:flex;position:fixed;transform:translate(-50%)}.pwa-toast-btn{border-radius:var(--radius-pill);min-height:36px;font:inherit;font-weight:var(--weight-semibold);color:var(--accent-ink);background:linear-gradient(180deg, var(--accent-strong), var(--accent));cursor:pointer;border:none;flex:none;padding:.4rem .9rem}.reveal{animation:reveal var(--motion-enter) var(--ease-decelerate) both}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bubble.reveal{animation-name:bubble-in}.bubble--user.reveal{transform-origin:100% 100%}.bubble--assistant.reveal{transform-origin:0 100%}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:none}}
