:root{--bg: #f5f5f7;--bg-grad-1: #fbfbfd;--bg-grad-2: #eef0f3;--surface: rgba(255, 255, 255, .72);--surface-solid: #ffffff;--border: rgba(0, 0, 0, .08);--hairline: rgba(0, 0, 0, .06);--text: #1d1d1f;--text-2: #6e6e73;--text-3: #86868b;--accent: #0071e3;--accent-press: #0064c8;--stop: #ff3b30;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 12px 30px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--radius: 20px;--radius-sm: 12px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font);color:var(--text);background:radial-gradient(140% 120% at 50% -10%,var(--bg-grad-1) 0%,var(--bg) 45%,var(--bg-grad-2) 100%) fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.01em}.app{max-width:1080px;margin:0 auto;padding:22px 24px 36px;display:flex;flex-direction:column;gap:18px;min-height:100vh}.topbar{position:sticky;top:12px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--surface);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.brand{display:flex;align-items:center;gap:10px}.logo{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#fff;background:linear-gradient(160deg,#2a93ff,var(--accent));box-shadow:0 4px 10px #0071e359}.brand-name{font-size:17px;font-weight:600;letter-spacing:-.02em}.controls{display:flex;align-items:center;gap:18px}.seg{display:inline-flex;background:#0000000f;border-radius:10px;padding:2px}.seg button{border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--text-2);padding:6px 13px;border-radius:8px;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.seg button.on{background:#fff;color:var(--text);box-shadow:0 1px 3px #0000001f}.seg button:disabled{cursor:not-allowed;opacity:.55}.status{display:flex;align-items:center;gap:8px;background:#0071e314;border:1px solid rgba(0,113,227,.2);color:#0064c8;padding:9px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500}.toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;color:var(--text-2)}.toggle input{position:absolute;opacity:0;pointer-events:none}.track{width:46px;height:28px;border-radius:999px;background:#e2e2e6;transition:background .25s ease;position:relative;flex:none}.thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .25s cubic-bezier(.3,1.3,.5,1)}.toggle input:checked+.track{background:#34c759}.toggle input:checked+.track .thumb{transform:translate(18px)}.toggle-label{font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:transform .12s ease,background .2s ease,box-shadow .2s ease,opacity .2s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px #0071e34d}.btn-primary:hover{background:var(--accent-press)}.btn-stop{background:var(--stop);color:#fff;box-shadow:0 4px 12px #ff3b304d}.btn-secondary{background:#0000000d;color:var(--accent);font-weight:600}.btn-secondary:hover{background:#00000014}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-block{width:100%;margin-top:14px}.answer-actions{display:flex;gap:10px;margin-top:14px}.answer-actions .btn{flex:1}.rec-dot{width:9px;height:9px;border-radius:50%;background:#fff;animation:pulse 1.4s ease-in-out infinite}.btn-stop .rec-dot{background:#fff}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.context-wrap{display:flex;flex-direction:column;gap:12px}.context-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--text-2);padding:2px}.chev{display:inline-block;transition:transform .2s ease;font-size:16px;line-height:1}.chev.open{transform:rotate(90deg)}.context{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:600;color:var(--text-3);letter-spacing:.01em;padding-left:2px}textarea{background:var(--surface-solid);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;font-family:inherit;resize:vertical;min-height:92px;line-height:1.5;transition:border-color .2s ease,box-shadow .2s ease}textarea::placeholder{color:var(--text-3)}textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #0071e31f}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:18px 16px;border:1.5px dashed rgba(0,0,0,.18);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--text-2);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .12s ease}.dropzone:hover{border-color:var(--accent)}.dropzone:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #0071e31f}.dropzone.dragging{border-color:var(--accent);background:#0071e30f;transform:scale(1.01)}.dropzone svg{color:var(--accent)}.dropzone span{font-size:13.5px}.dropzone strong{font-weight:600;color:var(--text)}.dropzone u{color:var(--accent);text-decoration:none;font-weight:500}.dropzone small{font-size:11px;letter-spacing:.04em;color:var(--text-3);text-transform:uppercase}.drop-status{margin:0;font-size:12.5px;padding-left:2px}.drop-status.loading{color:var(--text-2)}.drop-status.done{color:#1d8a45}.drop-status.error{color:#c5271f}.error{background:#ff3b3014;border:1px solid rgba(255,59,48,.25);color:#c5271f;padding:11px 16px;border-radius:var(--radius-sm);font-size:13.5px}.stack{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.card{background:var(--surface);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.answers-card{flex:1;min-height:280px}.collapsible{flex:none}.collapse-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.collapse-btn{display:inline-flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;font-family:inherit;padding:0;color:var(--text)}.collapse-btn h2{font-size:19px;font-weight:600;margin:0;letter-spacing:-.02em}.collapse-btn .chev{font-size:20px;color:var(--text-3)}.count{font-size:12px;font-weight:600;color:var(--text-2);background:#0000000f;border-radius:999px;padding:1px 8px;min-width:22px;text-align:center}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-head h2{font-size:19px;font-weight:600;margin:0;letter-spacing:-.02em}.card-head-right{display:flex;align-items:center;gap:14px}.live{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--stop)}.live .rec-dot{background:var(--stop)}.link{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:0}.link:hover{text-decoration:underline}.transcript{flex:1;overflow-y:auto;max-height:52vh;display:flex;flex-direction:column;gap:8px;padding-right:4px}.transcript.compact{max-height:20vh;margin-top:12px}.line{margin:0;line-height:1.55;font-size:14.5px;padding:10px 14px;background:#00000009;border-radius:14px;align-self:flex-start;max-width:92%}.line.interim{background:transparent;color:var(--text-3);font-style:italic;padding:4px 14px}.answer{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding-right:4px}.answer-entry{display:flex;flex-direction:column;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--hairline)}.answer-entry:last-of-type{border-bottom:none;padding-bottom:0}.answer-q{margin:0;font-size:12.5px;font-weight:600;color:var(--text-3);letter-spacing:.01em}.answer-text{margin:0;white-space:pre-wrap;line-height:1.7;font-size:16px;color:var(--text)}.caret{display:inline-block;width:2px;height:1.05em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.placeholder{color:var(--text-3);font-size:14.5px;line-height:1.6;margin:0}.streaming{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:var(--text-2)}.streaming-dots{display:inline-flex;gap:3px}.streaming-dots i{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block;animation:bounce 1.2s ease-in-out infinite}.streaming-dots i:nth-child(2){animation-delay:.15s}.streaming-dots i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.foot{text-align:center;font-size:12.5px;color:var(--text-3);padding-top:4px}.transcript::-webkit-scrollbar,.answer::-webkit-scrollbar{width:8px}.transcript::-webkit-scrollbar-thumb,.answer::-webkit-scrollbar-thumb{background:#00000026;border-radius:8px}@media (max-width: 820px){.panels,.context{grid-template-columns:1fr}.brand-name{display:none}}
