:root{--bg-0: #ffffff;--bg-1: #f5f5f7;--bg-2: #ffffff;--bg-3: #f5f5f7;--bg-4: #e8e8ed;--border: rgba(0,0,0,.08);--border-hover: rgba(0,0,0,.16);--text-primary: #1d1d1f;--text-secondary: #515154;--text-muted: #86868b;--accent: #0071e3;--accent-glow: rgba(0,113,227,.12);--accent-2: #5856d6;--success: #34c759;--warning: #ff9f0a;--danger: #ff3b30;--font-display: "DM Serif Display", serif;--font-body: "Outfit", sans-serif;--font-mono: "DM Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 4px rgba(0,0,0,.06);--shadow-md: 0 2px 16px rgba(0,0,0,.08);--shadow-lg: 0 4px 32px rgba(0,0,0,.1);--transition: .2s cubic-bezier(.4,0,.2,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:var(--font-body);background:var(--bg-0);color:var(--text-primary);height:100%;overflow:hidden;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}#root{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-4);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1{font-family:var(--font-display);font-size:2rem;font-weight:400;line-height:1.2}h2{font-family:var(--font-display);font-size:1.4rem;font-weight:400}h3{font-size:.9rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:13px;font-weight:500;border:none;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#0077ed}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-3);color:var(--text-primary);border-color:var(--border-hover)}.btn-danger{background:#ff3b3014;color:var(--danger);border:1px solid rgba(255,59,48,.18)}.btn-danger:hover{background:#ff3b3024}.btn-sm{padding:5px 12px;font-size:12px}.btn:disabled{opacity:.35;cursor:not-allowed}.card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.input{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;font-family:var(--font-body);font-size:14px;color:var(--text-primary);width:100%;transition:var(--transition);outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:80px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:500;background:var(--bg-3);color:var(--text-secondary);border:1px solid var(--border)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.dot-pulse{width:8px;height:8px;border-radius:50%;animation:pulse 1.2s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor:after{content:"▌";animation:blink .8s step-end infinite;font-size:.9em;margin-left:1px}.glow-line{height:1px;background:var(--border)}.tab-bar{display:flex;gap:2px;padding:4px;background:var(--bg-1);border-radius:var(--radius-md);border:1px solid var(--border)}.tab{flex:1;padding:7px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;color:var(--text-muted);background:transparent;border:none;transition:var(--transition);text-align:center}.tab.active{background:#fff;color:var(--text-primary);box-shadow:var(--shadow-sm)}.tab:hover:not(.active){color:var(--text-primary)}.divider{height:1px;background:var(--border);margin:12px 0}.streaming-text{white-space:pre-wrap;word-break:break-word;line-height:1.7}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500}#root{position:relative;z-index:1}
