:root{font-family:system-ui,-apple-system,"PingFang SC",sans-serif;color:#234437;background:#f3f0e8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:12px 18px;background:#245947;color:white;font-size:16px;font-weight:600}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c89545;outline-offset:2px}button.secondary{background:#eaf0e9;color:#315541}.text-button{background:transparent;color:#506558;padding:8px;font-size:14px}.shell{max-width:850px;margin:auto;padding:24px 18px 38px}.eyebrow{font-size:12px;letter-spacing:2px;color:#708477}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.header h1{font-size:25px;margin:5px 0 0;font-weight:650}.card{background:#fffdf8;border:1px solid #e5e7db;border-radius:20px;padding:20px;margin-top:16px;box-shadow:0 6px 24px #29432c06}.login{max-width:460px;margin:10vh auto;padding:30px}.login h1{font-size:32px;line-height:1.4}.login p{color:#6b7c71;line-height:1.6}.login label{display:block;margin:18px 0;font-size:14px}.login input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #d7dfd0;border-radius:10px;background:white}.login button{width:100%}.login small{line-height:1.8;color:#788377}.hero{display:flex;align-items:center;gap:32px;background:linear-gradient(125deg,#214c40,#34604b);border-radius:23px;padding:24px 30px;color:#fbf5e7;overflow:hidden}.hero-copy h2{font-size:25px;margin:12px 0 8px}.hero-copy p{font-size:14px;line-height:1.8;margin:4px 0;color:#d7e2d4}.badge{border:1px solid #becbb062;border-radius:6px;padding:4px 8px;color:#e2d5b6;font-size:11px;letter-spacing:1px}.hero-copy .voice-label{font-size:11px;color:#b7c8b5}.avatar{width:136px;height:158px;position:relative;flex-shrink:0;display:grid;place-items:center}.halo{position:absolute;inset:2px;border-radius:50%;border:1px solid #f6d99955;background:#e5d5ae12;transition:.3s}.avatar-image{position:relative;width:132px;height:150px;object-fit:cover;border-radius:50%;filter:drop-shadow(0 8px 12px #102d2030);z-index:1;transition:transform .3s}.avatar.speaking .halo,.avatar.listening .halo{animation:breathe 1.2s infinite alternate}.avatar.speaking .avatar-image{animation:avatarTalk .7s infinite alternate}.avatar.listening .halo{border-color:#cce6bc}.avatar.thinking .halo{animation:breathe 2s infinite alternate}.avatar.thinking .avatar-image{transform:scale(.98)}.status{font-size:14px;min-height:23px;color:#688171}.chat-top{display:flex;align-items:center;gap:12px;justify-content:space-between}.chat-top select{max-width:210px;border:1px solid #e2e7dc;padding:7px;border-radius:8px;font-size:12px;background:#fcfcf5;color:#617662}.conversation{max-height:49vh;min-height:220px;overflow:auto;scroll-behavior:smooth;padding:8px 0}.welcome{text-align:center;padding:44px 0 30px;color:#778576;font-size:18px}.suggestions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.suggestions button{font-size:12px;background:#f2f0e6;color:#6d735f;font-weight:400;padding:9px 11px}.bubble{padding:13px 16px;line-height:1.85;font-size:17px;border-radius:15px;margin:12px 0;max-width:95%;overflow-wrap:anywhere}.bubble.user{background:#e7eee2;margin-left:auto}.bubble.assistant{background:#f3efdf}.bubble .answer{white-space:pre-wrap}.bubble .answer span.current{background:#e2d7ad;border-radius:3px}.bubble details{border-top:1px solid #dddcc9;margin-top:12px;padding-top:7px;font-size:12px;color:#607058}.bubble summary{cursor:pointer}.bubble pre{white-space:pre-wrap;font:inherit;line-height:1.75}.bubble .clip-controls{display:flex;gap:7px;margin-top:10px}.bubble .clip-controls button{font-size:12px;padding:6px 9px}.voice-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding-top:10px}.record-button{min-width:210px;font-size:18px;padding:15px 23px;background:#285c48}.record-button.recording{background:#a45243}.mic{margin-right:10px;font-size:14px;color:#d9dfb9}.hint{text-align:center;font-size:12px;color:#8a9382;margin-bottom:0}.partial{background:#edf2e8;border-radius:10px;padding:10px;margin:8px 0;color:#65765a}.composer label{font-size:13px;color:#6b7b66}.composer textarea{margin:10px 0;width:100%;resize:vertical;min-height:86px;border:1px solid #d9e0d0;border-radius:12px;padding:12px;font-size:17px;background:#fffefa;color:#294934}.composer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}footer{padding:18px 8px;font-size:11px;line-height:1.8;color:#7c8978;text-align:center}#recordRetry{margin-top:10px;border-top:1px solid #e1e6d8;padding-top:9px;font-size:13px}@keyframes avatarTalk{to{transform:translateY(-2px) scale(1.02)}}@keyframes breathe{to{transform:scale(1.07);box-shadow:0 0 22px #cfdfb333}}@media(max-width:540px){.shell{padding:12px 10px 20px}.hero{padding:17px 16px;gap:15px}.avatar{width:108px;height:132px;transform:scale(.88)}.hero-copy h2{font-size:21px}.hero-copy p{font-size:12px}.card{padding:14px}.header h1{font-size:22px}.chat-top{align-items:start}.chat-top select{max-width:140px}.bubble{font-size:16px}.voice-controls{gap:6px}.voice-controls .secondary{font-size:13px;padding:9px 12px}.record-button{width:100%;min-width:0}.login{margin:7vh auto;padding:23px}.login h1{font-size:28px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
.auth-tabs{display:flex;gap:8px;margin:20px 0 8px}.auth-tabs button{width:auto;flex:1;font-size:14px}.login #registerHint{display:block;margin:10px 0 16px}
