@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.08);opacity:.95}}.orb-stage{position:relative;width:340px;height:340px;max-width:72vw;max-height:72vw;display:flex;align-items:center;justify-content:center}.orb-shadow{position:absolute;left:50%;bottom:6px;transform:translate(-50%);width:190px;height:30px;border-radius:50%;background:radial-gradient(closest-side,rgba(190,40,70,.22),transparent);filter:blur(9px);pointer-events:none}.orb-bloom-a{position:absolute;left:50%;top:50%;width:460px;height:460px;max-width:90vw;max-height:90vw;border-radius:50%;background:radial-gradient(circle,#FFC2D2 0%,#FFD9C9 42%,transparent 70%);filter:blur(44px);transform:translate(-50%,-50%);animation:glowPulse 6s ease-in-out infinite;pointer-events:none;transition:opacity .5s ease}.phase-listening .orb-bloom-a,.phase-speaking .orb-bloom-a{opacity:1}.dark .orb-bloom-a{background:radial-gradient(circle,#7C3350 0%,#5E3242 42%,transparent 70%);opacity:.55}.dark .orb-shadow{background:radial-gradient(closest-side,rgba(0,0,0,.45),transparent)}.orb{position:relative;width:300px;height:300px;max-width:64vw;max-height:64vw;border:none;padding:0;background:transparent;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent;transition:transform .2s ease}.orb:hover{transform:scale(1.02)}.orb:active{transform:scale(.98)}.orb:focus-visible{outline:2px solid rgba(240,86,139,.5);outline-offset:10px}.orb-gl{position:absolute;top:0;right:0;bottom:0;left:0;filter:drop-shadow(0 14px 26px rgba(190,45,85,.28))}.orb-fallback{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 50% 44%,#ffdde9,#f58fb4 68%,#ec6f9c);filter:drop-shadow(0 14px 26px rgba(190,45,85,.28));opacity:.55}@media(prefers-reduced-motion:reduce){.orb-bloom-a{animation:none!important}}:root{--grad-app: #F3EFE7;--window-bg: #FAF7F2;--sidebar-grad: #F3EEE6;--main-grad: #F9F6F0;--border-soft: rgba(85, 30, 45, .08);--border-soft-2: rgba(85, 30, 45, .11);--border-soft-3: rgba(85, 30, 45, .14);--border-dash: rgba(85, 30, 45, .24);--surface: #FFFFFF;--surface-soft: #F6F1E9;--surface-strong: #FFFFFF;--surface-hover: #FFFFFF;--surface-active: #FFFFFF;--pill-bg: #FFFFFF;--text-primary: #2E1B20;--text-secondary: #5C4048;--text-tertiary: #6E525A;--text-muted: #997F85;--text-faint: #B29AA0;--text-faint-2: #A78E95;--accent: #8E2A45;--accent-2: #A63D58;--caption: #6E525A;--caption-strong: #2E1B20}.dark{--grad-app: #201316;--window-bg: #271A1C;--sidebar-grad: #2D1F22;--main-grad: #291B1E;--border-soft: rgba(255, 240, 238, .06);--border-soft-2: rgba(255, 240, 238, .09);--border-soft-3: rgba(255, 240, 238, .13);--border-dash: rgba(255, 240, 238, .17);--surface: #342428;--surface-soft: #2F2023;--surface-strong: #392A2D;--surface-hover: #403033;--surface-active: #3C2C2F;--pill-bg: #332326;--text-primary: #F5EEE9;--text-secondary: #CBBAB6;--text-tertiary: #B2A19D;--text-muted: #90807D;--text-faint: #756563;--text-faint-2: #82726F;--accent: #C75C74;--accent-2: #D97F92;--caption: #BAAAA6;--caption-strong: #F5EEE9}.new-conv:focus-visible,.doc-add:focus-visible,.icon-btn:focus-visible,.recent:focus-visible,.suggestion:focus-visible,.name-go:focus-visible,.name-skip:focus-visible,.auth-banner-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@keyframes barA{0%,to{transform:scaleY(.34)}50%{transform:scaleY(1)}}@keyframes barB{0%,to{transform:scaleY(.5)}50%{transform:scaleY(.82)}}@keyframes barC{0%,to{transform:scaleY(.24)}50%{transform:scaleY(.95)}}@keyframes caret{0%,to{opacity:0}50%{opacity:1}}.stage{position:relative;min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:0;background:var(--grad-app);font-family:Hanken Grotesk,system-ui,sans-serif;overflow:hidden;transition:background .5s ease}.window{position:relative;width:100%;height:100vh;border-radius:0;background:var(--window-bg);display:flex;overflow:hidden;transition:background .5s ease}.sidebar{width:268px;flex-shrink:0;display:flex;flex-direction:column;padding:15px 14px 14px;background:var(--sidebar-grad);border-right:1px solid var(--border-soft);transition:background .5s ease,transform .3s cubic-bezier(.4,0,.2,1)}.brand{display:flex;align-items:center;gap:11px;padding:8px 6px 12px}.brand-mark{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;animation:markBreathe 5s ease-in-out infinite}@keyframes markBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.brand-name{font-family:"Instrument Serif",serif;font-size:22px;line-height:1;color:var(--text-primary);letter-spacing:.01em}.brand-sub{font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}.new-conv{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--border-soft-2);border-radius:13px;background:var(--surface);cursor:pointer;font-family:inherit;color:var(--text-primary);font-size:13.5px;font-weight:600;transition:background .2s ease,border-color .2s ease,transform .2s ease}.new-conv:hover{background:var(--surface-hover);border-color:var(--border-soft-3);transform:translateY(-1px)}.new-conv .plus{width:21px;height:21px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent);color:#fff;font-size:15px;line-height:0;padding-bottom:2px}.doc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;max-width:440px}.doc-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border-soft-3);font-size:12.5px;font-weight:600;color:var(--text-primary)}.doc-chip .doc-icon{font-size:13px;line-height:1}.doc-chip .doc-meta{color:var(--text-muted);font-weight:500}.doc-chip.pending{color:var(--text-secondary);opacity:.8}.section-label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);padding:18px 8px 7px}.recents{display:flex;flex-direction:column;gap:1px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-soft-3) transparent}.recents::-webkit-scrollbar{width:8px}.recents::-webkit-scrollbar-track{background:transparent}.recents::-webkit-scrollbar-thumb{background:var(--border-soft-3);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.recents::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box}.recent{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border-radius:11px;cursor:pointer;text-decoration:none;transition:background .18s ease;border:none;background:transparent;text-align:left;font-family:inherit}.recent:hover{background:var(--surface-soft)}.recent.active{background:var(--surface-active)}.recent-title{display:flex;align-items:center;gap:8px}.recent-title .dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);flex-shrink:0}.recent.active .recent-title .dot{background:var(--accent)}.recent-title span:last-child{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent.active .recent-title span:last-child{color:var(--text-primary)}.recent-meta{font-size:11px;color:var(--text-faint-2);padding-left:15px}.recents-empty{font-size:12px;color:var(--text-faint);padding:8px 11px;line-height:1.5}.account{display:flex;align-items:center;gap:10px;padding:12px 6px 2px;margin-top:6px;border-top:1px solid var(--border-soft)}.account-mark{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-strong);border:1px solid var(--border-soft-3);font-size:13px;font-weight:700;color:var(--accent)}.account-name{font-size:12.5px;font-weight:600;color:var(--text-primary)}.account-sub{font-size:10.5px;color:var(--text-faint-2)}.account svg{fill:var(--text-faint)}.credit{font-family:"Instrument Serif",serif;font-size:12px;color:var(--text-faint-2);text-align:center;padding:10px 6px 2px;letter-spacing:.02em}.credit a{font-weight:400;color:var(--accent);font-style:italic;text-decoration:none;transition:color .2s ease}.credit a:hover{color:var(--accent-2);text-decoration:underline}.main{flex:1;position:relative;display:flex;flex-direction:column;min-width:0;background:var(--main-grad);transition:background .5s ease}.main-header{height:60px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 26px}.header-left{display:flex;align-items:center;gap:12px}.header-right{display:flex;align-items:center;gap:10px}.icon-btn{position:relative;width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:999px;cursor:pointer;text-decoration:none;background:var(--pill-bg);border:1px solid var(--border-soft);color:var(--text-secondary);transition:background .2s ease,transform .2s ease,color .2s ease}.icon-btn:hover{background:var(--surface-hover);transform:translateY(-1px)}.icon-btn:active{transform:translateY(0)}.icon-btn svg{width:18px;height:18px;display:block}.icon-btn.menu{display:none}.auth-banner{margin:0 26px;padding:12px 18px;border-radius:12px;background:#ffc87838;border:1px solid rgba(200,120,40,.25);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;color:#7a4a10}.dark .auth-banner{color:#f0c88a;background:#ffb45a17;border-color:#ffbe6e2e}.auth-banner-btn{flex-shrink:0;padding:7px 16px;border-radius:8px;background:#c05621;color:#fff;font-size:13px;font-weight:600;border:none;cursor:pointer}.auth-banner-btn:hover{background:#a8481a}.status-pill{display:flex;align-items:center;gap:9px;padding:7px 14px;border-radius:999px;background:var(--pill-bg);border:1px solid var(--border-soft)}.status-pill .dot{width:8px;height:8px;border-radius:50%;transition:background .4s ease}.status-pill .label{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--text-secondary)}.assistant-stage{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:6px 26px 0}.caption-wrap{min-height:88px;max-width:560px;display:flex;align-items:center;justify-content:center}.caption{margin:0;font-family:"Instrument Serif",serif;font-weight:400;font-size:33px;line-height:1.22;text-align:center;text-wrap:balance;color:var(--caption);transition:color .4s ease;animation:captionIn .5s cubic-bezier(.22,1,.36,1) both}@keyframes captionIn{0%{opacity:0;transform:translateY(7px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}.caption.listening{color:var(--text-secondary);font-style:italic}.caption.speaking{color:var(--caption-strong)}.caption.idle{color:var(--caption)}.caption .caret{display:inline-block;width:2px;height:.82em;margin-left:4px;background:var(--accent);vertical-align:-1px;border-radius:2px;animation:caret 1s steps(1) infinite}.suggestions{display:flex;flex-direction:column;align-items:center;gap:13px;animation:suggestIn .5s ease both}@keyframes suggestIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.suggestions-label{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}.suggestions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:520px}.suggestion{display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:13px;background:var(--surface-soft);border:1px solid var(--border-soft-2);color:var(--text-secondary);font-size:13.5px;font-weight:500;line-height:1.25;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;animation:suggestItemIn .45s cubic-bezier(.22,1,.36,1) both}.suggestion:nth-child(1){animation-delay:.06s}.suggestion:nth-child(2){animation-delay:.12s}.suggestion:nth-child(3){animation-delay:.18s}.suggestion:nth-child(4){animation-delay:.24s}@keyframes suggestItemIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.suggestion:hover{background:var(--surface);border-color:var(--border-soft-3);color:var(--text-primary);transform:translateY(-1px)}.suggestion-icon{flex-shrink:0;font-size:13px;line-height:1;color:var(--accent);opacity:.85}@media(max-width:760px){.suggestions-grid{grid-template-columns:1fr;max-width:340px}}.dock{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:15px;padding:0 26px 30px}.wave{display:flex;align-items:center;gap:4px;height:34px;opacity:.34;transform:scaleY(var(--wave-scale, .5));transform-origin:center bottom;transition:opacity .5s ease}.wave.on{opacity:.95}.wave span{display:block;width:3px;border-radius:3px;background:var(--accent);transform-origin:bottom}.wave span:nth-child(1){height:8px;animation:barA 1.1s ease-in-out infinite;animation-delay:-.2s}.wave span:nth-child(2){height:12px;animation:barC .95s ease-in-out infinite;animation-delay:-.55s}.wave span:nth-child(3){height:17px;animation:barB 1.2s ease-in-out infinite;animation-delay:-.1s}.wave span:nth-child(4){height:22px;animation:barA 1s ease-in-out infinite;animation-delay:-.35s}.wave span:nth-child(5){height:28px;animation:barC 1.15s ease-in-out infinite;animation-delay:-.62s}.wave span:nth-child(6){height:33px;animation:barB .9s ease-in-out infinite;animation-delay:-.18s}.wave span:nth-child(7){height:30px;animation:barA 1.05s ease-in-out infinite;animation-delay:-.42s}.wave span:nth-child(8){height:33px;animation:barB .92s ease-in-out infinite;animation-delay:-.18s}.wave span:nth-child(9){height:28px;animation:barC 1.15s ease-in-out infinite;animation-delay:-.62s}.wave span:nth-child(10){height:22px;animation:barA 1s ease-in-out infinite;animation-delay:-.35s}.wave span:nth-child(11){height:17px;animation:barB 1.2s ease-in-out infinite;animation-delay:-.1s}.wave span:nth-child(12){height:12px;animation:barC .95s ease-in-out infinite;animation-delay:-.55s}.wave span:nth-child(13){height:8px;animation:barA 1.1s ease-in-out infinite;animation-delay:-.2s}.dock-hint{display:inline-flex;align-items:center;font-size:12.5px;color:var(--text-muted);font-weight:500;letter-spacing:.02em}.kbd{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border-radius:6px;font-family:inherit;font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--text-tertiary);background:var(--surface);border:1px solid var(--border-soft-2)}.doc-add{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;background:var(--surface-soft);border:1px dashed var(--border-dash);color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.doc-add:hover{background:var(--surface);border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px)}.doc-add svg{width:16px;height:16px;color:var(--accent)}.doc-add.error{border-color:var(--accent);color:var(--accent)}.name-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a080c80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:scrimIn .3s ease}.name-card{display:flex;flex-direction:column;align-items:center;width:100%;max-width:340px;padding:34px 30px 26px;border-radius:22px;background:var(--window-bg);border:1px solid var(--border-soft-3);text-align:center;animation:nameCardIn .38s cubic-bezier(.22,1,.36,1) both}@keyframes nameCardIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.name-mark{width:44px;height:44px;margin-bottom:16px;font-size:36px}.name-title{margin:0;font-family:"Instrument Serif",serif;font-size:27px;font-weight:400;color:var(--text-primary)}.name-sub{margin:5px 0 20px;font-size:14px;color:var(--text-muted)}.name-input{width:100%;padding:12px 15px;margin-bottom:12px;border-radius:12px;border:1px solid var(--border-soft-3);background:var(--surface-soft);color:var(--text-primary);font-family:inherit;font-size:15px;text-align:center;outline:none;transition:border-color .2s ease,background .2s ease}.name-input::placeholder{color:var(--text-faint)}.name-input:focus{border-color:var(--accent);background:var(--surface)}.name-go{width:100%;padding:12px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-family:inherit;font-size:14.5px;font-weight:700;cursor:pointer;transition:transform .2s ease,opacity .2s ease,background .2s ease}.name-go:hover:not(:disabled){transform:translateY(-1px);background:var(--accent-2)}.name-go:disabled{opacity:.45;cursor:default}.name-skip{margin-top:12px;padding:4px;border:none;background:none;color:var(--text-faint);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:color .2s ease}.name-skip:hover{color:var(--text-secondary)}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;background:#1e0c1461;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:none;animation:scrimIn .25s ease}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}@media(max-width:760px){.stage{padding:0}.window{border-radius:0;height:100vh;max-height:100vh}.sidebar{position:absolute;left:0;top:0;bottom:0;z-index:20;width:84vw;max-width:300px;transform:translate(-100%);border-right:1px solid var(--border-soft-3)}.sidebar.open{transform:translate(0)}.icon-btn.menu{display:flex}.caption{font-size:27px}.main-header{padding:0 16px}.assistant-stage{padding:6px 16px 0}.dock{padding:0 16px 26px}}@media(min-width:761px){.scrim{display:none}}@media(prefers-reduced-motion:reduce){.wave span{animation:none!important}.sidebar{transition:none}.suggestions,.suggestion,.name-card,.caption,.brand-mark{animation:none!important}}html,body{margin:0;padding:0;height:100%;background:#faf7f2}html{color-scheme:light}html.dark{color-scheme:dark}html.dark,html.dark body{background:#271a1c}*{box-sizing:border-box}#root{min-height:100vh}body{font-family:Hanken Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#2e1b20;-webkit-font-smoothing:antialiased;transition:background .5s ease,color .5s ease}html.dark body{color:#f5eee9}::selection{background:#ebcad2}html.dark ::selection{background:#5f2a3a}
