:root{--color-bg:#09090b;--color-bg-elevated:#0f0f12;--color-bg-card:#131316;--color-bg-input:#1a1a1f;--color-bg-hover:#1e1e24;--color-text:#f0f0f2;--color-text-secondary:#a0a0ab;--color-text-dim:#55555e;--color-border:#222228;--color-border-hover:#333339;--color-accent:#f43f5e;--color-accent-glow:rgba(244,63,94,.15);--color-accent-hover:#e11d48;--color-error:#ef4444;--color-error-bg:rgba(239,68,68,.08);--color-success:#22c55e;--color-success-bg:rgba(34,197,94,.08);--color-blue:#3b82f6;--color-blue-bg:rgba(59,130,246,.08);--color-purple:#a855f7;--color-purple-bg:rgba(168,85,247,.08);--color-amber:#f59e0b;--color-amber-bg:rgba(245,158,11,.08);--font-sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono","Fira Code","JetBrains Mono",monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}*,:after,:before{box-sizing:border-box;padding:0;margin:0}html{height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100%}.app{min-height:100vh;display:flex;flex-direction:column}.header{padding:20px 24px;justify-content:space-between;border-bottom:1px solid var(--color-border);background:var(--color-bg);position:-webkit-sticky;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header,.header-left{display:flex;align-items:center}.header-left{gap:16px}.header-title{font-size:.9375rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.header-badge{padding:3px 10px;border-radius:100px;background:var(--color-accent-glow);color:var(--color-accent);font-size:.6875rem;font-weight:600;letter-spacing:.03em}.tabs{display:flex;gap:4px;background:var(--color-bg-elevated);padding:3px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.tab-btn{background:transparent;border:none;color:var(--color-text-dim);padding:7px 16px;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .18s ease;white-space:nowrap}.tab-btn:hover{color:var(--color-text-secondary)}.tab-btn.active{background:var(--color-bg-card);color:var(--color-text);box-shadow:0 1px 3px rgba(0,0,0,.3)}.content{flex:1 1;padding:32px 24px;max-width:720px;width:100%;margin:0 auto}.panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:28px;display:flex;flex-direction:column;gap:20px;animation:slideUp .3s ease}.panel-header{display:flex;align-items:flex-start;gap:14px}.panel-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.panel-icon.chat{background:var(--color-purple-bg);color:var(--color-purple)}.panel-icon.upload{background:var(--color-blue-bg);color:var(--color-blue)}.panel-icon.email{background:var(--color-amber-bg);color:var(--color-amber)}.panel-meta{flex:1 1}.panel-title{font-size:1.0625rem;font-weight:600;color:var(--color-text);margin-bottom:4px}.panel-desc{font-size:.8125rem;color:var(--color-text-dim);line-height:1.5}.field-group{display:flex;flex-direction:column;gap:10px}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.field{width:100%;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:11px 14px;color:var(--color-text);font-family:var(--font-sans);font-size:.875rem;outline:none;transition:border-color .18s,box-shadow .18s}.field:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.field::placeholder{color:var(--color-text-dim)}textarea.field{resize:vertical;line-height:1.6}.field-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.btn-row{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:11px 22px;font-weight:600;font-size:.8125rem;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s}.btn:hover{background:var(--color-accent-hover);box-shadow:0 4px 16px var(--color-accent-glow)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);box-shadow:none;color:var(--color-text)}.result-card{border-radius:var(--radius-md);padding:16px 18px;font-size:.8125rem;line-height:1.65}.result-card.response{background:var(--color-bg-input);border:1px solid var(--color-border);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;font-family:var(--font-sans);max-height:400px;overflow-y:auto}.result-card.success{background:var(--color-success-bg);border:1px solid rgba(34,197,94,.15);color:var(--color-success)}.result-card.error{background:var(--color-error-bg);border:1px solid rgba(239,68,68,.15);color:var(--color-error)}.result-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;opacity:.7}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;cursor:pointer;transition:border-color .18s,background .18s;position:relative}.upload-zone.dragover,.upload-zone:hover{border-color:var(--color-accent);background:var(--color-accent-glow)}.upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-icon{font-size:2rem;margin-bottom:8px}.upload-text{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:4px}.upload-hint{font-size:.75rem;color:var(--color-text-dim)}.upload-filename{margin-top:12px;padding:8px 14px;background:var(--color-bg-input);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text);font-family:var(--font-mono);display:inline-block}.empty-state{padding:32px 16px;text-align:center;border-radius:var(--radius-md);border:1px dashed var(--color-border)}.empty-text{color:var(--color-text-dim);font-size:.8125rem}.loading-dots:after{content:"";animation:dots 1.5s step-end infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.header{padding:16px;flex-direction:column;gap:12px;align-items:stretch}.tabs{width:100%}.tab-btn{flex:1 1;text-align:center}.content{padding:20px 16px}.panel{padding:20px}.field-row{grid-template-columns:1fr}}