@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-base:#1a1525;--bg-raised:#1e1930;--bg-deep:#14101e;--neu-light:#ffffff12;--neu-dark:#0000008c;--neu-shadow:-6px -6px 14px var(--neu-light), 6px 6px 14px var(--neu-dark);--neu-shadow-sm:-3px -3px 8px var(--neu-light), 3px 3px 8px var(--neu-dark);--neu-shadow-lg:-10px -10px 24px var(--neu-light), 10px 10px 24px var(--neu-dark);--neu-inset:inset -4px -4px 8px var(--neu-light), inset 4px 4px 8px var(--neu-dark);--neu-inset-sm:inset -2px -2px 5px var(--neu-light), inset 2px 2px 5px var(--neu-dark);--neu-inset-lg:inset -6px -6px 14px var(--neu-light), inset 6px 6px 14px var(--neu-dark);--clr-primary:#8b5cf6;--clr-primary-dim:#8b5cf626;--clr-accent:#06b6d4;--clr-accent-dim:#06b6d426;--clr-success:#10b981;--clr-warning:#f59e0b;--clr-danger:#ef4444;--text-primary:#e8e0f5;--text-secondary:#9e94c0;--text-muted:#5a5278;--text-accent:#b39ddb;--border-neu:#ffffff0a;--border-accent:#8b5cf64d;--gradient-primary:linear-gradient(135deg, #8b5cf6, #06b6d4);--gradient-text:linear-gradient(135deg, #c4b5fd, #67e8f9);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--font-sans:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;overflow-x:hidden}#root{position:relative}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:700;line-height:1.2}.gradient-text{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.neu-card{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow)}.neu-card-sm{background:var(--bg-base);border-radius:var(--radius-md);box-shadow:var(--neu-shadow-sm)}.neu-card-lg{background:var(--bg-base);border-radius:var(--radius-xl);box-shadow:var(--neu-shadow-lg)}.glass-card{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);border:none}.neu-inset{background:var(--bg-base);border-radius:var(--radius-md);box-shadow:var(--neu-inset)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;background:var(--bg-base);box-shadow:var(--neu-shadow-sm);color:var(--text-secondary);border:none;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{color:var(--text-primary);box-shadow:var(--neu-shadow)}.btn:active{box-shadow:var(--neu-inset-sm);color:var(--text-primary);transform:scale(.98)}.btn-primary{background:var(--bg-base);color:var(--clr-primary);box-shadow:var(--neu-shadow-sm), inset 0 0 0 1.5px #8b5cf633}.btn-primary:hover{color:#c4b5fd;box-shadow:var(--neu-shadow), inset 0 0 0 1.5px #8b5cf666}.btn-primary:active{box-shadow:var(--neu-inset-sm), inset 0 0 0 1.5px #8b5cf666;color:#c4b5fd}.btn-secondary{background:var(--bg-base);color:var(--text-secondary);box-shadow:var(--neu-shadow-sm)}.btn-ghost{box-shadow:none;color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--bg-base);box-shadow:var(--neu-shadow-sm);color:var(--text-secondary)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-sm{padding:var(--space-2) var(--space-3);font-size:13px}.btn-lg{padding:var(--space-4) var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);font-size:15px}.btn-lg:hover{box-shadow:var(--neu-shadow-lg)}.btn-icon{width:38px;height:38px;padding:0}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-base);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);box-shadow:var(--neu-inset);transition:all var(--transition-base);border:none;outline:none;font-size:14px}.input:focus{box-shadow:var(--neu-inset), 0 0 0 2px #8b5cf640}.input::placeholder{color:var(--text-muted)}.badge{border-radius:var(--radius-full);letter-spacing:.02em;box-shadow:var(--neu-shadow-sm);background:var(--bg-base);align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-purple{color:#c4b5fd;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #8b5cf633}.badge-cyan{color:#67e8f9;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #06b6d433}.badge-green{color:#6ee7b7;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #10b98133}.badge-amber{color:#fde68a;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #f59e0b33}.badge-red{color:#fca5a5;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #ef444433}.spinner{border:2px solid #8b5cf626;border-top-color:var(--clr-primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.spinner-lg{border-width:3px;width:38px;height:38px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-sm);box-shadow:var(--neu-inset-sm);background:linear-gradient(90deg,#ffffff05 25%,#ffffff0d 50%,#ffffff05 75%) 0 0/200% 100%;animation:1.8s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-bar{border-radius:var(--radius-full);width:100%;height:6px;box-shadow:var(--neu-inset-sm);overflow:hidden}.progress-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width .5s}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8b5cf633;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8b5cf666}.tabs{gap:var(--space-1);border-radius:var(--radius-lg);box-shadow:var(--neu-inset);background:var(--bg-base);padding:6px;display:flex}.tab-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;gap:var(--space-2);box-shadow:none;background:0 0;border:none;flex:1;font-size:13px;font-weight:600;display:flex}.tab-btn:hover{color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse-ring{0%,to{box-shadow:0 0 #8b5cf64d}50%{box-shadow:0 0 0 6px #8b5cf600}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-fade-in-scale{animation:.3s forwards fadeInScale}.animate-float{animation:3s ease-in-out infinite float}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:70ms}.stagger-children>:nth-child(3){animation-delay:.14s}.stagger-children>:nth-child(4){animation-delay:.21s}.stagger-children>:nth-child(5){animation-delay:.28s}.stagger-children>:nth-child(6){animation-delay:.35s}.divider{background:0 0;border:none;height:1px;box-shadow:1px 1px #ffffff0a,-1px -1px #0000004d}.empty-state{justify-content:center;align-items:center;gap:var(--space-4);padding:72px var(--space-8);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.empty-state-icon{opacity:.4;filter:drop-shadow(0 4px 8px #0006);font-size:48px}.panel-error{align-items:flex-start;gap:14px;padding:20px 24px;display:flex}.panel-error-icon{flex-shrink:0;font-size:22px}.panel-error-title{color:#f87171;margin-bottom:4px;font-weight:600}.panel-error-msg{font-size:13px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.grid-2{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.w-full{width:100%}.text-center{text-align:center}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-mono{font-family:var(--font-mono)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-root{background:var(--bg-base);flex-direction:column;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1100px;margin:0 auto;padding:28px 24px 48px;display:flex}.app-tabs{border-radius:var(--radius-xl);box-shadow:var(--neu-inset);background:var(--bg-base);scrollbar-width:none;gap:4px;padding:6px;display:flex;overflow-x:auto}.app-tabs::-webkit-scrollbar{display:none}.tab-btn{border-radius:var(--radius-lg);min-width:88px;color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;box-shadow:none;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .25s;display:flex}.tab-btn:hover:not(.tab-disabled){color:var(--text-secondary)}.tab-btn.active{background:var(--bg-base);color:var(--clr-primary);box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #8b5cf62e}.tab-btn.tab-disabled{opacity:.35;cursor:not-allowed}.tab-spinner{border:1.5px solid #8b5cf633;border-top-color:var(--clr-primary);border-radius:50%;width:8px;height:8px;animation:.7s linear infinite spin}.app-panel{flex:1;min-height:500px;animation:.35s fadeIn}.app-export{justify-content:flex-end;display:flex}@media (width<=640px){.app-main{padding:16px 12px 32px}.tab-btn{min-width:70px;padding:8px 10px;font-size:12px}}.header{background:var(--bg-base);z-index:50;position:sticky;top:0;box-shadow:0 4px 16px #0006,0 2px 4px #ffffff08}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:16px 24px;display:flex}.header-brand{align-items:center;gap:14px;display:flex}.header-logo{background:var(--bg-base);width:44px;height:44px;box-shadow:var(--neu-shadow-sm);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:box-shadow .25s;display:flex}.header-logo:hover{box-shadow:var(--neu-shadow)}.header-logo svg{display:block}.header-title{color:var(--text-primary);letter-spacing:-.03em;font-size:21px;font-weight:800;line-height:1}.header-subtitle{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;margin-top:3px;font-size:10.5px;font-weight:500}.header-right{align-items:center;gap:14px;display:flex}.header-badge{background:var(--bg-base);border-radius:var(--radius-full);box-shadow:var(--neu-inset-sm);color:var(--text-secondary);align-items:center;gap:8px;padding:6px 14px;font-size:11px;display:flex}.header-badge-dot{background:var(--clr-success);width:7px;height:7px;box-shadow:0 0 6px var(--clr-success);border-radius:50%;flex-shrink:0;animation:2.5s ease-in-out infinite pulse-ring}.header-badge-aws{color:#fbbf24;font-weight:700}.header-badge-model{background:var(--bg-base);color:#67e8f9;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #06b6d433;border-radius:var(--radius-full);padding:2px 8px;font-size:10px;font-weight:700}.header-github{color:var(--text-muted);border-radius:var(--radius-md);background:var(--bg-base);box-shadow:var(--neu-shadow-sm);font-size:13px;font-family:var(--font-sans);cursor:pointer;border:none;align-items:center;gap:6px;padding:7px 14px;font-weight:600;text-decoration:none;transition:all .25s;display:flex}.header-github:hover{color:var(--text-primary);box-shadow:var(--neu-shadow)}.header-github:active{box-shadow:var(--neu-inset-sm)}@media (width<=640px){.header-badge,.header-subtitle{display:none}.header-title{font-size:18px}}.upload-wrapper{flex-direction:column;gap:28px;display:flex}.upload-hero{text-align:center;padding:8px 0}.upload-hero-title{letter-spacing:-.03em;margin-bottom:12px;font-size:30px;font-weight:800}.upload-hero-sub{color:var(--text-secondary);max-width:560px;margin:0 auto;font-size:15px;line-height:1.7}.upload-zone{border-radius:var(--radius-xl);text-align:center;cursor:pointer;background:var(--bg-base);box-shadow:var(--neu-inset-lg);padding:52px 32px;transition:all .35s;position:relative}.upload-zone:after{content:"";border-radius:var(--radius-lg);pointer-events:none;border:2px dashed #8b5cf61f;transition:border-color .3s;position:absolute;inset:12px}.upload-zone:hover:after,.upload-zone--active:after{border-color:#8b5cf659}.upload-zone--active{box-shadow:var(--neu-inset-lg), 0 0 0 2px #8b5cf633}.upload-zone--reject:after{border-color:#ef444466!important}.upload-zone--has-file{box-shadow:var(--neu-inset), 0 0 0 1.5px #10b98140;padding:32px}.upload-zone--has-file:after{border-color:#10b98133}.upload-placeholder{flex-direction:column;align-items:center;gap:14px;display:flex}.upload-icon{filter:drop-shadow(0 4px 12px #00000080);font-size:54px;line-height:1}.upload-cta{color:var(--text-primary);font-size:18px;font-weight:700}.upload-or{margin:-6px 0}.upload-browse-btn{color:var(--clr-primary);margin-top:4px;padding:10px 28px;font-size:14px}.upload-hint{margin-top:-4px}.upload-file-preview{justify-content:center;align-items:center;gap:18px;display:flex}.upload-file-icon{border-radius:var(--radius-md);background:var(--bg-base);width:64px;height:64px;box-shadow:var(--neu-shadow-sm);justify-content:center;align-items:center;font-size:40px;display:flex}.upload-file-info{text-align:left}.upload-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:16px;font-weight:600;overflow:hidden}.upload-error{border-radius:var(--radius-md);background:var(--bg-base);box-shadow:var(--neu-inset-sm), 0 0 0 1.5px #ef444440;color:#f87171;align-items:center;gap:10px;padding:12px 18px;font-size:14px;display:flex}.upload-change-btn{align-self:center;font-size:13px}.upload-features{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.upload-feature-card{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-sm);flex-direction:column;gap:7px;padding:18px 16px;transition:box-shadow .25s,transform .25s;display:flex}.upload-feature-card:hover{box-shadow:var(--neu-shadow);transform:translateY(-2px)}.upload-feature-card:active{box-shadow:var(--neu-inset-sm);transform:translateY(0)}.upload-feature-icon{font-size:24px}.upload-feature-label{color:var(--text-primary);font-size:13px;font-weight:700}.upload-feature-desc{font-size:12px;line-height:1.4}@media (width<=640px){.upload-features{grid-template-columns:repeat(2,1fr)}.upload-hero-title{font-size:22px}.upload-zone{padding:36px 16px}}.summary-panel{flex-direction:column;gap:18px;display:flex}.summary-header{background:var(--bg-base);border-radius:var(--radius-xl);box-shadow:var(--neu-shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:22px 26px;display:flex}.summary-header-left{align-items:center;gap:16px;display:flex}.summary-doc-icon{border-radius:var(--radius-md);background:var(--bg-base);width:56px;height:56px;box-shadow:var(--neu-inset-sm);justify-content:center;align-items:center;font-size:32px;display:flex}.summary-doc-title{font-size:18px;font-weight:700}.summary-meta-pills{flex-wrap:wrap;gap:8px;display:flex}.summary-exec{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);padding:26px}.summary-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:16px;font-size:11px;font-weight:700;display:flex}.summary-section-icon{font-size:16px}.summary-exec-text{color:var(--text-primary);font-size:15px;line-height:1.85}.summary-topics-row{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 2px;display:flex}.summary-insights{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);padding:26px}.summary-insights-list{flex-direction:column;gap:10px;display:flex}.summary-insight-item{background:var(--bg-base);border-radius:var(--radius-md);box-shadow:var(--neu-inset-sm);align-items:flex-start;gap:14px;padding:14px 16px;transition:box-shadow .25s;display:flex}.summary-insight-item:hover{box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #8b5cf61f}.summary-insight-num{background:var(--bg-base);width:28px;height:28px;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1.5px #8b5cf640;color:var(--clr-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.summary-insight-text{color:var(--text-primary);flex:1;font-size:14px;line-height:1.65}.summary-skeleton{flex-direction:column;gap:18px;padding:4px 0;display:flex}.summary-sk-title{border-radius:8px;width:50%;height:28px}.summary-sk-text{border-radius:6px;height:16px}.summary-sk-text.short{width:70%}.summary-sk-cards{gap:10px;display:flex}.summary-sk-card{border-radius:8px;flex:1;height:32px}.summary-sk-subtitle{border-radius:6px;width:30%;height:14px}.summary-sk-insight{border-radius:12px;height:56px}.chat-root{background:var(--bg-base);border-radius:var(--radius-xl);height:610px;box-shadow:var(--neu-shadow-lg);flex-direction:column;display:flex;overflow:hidden}.chat-header{background:var(--bg-base);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 22px;display:flex;box-shadow:0 2px 6px #0000004d,0 1px #ffffff0a}.chat-header-info{align-items:center;gap:12px;display:flex}.chat-header-icon{border-radius:var(--radius-md);background:var(--bg-base);width:36px;height:36px;box-shadow:var(--neu-inset-sm);justify-content:center;align-items:center;font-size:18px;display:flex}.chat-header-title{font-size:14px;font-weight:700}.chat-header-doc{margin-top:1px}.chat-header-badge{align-items:center;gap:8px;display:flex}.header-badge-dot{background:var(--clr-success);width:7px;height:7px;box-shadow:0 0 6px var(--clr-success);border-radius:50%;animation:2.5s ease-in-out infinite pulse-ring}.chat-messages{background:var(--bg-base);flex-direction:column;flex:1;gap:16px;padding:20px 22px;display:flex;overflow-y:auto;box-shadow:inset 0 8px 16px #0003,inset 0 -4px 8px #0000001a}.chat-message{align-items:flex-start;gap:10px;max-width:85%;display:flex}.chat-message--user{flex-direction:row-reverse;align-self:flex-end}.chat-message--ai{align-self:flex-start}.chat-avatar{background:var(--bg-base);width:34px;height:34px;box-shadow:var(--neu-shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.chat-bubble{border-radius:18px;padding:12px 16px}.chat-message--user .chat-bubble{background:var(--bg-base);box-shadow:var(--neu-shadow-sm), inset 0 0 0 1.5px #8b5cf633;color:#c4b5fd;border-radius:18px 18px 4px}.chat-message--ai .chat-bubble{background:var(--bg-base);box-shadow:var(--neu-inset-sm);border-radius:18px 18px 18px 4px}.chat-bubble-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.65}.chat-message--user .chat-bubble-text{color:#c4b5fd}.chat-bubble-time{text-align:right;margin-top:6px;display:block}.chat-bubble--thinking{align-items:center;gap:6px;padding:14px 18px;display:flex}.chat-dot{background:var(--bg-base);width:7px;height:7px;box-shadow:var(--neu-shadow-sm);border-radius:50%;animation:1.3s infinite chat-bounce}.chat-dot:nth-child(2){animation-delay:.2s}.chat-dot:nth-child(3){animation-delay:.4s}@keyframes chat-bounce{0%,60%,to{box-shadow:var(--neu-shadow-sm);transform:translateY(0)}30%{box-shadow:var(--neu-shadow);transform:translateY(-6px)}}.chat-suggestions{flex-wrap:wrap;flex-shrink:0;gap:8px;padding:0 22px 12px;display:flex}.chat-suggestion-btn{background:var(--bg-base);border-radius:var(--radius-full);box-shadow:var(--neu-shadow-sm);color:var(--clr-primary);font-size:12px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;padding:6px 14px;font-weight:600;transition:all .2s}.chat-suggestion-btn:hover{box-shadow:var(--neu-shadow);color:#c4b5fd}.chat-suggestion-btn:active{box-shadow:var(--neu-inset-sm)}.chat-input-row{background:var(--bg-base);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-shrink:0;align-items:flex-end;gap:10px;padding:12px 18px;display:flex;box-shadow:0 -2px 6px #00000040,0 -1px #ffffff08}.chat-textarea{background:var(--bg-base);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);resize:none;min-height:42px;max-height:120px;box-shadow:var(--neu-inset);border:none;outline:none;flex:1;padding:10px 14px;font-size:14px;line-height:1.5;transition:box-shadow .2s}.chat-textarea:focus{box-shadow:var(--neu-inset), 0 0 0 2px #8b5cf633}.chat-textarea:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn{border-radius:var(--radius-md);flex-shrink:0;width:44px;height:44px;padding:0;font-size:18px}.chat-hint{text-align:center;background:var(--bg-base);flex-shrink:0;padding:0 18px 10px}.compare-panel{flex-direction:column;gap:22px;display:flex}.compare-upload-row{align-items:center;gap:16px;display:flex}.compare-drop{border-radius:var(--radius-lg);cursor:pointer;background:var(--bg-base);box-shadow:var(--neu-inset);text-align:center;flex:1;padding:26px 16px;transition:box-shadow .3s}.compare-drop--active{box-shadow:var(--neu-inset), 0 0 0 2px #8b5cf640}.compare-drop--filled{box-shadow:var(--neu-inset-sm), 0 0 0 1.5px #10b98140}.compare-drop-empty{flex-direction:column;align-items:center;gap:8px;display:flex}.compare-drop-icon{filter:drop-shadow(0 3px 8px #0006);font-size:30px}.compare-drop-label{font-size:14px;font-weight:600}.compare-drop-file{color:var(--clr-success);justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.compare-vs{color:var(--text-muted);letter-spacing:.1em;background:var(--bg-base);width:40px;height:40px;box-shadow:var(--neu-shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.compare-btn{align-self:center;min-width:220px}.compare-results{flex-direction:column;gap:16px;display:flex}.compare-overview{background:var(--bg-base);border-radius:var(--radius-xl);box-shadow:var(--neu-shadow);align-items:center;gap:28px;padding:26px;display:flex}.compare-overview-text{flex:1}.compare-overview-label{margin-bottom:8px;font-size:20px;font-weight:700}.similarity-meter{flex-shrink:0}.similarity-ring{width:96px;height:96px;box-shadow:var(--neu-shadow-sm);background:var(--bg-base);border-radius:50%;position:relative}.similarity-svg{width:96px;height:96px;transform:rotate(-90deg)}.similarity-track{fill:none;stroke:#ffffff0a;stroke-width:8px}.similarity-fill{fill:none;stroke-width:8px;stroke-linecap:round;stroke-dasharray:201.06;transition:stroke-dashoffset 1s}.similarity-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.similarity-pct{font-size:22px;font-weight:800;line-height:1}.compare-section{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);padding:20px 22px}.compare-section-title{text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;font-size:12px;font-weight:700}.compare-section-title--green{color:#6ee7b7}.compare-section-title--red{color:#fca5a5}.compare-section-title--purple{color:#c4b5fd}.compare-section-title--cyan{color:#67e8f9}.compare-list{flex-direction:column;gap:9px;list-style:none;display:flex}.compare-list li{color:var(--text-secondary);background:var(--bg-base);border-radius:var(--radius-sm);box-shadow:var(--neu-inset-sm);padding:8px 12px;font-size:13px;line-height:1.5}@media (width<=640px){.compare-upload-row{flex-direction:column}.grid-2{grid-template-columns:1fr}}.entity-panel{flex-direction:column;gap:16px;display:flex}.entity-overview{background:var(--bg-base);border-radius:var(--radius-xl);box-shadow:var(--neu-shadow);flex-wrap:wrap;align-items:center;gap:24px;padding:22px 26px;display:flex}.entity-overview-count{text-shadow:-1px -1px 3px #ffffff0f,1px 1px 3px #00000080;font-size:42px;font-weight:800}.entity-overview-breakdown{flex-wrap:wrap;gap:8px;display:flex}.entity-overview-pill{background:var(--bg-base);border-radius:var(--radius-full);box-shadow:var(--neu-inset-sm);color:var(--text-secondary);align-items:center;gap:6px;padding:5px 12px;font-size:12px;display:flex}.entity-cards{flex-direction:column;gap:10px;display:flex}.entity-card{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-sm);transition:box-shadow .25s;overflow:hidden}.entity-card:hover{box-shadow:var(--neu-shadow)}.entity-card-header{cursor:pointer;width:100%;color:var(--text-primary);font-family:var(--font-sans);background:0 0;border:none;justify-content:space-between;align-items:center;padding:15px 20px;transition:background .2s;display:flex}.entity-card-header:hover{background:#ffffff05}.entity-card-header:active{background:#0000001a}.entity-card-label{align-items:center;gap:10px;display:flex}.entity-card-icon{font-size:18px}.entity-card-name{font-size:14px;font-weight:600}.entity-card-chevron{color:var(--text-muted);font-size:10px}.entity-tag-cloud{flex-wrap:wrap;gap:8px;padding:0 20px 18px;display:flex}.entity-tag{border-radius:var(--radius-full);background:var(--bg-base);cursor:default;align-items:center;padding:5px 13px;font-size:12px;font-weight:600;transition:box-shadow .2s,transform .15s;display:inline-flex}.entity-tag:hover{transform:scale(1.04)}.entity-tag--purple{color:#c4b5fd;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #8b5cf633}.entity-tag--cyan{color:#67e8f9;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #06b6d433}.entity-tag--green{color:#6ee7b7;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #10b98133}.entity-tag--amber{color:#fde68a;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #f59e0b33}.entity-tag--red{color:#fca5a5;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1px #ef444433}.entity-tag:active{transform:scale(.98);box-shadow:var(--neu-inset-sm)!important}.entity-skeleton{flex-direction:column;gap:12px;display:flex}.entity-sk-card{border-radius:var(--radius-lg);height:56px}.sentiment-panel{flex-direction:column;gap:16px;display:flex}.sentiment-overview{background:var(--bg-base);border-radius:var(--radius-xl);box-shadow:var(--neu-shadow-lg);flex-wrap:wrap;align-items:flex-start;gap:28px;padding:26px;display:flex}.sentiment-overview-right{flex-direction:column;flex:1;gap:16px;min-width:200px;display:flex}.sentiment-gauge{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.sentiment-gauge-container{background:var(--bg-base);width:168px;height:100px;box-shadow:var(--neu-inset);border-radius:84px 84px 0 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.sentiment-gauge-svg{width:160px;height:96px}.sentiment-gauge-label{text-align:center;flex-direction:column;align-items:center;gap:2px;margin-top:-4px;display:flex}.sentiment-gauge-score{font-size:30px;font-weight:800}.sentiment-overall-badge{border-radius:var(--radius-full);background:var(--bg-base);align-self:flex-start;align-items:center;padding:7px 20px;font-size:15px;font-weight:700;display:inline-flex}.sentiment--positive{color:#6ee7b7;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1.5px #10b98140}.sentiment--negative{color:#fca5a5;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1.5px #ef444440}.sentiment--neutral{color:#9ca3af;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1.5px #6b728040}.sentiment--mixed{color:#fde68a;box-shadow:var(--neu-shadow-sm), inset 0 0 0 1.5px #f59e0b40}.sentiment-summary{color:var(--text-secondary);font-size:14px;font-style:italic;line-height:1.7}.sentiment-meta-row{flex-wrap:wrap;gap:14px;display:flex}.sentiment-meta-item{background:var(--bg-base);border-radius:var(--radius-md);box-shadow:var(--neu-inset-sm);flex-direction:column;gap:4px;padding:10px 14px;display:flex}.sentiment-meta-val{color:var(--text-primary);font-size:14px;font-weight:700}.sentiment-tags-row{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 22px;display:flex}.sentiment-tags-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sentiment-para-section{background:var(--bg-base);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);padding:22px 26px}.sentiment-para-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:18px;font-size:13px;font-weight:700}.sentiment-para-list{flex-direction:column;gap:16px;display:flex}.para-bar{flex-direction:column;gap:6px;display:flex}.para-bar-header{justify-content:space-between;align-items:center;display:flex}.progress-bar{box-shadow:var(--neu-inset-sm);background:var(--bg-base)}.para-bar-excerpt{-webkit-line-clamp:1;-webkit-box-orient:vertical;padding-left:2px;line-height:1.4;display:-webkit-box;overflow:hidden}.sentiment-skeleton{flex-direction:column;gap:16px;display:flex}.export-wrapper{align-items:center;gap:14px;display:flex}.export-btn{min-width:190px;color:var(--clr-primary);box-shadow:var(--neu-shadow), inset 0 0 0 1.5px #8b5cf62e;transition:all .35s}.export-btn:hover{box-shadow:var(--neu-shadow-lg), inset 0 0 0 1.5px #8b5cf659;color:#c4b5fd}.export-btn:active{box-shadow:var(--neu-inset), inset 0 0 0 1.5px #8b5cf64d}.export-btn--done{color:#6ee7b7!important;box-shadow:var(--neu-shadow-lg), inset 0 0 0 1.5px #10b9814d!important}.export-hint{white-space:nowrap}
