:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color:#1f2933;background:#f5f7fb;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f5f7fb}#app{min-height:100vh}.page{max-width:1280px;margin:0 auto;padding:32px 24px 48px;display:flex;flex-direction:column;gap:16px}.top-bar{background:#fff;border:1px solid #e8ecf3;border-radius:16px;padding:16px 20px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;align-items:center;box-shadow:0 8px 24px #1535510a}.brand{display:flex;align-items:center;gap:12px}.logo-dot{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#ff7a45,#ff502c);box-shadow:0 10px 24px #ff784559}.brand-title{font-size:18px;font-weight:700;color:#1f2933}.brand-sub{font-size:13px;color:#5a6473}.status{display:flex;align-items:center;gap:10px;justify-content:flex-end}.badge{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid #e8ecf3;background:#f7f9fc;color:#3a4556}.badge.live{background:#ff78451f;color:#d4380d;border-color:#ff78455c}.badge.idle{background:#f5f7fb}.actions{display:flex;gap:10px;justify-content:flex-end}.primary-btn,.ghost-btn{border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.primary-btn{background:linear-gradient(135deg,#ff7a45,#ff502c);color:#fff;border:1px solid #ff6a30;box-shadow:0 8px 20px #ff784559}.primary-btn:hover{filter:brightness(1.03);transform:translateY(-1px)}.primary-btn.danger{background:linear-gradient(135deg,#ff4d4f,#d9363e);border-color:#f5222d}.ghost-btn{background:#fff;border:1px solid #e8ecf3;color:#3a4556}.ghost-btn:hover{border-color:#ff7a45;color:#d4380d}.content{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.left,.right{display:flex;flex-direction:column;gap:16px}.card{background:#fff;border-radius:16px;border:1px solid #e8ecf3;padding:16px 18px;box-shadow:0 6px 18px #1535510a}.card-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.card-title{font-size:16px;font-weight:700;color:#1f2933}.card-sub{font-size:13px;color:#6b7380}.card-actions{display:flex;gap:8px}.pill{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#ff78451f;color:#d4380d;border:1px solid rgba(255,120,69,.3)}.pill.ghost{background:#f5f7fb;color:#3a4556}.waveform{display:grid;grid-template-columns:repeat(24,1fr);gap:4px;align-items:flex-end;min-height:120px;padding:12px;background:linear-gradient(180deg,#fff8f4,#fff 60%);border-radius:12px;border:1px dashed rgba(255,120,69,.2);margin-bottom:12px}.bar{background:linear-gradient(180deg,#ff9c6e,#ff7a45 60%,#ff502c);border-radius:6px 6px 4px 4px;transition:height .12s ease,opacity .2s ease;opacity:.82}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#f7f9fc;border-radius:10px;border:1px solid #e8ecf3}.control-row input{width:80px}.transcript{width:100%;border-radius:12px;border:1px solid #e8ecf3;background:#f9fbff;padding:12px;font-size:14px;resize:vertical;color:#1f2933}.transcript:focus{outline:2px solid rgba(255,120,69,.4);border-color:#ff784580}.action-row{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.hints{display:flex;gap:8px;flex-wrap:wrap}.hint{font-size:12px;padding:6px 10px;background:#f7f9fc;border-radius:999px;border:1px solid #e8ecf3;color:#3a4556}.upload{border:1px dashed #e8ecf3;border-radius:12px;padding:14px;background:#f9fbff}.upload input{margin-bottom:10px}.file-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.file-chip{padding:6px 10px;background:#fff;border-radius:10px;border:1px solid #e8ecf3;font-size:13px}.upload-hint{margin:0;font-size:12px;color:#6b7380}.knowledge-folders{display:flex;flex-wrap:wrap;gap:10px;padding:12px 0}.folder-check{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#f7f9fc;border:1px solid #e8ecf3;border-radius:10px;font-size:14px;color:#1f2933;cursor:pointer}.folder-check:hover{border-color:#ff784566}.folder-check input{width:auto;margin:0;cursor:pointer}.right.fullscreen,.output-card.fullscreen{position:fixed;inset:20px;z-index:10;background:#f5f7fbf5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.messages{display:flex;flex-direction:column;gap:12px;max-height:700px;overflow:auto;padding-right:4px}.message{padding:12px;border-radius:12px;border:1px solid #e8ecf3;background:#f7f9fc;transition:all .2s ease}.message.assistant{background:#fff8f4;border-color:#ff78454d}.message.removing{opacity:0;transform:translate(-100%)}.message-list-enter-active{transition:all .25s ease}.message-list-leave-active{transition:all .2s ease}.message-list-enter-from{opacity:0;transform:translateY(15px)}.message-list-leave-to{opacity:0;transform:translate(-50%)}.message-list-move{transition:transform .2s ease}.message-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7380;margin-bottom:6px}.message-meta .dot{width:8px;height:8px;border-radius:50%;background:#ff7a45}.message-text{font-size:14px;color:#1f2933}.time{color:#9aa4b5}.drawer{position:fixed;inset:0;background:#00000059;display:flex;justify-content:flex-end;z-index:20}.drawer-body{width:420px;background:#fff;border-left:1px solid #e8ecf3;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:-12px 0 24px #15355114}.drawer-header{display:flex;align-items:center;justify-content:space-between}.drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#3a4556}input,select{border-radius:10px;border:1px solid #e8ecf3;padding:10px 12px;font-size:14px;color:#1f2933;background:#fff}input:focus,select:focus{outline:2px solid rgba(255,120,69,.35);border-color:#ff784573}.select{min-width:180px}.hint-text{margin:0;font-size:12px;color:#6b7380;background:#f7f9fc;padding:10px 12px;border-radius:10px;border:1px solid #e8ecf3}@media(max-width:1080px){.content,.top-bar{grid-template-columns:1fr}.status,.actions{justify-content:flex-start}.drawer-body{width:100%}}
