:root{color:#1c2b2a;background:#e7eeec;font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:18px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{width:min(480px,100%);min-height:100vh;margin:0 auto;background:#f7faf9;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#0f6e6b;color:#fff}.topbar h1{margin:0;font-size:22px;font-weight:650}.auth-title{width:100%;font-size:20px;line-height:1.4;text-align:center}.bar-title{width:100%;text-align:center}.auth-switch{display:block;width:100%;margin-top:12px;padding:4px 0;border:0;background:transparent;color:#1c2b2a;text-align:right;font-size:16px}.auth-switch span{color:#1677ff}.topbar a,.linkish{color:#fff;text-decoration:none;font-size:17px}.chat-bar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:8px 12px}.chat-bar h1{text-align:center}.chat-bar h1.chat-name{font-size:16px;line-height:1.3;white-space:nowrap}.chat-shell{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0;overflow:hidden}.thread{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.top-icon{width:44px;height:44px;padding:0;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:#fff;border-radius:12px}.top-icon .btn-icon{width:26px;height:26px}.page{padding:20px 16px 28px}.card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px #0f6e6b14}.note{color:#3d5552;margin:8px 0 0}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);max-width:min(320px,calc(100% - 32px));margin:0;padding:12px 18px;border-radius:12px;background:#1c2b2aeb;color:#fff;text-align:center;z-index:30}.warn{background:#fff4f0;color:#8a2a2a;border-radius:12px;padding:12px 14px}label{display:block;margin:14px 0 6px;font-weight:650}input,textarea,select{width:100%;border:1px solid #c5d5d2;border-radius:12px;padding:12px 14px;background:#fff;font-size:17px}textarea{min-height:88px;resize:vertical}.primary,.ghost,.danger{min-height:48px;border-radius:12px;border:0;padding:0 16px}.primary{width:100%;margin-top:16px;background:#0f6e6b;color:#fff}.ghost{background:#e7eeec;color:#1c2b2a}.danger{width:100%;margin-top:12px;background:#fff;color:#8a2a2a;border:1px solid #e7c4bc}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.tabs button[aria-selected=true]{background:#0f6e6b;color:#fff}.error{color:#8a2a2a;margin:10px 0 0}.greet{display:flex;gap:12px;align-items:flex-start;padding:16px}.avatar{width:64px;height:64px;flex:none}.messages{flex:1;padding:0 16px 12px}.turn{display:flex;align-items:flex-start;gap:8px;margin:10px 0}.turn.user{justify-content:flex-end}.msg-avatar{width:36px;height:36px;flex:none}.bubble{max-width:calc(100% - 44px);margin:0;padding:12px 14px;border-radius:16px;white-space:pre-wrap;word-break:break-word}.bubble.user{background:#d9efed}.bubble.assistant{background:#fff;border:1px solid #e1ebe9;white-space:normal}.bubble .answer p{margin:0 0 .6em}.bubble .answer p:last-child,.bubble .answer ul:last-child{margin-bottom:0}.bubble .answer ul{margin:.35em 0 .6em;padding-left:1.2em}.bubble .answer li{margin:.2em 0}.bubble .answer strong{font-weight:700}.looking{margin:0;color:#3d5552}.bubble.emergency{background:#fff4f0;border-color:#e7c4bc;color:#8a2a2a}.disclaimer,.source-btn{display:block;margin-top:8px;color:#3d5552;font-size:15px}.source-btn{padding:0;border:0;background:transparent;color:#0f6e6b;text-align:left}.composer{position:relative;flex:none;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#f7faf9;border-top:1px solid #e1ebe9}.composer-box{display:flex;flex-direction:column;padding:12px 12px 8px;background:#fff;border:1px solid #e6e8ee;border-radius:22px;box-shadow:0 1px 2px #1c2b2a0a}.composer-box textarea{width:100%;min-height:72px;max-height:140px;margin:0;padding:2px 6px 8px;border:1px solid transparent;border-radius:12px;background:transparent;resize:none;line-height:1.5;outline:none}.composer-box textarea:focus,.composer-box textarea:focus-visible{border-color:#d5dbe3;outline:none}.composer-tools{display:flex;align-items:center;justify-content:space-between;gap:8px}.new-chat{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px 0 4px;border:0;border-radius:999px;background:transparent;color:#1c2b2a;font-size:16px}.new-chat .btn-icon{width:20px;height:20px}.new-chat:disabled,.new-chat:disabled .btn-icon{color:#b7c4c1}.field-actions{display:flex;align-items:center;gap:8px;flex:none}.mic-allow{min-height:40px;margin:0 0 8px;padding:0 14px;border:0;border-radius:999px;background:#e7eeec;color:#1c2b2a}.field-icon{width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:1;background:#f2f3f5;color:#3d4a48}.field-icon.mic{touch-action:none;-webkit-user-select:none;user-select:none}.field-icon.mic.live{background:#07c160;color:#fff}.field-icon.mic.live:disabled{color:#fff}.composer-box .cancel-chip{min-height:36px;padding:0 10px;flex:none}.btn-icon{width:24px;height:24px;display:block}.new-chat.busy .btn-icon{animation:mic-spin .7s linear infinite}.mic-spin{width:22px;height:22px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:mic-spin .7s linear infinite}@keyframes mic-spin{to{transform:rotate(360deg)}}.mic:disabled{color:#b7c4c1}.send:disabled{color:#c5c9ce}.send:not(:disabled){background:#0f6e6b;color:#fff}.chips{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.quick-bar{display:grid;width:100%;margin-left:0;margin-right:0;justify-content:start}.quick-bar button,.quick-all button{white-space:nowrap}.quick-all{display:grid;gap:8px;margin-top:12px;justify-content:start}.quick-all button{border:1px solid #c5d5d2;background:#fff;border-radius:999px;min-height:40px;padding:0 12px}.quick-panel{animation:sheet-up .24s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chips button{border:1px solid #c5d5d2;background:#fff;border-radius:999px;min-height:40px;padding:0 12px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#14242273;display:flex;align-items:flex-end;justify-content:center}.sheet .panel{width:min(480px,100%);max-height:70vh;overflow:auto;background:#fff;border-radius:18px 18px 0 0;padding:16px}.list-btn{width:100%;text-align:left;background:#fff;border:1px solid #e1ebe9;border-radius:12px;padding:12px;margin-top:8px}
