:root{--bg-base: #faf7f4;--bg-elevated: #fffdfb;--bg-sunken: #f3ede7;--ink-primary: #1a120e;--ink-secondary: rgba(26, 18, 14, .64);--ink-tertiary: rgba(26, 18, 14, .4);--ink-quaternary: rgba(26, 18, 14, .14);--ink-disabled: rgba(26, 18, 14, .3);--accent-core: #e8590c;--accent-soft: rgba(232, 89, 12, .1);--accent-deep: #c44a0a;--accent-on: #ffffff;--bubble-owner-bg: #1a120e;--bubble-owner-ink: #faf7f4;--bubble-avva-bg: #fffdfb;--bubble-avva-ink: #1a120e;--echo-bg: rgba(26, 18, 14, .55);--echo-ink: #faf7f4;--shadow-card: rgba(26, 18, 14, .08);--radius-pill: 999px;--radius-bubble: 22px;--radius-bento: 20px;--radius-card: 16px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-xxl: 32px;--font-body: 1.0625rem;--font-body-sm: .9375rem;--font-bubble: 1rem;--font-caption: .8125rem;--font-title: 1.75rem;--font-kicker: .75rem;--kicker-tracking: .08em}@media(prefers-color-scheme:dark){:root{--bg-base: #171210;--bg-elevated: #221a16;--bg-sunken: #100c0a;--ink-primary: #faf7f4;--ink-secondary: rgba(250, 247, 244, .64);--ink-tertiary: rgba(250, 247, 244, .4);--ink-quaternary: rgba(250, 247, 244, .14);--ink-disabled: rgba(250, 247, 244, .3);--accent-soft: rgba(232, 89, 12, .15);--bubble-owner-bg: #faf7f4;--bubble-owner-ink: #1a120e;--bubble-avva-bg: #221a16;--bubble-avva-ink: #faf7f4;--echo-bg: rgba(250, 247, 244, .55);--echo-ink: #1a120e;--shadow-card: rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--font-body);line-height:1.45;color:var(--ink-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{height:100%}button{font:inherit;border:none;cursor:pointer;background:none;color:inherit;padding:0}textarea,input{font:inherit;color:inherit}textarea:focus-visible,input:focus-visible,button:focus-visible{outline:2px solid var(--accent-core);outline-offset:2px}.entry{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:var(--bg-base)}.entry__card{width:min(26rem,100%);background:var(--bg-elevated);border-radius:var(--radius-bento);box-shadow:0 8px 32px var(--shadow-card);padding:var(--space-xxl) var(--space-xl);text-align:center}.entry__kicker{font-size:var(--font-kicker);letter-spacing:var(--kicker-tracking);text-transform:uppercase;color:var(--ink-tertiary);margin-bottom:var(--space-sm)}.entry__title{font-size:var(--font-title);font-weight:700;margin:0 0 var(--space-lg)}.entry__note{font-size:var(--font-body-sm);color:var(--ink-secondary);margin:0 0 var(--space-lg)}.entry__input{width:100%;border:1px solid var(--ink-quaternary);background:var(--bg-sunken);border-radius:var(--radius-pill);padding:.8em 1.2em;margin-bottom:var(--space-md)}.entry__button{width:100%;background:var(--accent-core);color:var(--accent-on);border-radius:var(--radius-pill);padding:.8em 1.2em;font-weight:600}.entry__button:active{background:var(--accent-deep)}.entry__button:disabled{background:var(--ink-disabled);cursor:default}.entry__spinner{display:inline-block;width:1.25em;height:1.25em;border:2px solid var(--accent-soft);border-top-color:var(--accent-core);border-radius:50%;animation:avva-spin .9s linear infinite}@keyframes avva-spin{to{transform:rotate(360deg)}}.thread{height:100%;display:flex;flex-direction:column;max-width:40rem;margin:0 auto;padding:0 var(--space-lg)}.thread__chip-zone{padding-top:env(safe-area-inset-top,0)}.thread__messages{flex:1;overflow-y:auto;padding:var(--space-lg) 0;display:flex;flex-direction:column;gap:var(--space-sm)}.thread__composer{padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0))}.bubble{max-width:86%;border-radius:var(--radius-bubble);padding:.6em 1em;font-size:var(--font-bubble);white-space:pre-wrap;overflow-wrap:anywhere}.bubble--owner{align-self:flex-end;background:var(--bubble-owner-bg);color:var(--bubble-owner-ink);border-bottom-right-radius:6px}.bubble--avva{align-self:flex-start;background:var(--bubble-avva-bg);color:var(--bubble-avva-ink);box-shadow:0 2px 12px var(--shadow-card);border-bottom-left-radius:6px}.bubble--echo{background:var(--echo-bg);color:var(--echo-ink)}.bubble--unknown{font-style:italic;color:var(--ink-secondary);background:var(--bg-sunken)}.bubble__meta{display:block;margin-top:2px;font-size:var(--font-caption);opacity:.7}.draft .bubble__caret{display:inline-block;width:.55em;height:1.05em;margin-left:2px;vertical-align:text-bottom;background:var(--accent-core);animation:avva-blink 1.1s steps(1) infinite}@keyframes avva-blink{50%{opacity:0}}.phase{align-self:flex-start;display:inline-flex;align-items:center;gap:.5em;font-size:var(--font-caption);color:var(--ink-secondary);padding:.2em .6em}.phase__dot{width:.5em;height:.5em;border-radius:50%;background:var(--accent-core);animation:avva-pulse 1.2s ease-in-out infinite}.phase--paused .phase__dot{background:var(--ink-disabled);animation:none}@keyframes avva-pulse{0%,to{opacity:1}50%{opacity:.35}}.offline-chip{align-self:center;margin:var(--space-md) auto 0;background:var(--accent-soft);color:var(--accent-deep);border-radius:var(--radius-pill);padding:.45em 1.1em;font-size:var(--font-caption);animation:avva-chip-pulse 2.4s ease-in-out infinite;transition:opacity .4s ease}@keyframes avva-chip-pulse{0%,to{opacity:1}50%{opacity:.6}}.composer-wrap{display:flex;align-items:flex-end;gap:var(--space-sm)}.composer{flex:1;display:flex;align-items:flex-end;gap:var(--space-sm);background:var(--bg-elevated);border-radius:var(--radius-pill);border:1px solid var(--ink-quaternary);padding:.35em .35em .35em 1.1em}.composer__input{flex:1;resize:none;border:none;outline:none;background:transparent;max-height:8em;padding:.55em 0;line-height:1.35}.composer__input::placeholder{color:var(--ink-tertiary)}.composer__send,.composer__mic{flex:none;width:2.5rem;height:2.5rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-core);color:var(--accent-on)}.composer__send:disabled{background:var(--ink-disabled)}.composer__mic--recording{background:var(--accent-deep);animation:avva-pulse 1.2s ease-in-out infinite}.voice{display:flex;align-items:center;gap:.7em;min-width:12em}.voice__play{flex:none;width:2.2rem;height:2.2rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-core);color:var(--accent-on)}.voice__wave{flex:1;height:1.4em;display:flex;align-items:center;gap:2px}.voice__bar{flex:1;border-radius:2px;background:var(--accent-core);opacity:.32}.voice__bar--played{opacity:1}.voice__duration{font-size:var(--font-caption);opacity:.7;font-variant-numeric:tabular-nums}.empty-hint{align-self:center;margin:auto;color:var(--ink-tertiary);font-size:var(--font-body-sm);padding:var(--space-xl)}.thread__loading{align-self:center;margin:auto}@media(prefers-reduced-motion:reduce){.draft .bubble__caret,.phase__dot,.offline-chip,.entry__spinner,.composer__mic--recording{animation:none}}
