:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif;color:#172033;background:#eef2f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{min-height:100%;background:#eef2f8}body{min-width:320px;min-height:100vh;min-height:100dvh;margin:0;background:radial-gradient(circle at top,rgba(79,140,255,.16),transparent 360px),#eef2f8;overscroll-behavior-y:none}button{font:inherit;touch-action:manipulation}button:focus-visible,summary:focus-visible{outline:3px solid rgba(79,140,255,.5);outline-offset:3px}.app-shell{width:min(100%,520px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.app-shell.loading{display:grid;place-items:center;color:#667085}.auth-shell{display:grid;place-items:center}.auth-card{width:100%;padding:24px;border:1px solid rgba(148,163,184,.22);border-radius:22px;background:#ffffffdb;box-shadow:0 12px 34px #0f172a12}.auth-card>p:not(.eyebrow){margin:12px 0 20px;color:#667085;line-height:1.5}.auth-card form{display:grid;gap:10px}.auth-card label{font-size:.84rem;font-weight:700}.auth-card input{min-height:48px;padding:0 13px;border:1px solid #b8c1d1;border-radius:12px;font:inherit;color:inherit;background:transparent}.auth-card input:focus-visible{outline:3px solid rgba(79,140,255,.35);border-color:#4f8cff}.hero{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:16px}.eyebrow{margin:0 0 5px;color:#667085;font-size:.8rem;font-weight:650;letter-spacing:.08em}h1{margin:0;font-size:clamp(2rem,9vw,2.75rem);letter-spacing:-.04em}.mode-badge{flex:none;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:700}.mode-stopped{color:#667085;background:#dfe4ec}.mode-listening{color:#075985;background:#dff5ff}.mode-dialogue{color:#fff;background:#4f46e5;box-shadow:0 6px 20px #4f46e54d}.primary-card,.context-card,.fold,.status-grid{border:1px solid rgba(148,163,184,.22);border-radius:22px;background:#ffffffdb;box-shadow:0 12px 34px #0f172a12;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.primary-card{display:grid;gap:12px;padding:18px}.stopped-card{min-height:224px;align-content:center;text-align:center}.stopped-card p{margin:0;color:#667085}.primary-button,.dialogue-button,.stop-button,.secondary-button,.speaker-button{min-height:52px;border:0;border-radius:16px;font-weight:700;cursor:pointer}.primary-button{color:#fff;background:#2563eb;box-shadow:0 10px 24px #2563eb47}.secondary-button{color:#52627c;background:#e8edf5}.dialogue-button{display:grid;gap:5px;min-height:124px;place-content:center;padding:16px;color:#172033;background:#e8efff;user-select:none;-webkit-user-select:none}.dialogue-button span{font-size:1.2rem}.dialogue-button small{color:#52627c;font-weight:500}.dialogue-button.active{color:#fff;background:linear-gradient(145deg,#4f46e5,#2563eb);box-shadow:0 10px 28px #4f46e547}.dialogue-button.active small{color:#ffffffc7}.stop-button{color:#b42318;background:#fff0ef}button:disabled{cursor:wait;opacity:.58}.error-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px;padding:13px 14px;border:1px solid #f7b8b3;border-radius:14px;color:#8f1d16;background:#fff0ef;font-size:.9rem}.error-banner button{border:0;color:inherit;background:transparent;font-size:1.2rem}.context-card{margin-top:14px;padding:16px 18px;border-color:#4f46e540}.context-card p{margin:7px 0 0;color:#52627c;font-size:.88rem;line-height:1.55}.status-grid{display:grid;grid-template-columns:1fr 1fr;margin:14px 0;padding:7px}.status-grid>div{display:grid;min-height:82px;align-content:center;padding:10px;border-radius:15px}.status-grid>div:nth-child(odd){border-right:1px solid rgba(148,163,184,.18)}.status-grid>div:not(:last-child){border-bottom:1px solid rgba(148,163,184,.18)}.status-grid>div:last-child{grid-column:1 / -1;border-right:0}.status-grid span,.status-grid small{color:#7a8599;font-size:.72rem}.status-grid strong{margin:4px 0 2px;font-size:.96rem}.speaker-button{width:100%;margin-bottom:14px;color:#1d4ed8;background:#dbeafe}.fold{margin-top:10px;overflow:hidden;border-radius:16px;box-shadow:none}.fold summary{padding:15px 16px;cursor:pointer;font-size:.9rem;font-weight:700}.fold-content{padding:0 16px 16px;border-top:1px solid rgba(148,163,184,.16)}.empty-state{color:#7a8599;font-size:.85rem}.message-list{display:grid;gap:8px;margin:14px 0 0;padding-left:20px;font-size:.86rem}.transcript-list{display:grid;gap:12px;margin:14px 0 0;padding:0;list-style:none}.transcript-list>li{padding:12px;border-radius:12px;background:#94a3b81a}.transcript-list p{margin:7px 0 0;line-height:1.55}.transcript-meta,.transcript-tags{display:flex;flex-wrap:wrap;gap:6px;color:#667085;font-size:.72rem}.transcript-meta span:before{margin-right:6px;content:"·"}.transcript-tags{margin-top:9px}.transcript-tags span{padding:3px 7px;border-radius:999px;color:#334155;background:#6366f11f}.memory-summary{padding-top:14px}.memory-summary p{margin:7px 0 0;color:#7a8599;font-size:.82rem}footer{padding:24px 0 4px;color:#8b95a7;text-align:center;font-size:.75rem}.assistant-audio{display:none}@media(prefers-color-scheme:dark){:root,html{color:#edf2ff;background:#0b1020}body{background:radial-gradient(circle at top,rgba(79,140,255,.18),transparent 360px),#0b1020}.primary-card,.context-card,.auth-card,.fold,.status-grid{border-color:#94a3b829;background:#182034e0;box-shadow:0 14px 36px #00000038}.mode-stopped{color:#c2c9d6;background:#303a50}.mode-listening{color:#a8e5ff;background:#153e55}.dialogue-button{color:#e8efff;background:#283a60}.dialogue-button small,.auth-card>p:not(.eyebrow),.context-card p,.transcript-meta,.memory-summary p{color:#abb7cc}.transcript-tags span{color:#dbeafe}.stop-button,.error-banner{color:#ffb4ac;background:#4a2427}.secondary-button{color:#d3dbea;background:#303a50}.error-banner{border-color:#7f3b3d}.speaker-button{color:#bfdbfe;background:#1e3a5f}}@media(display-mode:standalone){.app-shell{padding-top:max(18px,env(safe-area-inset-top))}}
