:root{--brand-primary:oklch(0.17 0.08 275);--brand-secondary:oklch(0.42 0.10 230);--brand-accent:oklch(0.70 0.17 245);--brand-aqua-electric:oklch(0.85 0.17 210);--brand-aqua-muted:oklch(0.79 0.07 225);--text-primary:oklch(0.18 0.09 275);--text-secondary:oklch(0.55 0.03 275);--text-tertiary:oklch(0.50 0.02 275);--text-on-dark:oklch(0.97 0.003 275);--text-on-accent:oklch(0.99 0.003 275);--surface-light:oklch(0.99 0.003 275);--surface-soft:oklch(0.97 0.004 275);--surface-muted:oklch(0.92 0.008 275);--surface-raised:oklch(0.99 0.003 275);--surface-overlay:oklch(0.15 0.06 275/0.6);--state-success:oklch(0.70 0.17 245);--state-error:oklch(0.50 0.20 25);--state-warning:oklch(0.88 0.18 95);--state-info:oklch(0.79 0.07 225);--color-primary:var(--brand-primary);--color-action:var(--brand-accent);--color-background:var(--surface-light);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-highlight:var(--brand-aqua-electric);--color-background-alt:var(--surface-soft);--color-footer:var(--brand-secondary);--color-primary-light:oklch(0.17 0.08 275/0.08);--color-action-light:oklch(0.70 0.17 245/0.10);--color-highlight-light:oklch(0.85 0.17 210/0.10);--color-success:var(--state-success);--color-warning:var(--state-warning);--color-danger:var(--state-error);--color-info:var(--state-info);--font-display:"Urbanist",system-ui,sans-serif;--font-body:"Figtree",system-ui,sans-serif;--font-mono:"JetBrains Mono","Monaco","Menlo","Consolas",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:clamp(1.25rem,1.1rem + 0.5vw,1.5rem);--text-xl:clamp(1.5rem,1.3rem + 0.7vw,1.875rem);--text-2xl:clamp(1.875rem,1.5rem + 1.2vw,2.5rem);--text-3xl:clamp(2.25rem,1.8rem + 1.5vw,3.5rem);--weight-regular:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;--weight-extra:800;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px oklch(0.17 0.08 275/0.05);--shadow-sm:0 2px 4px oklch(0.17 0.08 275/0.06),0 1px 2px oklch(0.17 0.08 275/0.04);--shadow-md:0 4px 12px oklch(0.17 0.08 275/0.08),0 2px 4px oklch(0.17 0.08 275/0.04);--shadow-lg:0 8px 24px oklch(0.17 0.08 275/0.10),0 4px 8px oklch(0.17 0.08 275/0.05);--shadow-xl:0 16px 48px oklch(0.17 0.08 275/0.14),0 8px 16px oklch(0.17 0.08 275/0.06);--shadow-glow:0 0 20px oklch(0.70 0.17 245/0.25);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-snappy:cubic-bezier(0.2,0,0,1);--duration-fast:120ms;--duration-normal:200ms;--duration-slow:350ms}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga" 1,"calt" 1;background:oklch(.99 .003 275);background:var(--surface-light);color:oklch(.18 .09 275);color:var(--text-primary);font-family:Figtree,system-ui,sans-serif;font-family:var(--font-body);line-height:1.55;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-weight:700;font-weight:var(--weight-bold);letter-spacing:-.01em;line-height:1.2}#root,.app{display:flex;flex-direction:column;min-height:100vh}.app{gap:20px;margin:0 auto;max-width:1400px;padding:20px}.app-header{background:oklch(.17 .08 275);background:var(--color-primary);border-radius:12px;box-shadow:0 4px 20px oklch(.17 .08 275/.2);color:oklch(.99 .003 275);color:var(--color-background);padding:24px}.header-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:0}.app-title-content{align-items:center;display:flex;gap:16px}.app-avatar{animation-iteration-count:1;border-radius:50%;height:71px;object-fit:cover;transition:all .35s cubic-bezier(.16,1,.3,1);transition:all var(--duration-slow) var(--ease-out)}.app-avatar:hover{transform:scale(1.05)}.title-text{display:flex;flex-direction:column}.app-title h1{color:oklch(.97 .003 275);color:var(--text-on-dark);font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-size:clamp(1.875rem,1.5rem + 1.2vw,2.5rem);font-size:var(--text-2xl);font-weight:800;font-weight:var(--weight-extra);margin-bottom:4px}.app-subtitle{color:oklch(.99 .003 275/.8);font-size:.9rem;margin:0}.header-controls{align-items:center;display:flex;gap:16px}.api-key-status{align-items:center;border-radius:8px;display:flex;font-size:.9rem;gap:8px;padding:8px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.api-key-status.has-key{background:oklch(.6 .17 155/.1);border:1px solid oklch(.6 .17 155/.2);color:oklch(.7 .17 245);color:var(--state-success)}.api-key-status.no-key{background:oklch(.88 .18 95/.1);border:1px solid oklch(.88 .18 95/.2);color:oklch(.88 .18 95);color:var(--state-warning)}.api-key-icon{font-size:1rem}.api-key-text{font-size:.85rem;font-weight:500}.configure-api-key{background:oklch(.88 .18 95/.2);border:1px solid oklch(.88 .18 95/.3);border-radius:4px;color:oklch(.7 .16 75);cursor:pointer;font-size:.8rem;padding:4px 8px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.configure-api-key:hover{background:oklch(.88 .18 95/.3);transform:translateY(-1px)}.delete-button.requires-api-key,.primary-button.requires-api-key,.upload-button.requires-api-key{background-color:oklch(.88 .18 95/.1)!important;border-color:oklch(.88 .18 95/.3)!important;color:oklch(.35 .08 75)!important;opacity:.6}.delete-button.requires-api-key:hover,.primary-button.requires-api-key:hover,.upload-button.requires-api-key:hover{background-color:oklch(.88 .18 95/.2)!important;transform:scale(1.05)}.connection-status{align-items:center;border:1px solid #0000;border-radius:24px;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.status-connected{background:oklch(.99 .003 275/.2);border-color:oklch(.99 .003 275/.3)}.status-connected,.status-disconnected{color:oklch(.99 .003 275);color:var(--color-background)}.status-disconnected{background:oklch(.5 .2 25/.2);border-color:oklch(.5 .2 25/.2)}.status-loading{background:oklch(.88 .18 95/.1);border-color:oklch(.88 .18 95/.2);color:oklch(.88 .18 95);color:var(--state-warning)}.refresh-button,.settings-button{background:oklch(.99 .003 275/.2);border:1px solid oklch(.99 .003 275/.3);border-radius:12px;color:oklch(.99 .003 275);color:var(--color-background);cursor:pointer;font-size:1.2rem;padding:10px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.refresh-button:hover,.settings-button:hover{background:oklch(.85 .17 210);background:var(--color-highlight);box-shadow:0 4px 12px oklch(.85 .17 210/.3);transform:translateY(-2px)}.settings-button.active{background:oklch(.85 .17 210);background:var(--color-highlight);border-color:oklch(.85 .17 210);border-color:var(--color-highlight);color:oklch(.99 .003 275);color:var(--color-background)}.settings-panel{background:oklch(.7 .17 245/.1);border:1px solid oklch(.7 .17 245/.2);border-radius:12px;margin-top:20px;padding:20px}.settings-panel h3{color:oklch(.97 .003 275);color:var(--text-on-dark);margin-bottom:16px;text-shadow:0 1px 3px oklch(.17 .08 275/.2)}.setting-group{margin-bottom:16px}.setting-group label{color:oklch(.97 .003 275);color:var(--text-on-dark);display:block;font-weight:500;margin-bottom:8px;text-shadow:0 1px 2px oklch(.17 .08 275/.1)}.url-input-group{align-items:center;display:flex;gap:12px}.url-input-group input{border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:8px;flex:1 1;font-size:.9rem;padding:10px 16px;transition:border-color .2s cubic-bezier(.16,1,.3,1);transition:border-color var(--duration-normal) var(--ease-out)}.url-input-group input:focus{border-color:oklch(.7 .17 245);border-color:var(--brand-accent);box-shadow:0 0 0 3px oklch(.7 .17 245/.1);outline:none}.test-connection{background:oklch(.7 .17 245);background:var(--brand-accent);border:none;border-radius:8px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);white-space:nowrap}.test-connection:hover:not(:disabled){background:oklch(.6 .15 245);transform:translateY(-1px)}.test-connection:disabled{cursor:not-allowed;opacity:.6}.setting-group small{color:oklch(.97 .003 275);color:var(--text-on-dark);display:block;font-size:.8rem;margin-top:4px;opacity:.9;text-shadow:0 1px 2px oklch(.17 .08 275/.1)}.connection-error{align-items:center;background:oklch(.5 .2 25/.1);border:1px solid oklch(.5 .2 25/.2);border-radius:8px;color:oklch(.5 .2 25);color:var(--state-error);display:flex;justify-content:space-between;margin-top:16px;padding:12px 16px}.fix-button{background:oklch(.5 .2 25);background:var(--state-error);border:none;border-radius:6px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 12px}.app-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:oklch(.99 .003 275/.95);border:1px solid oklch(.99 .003 275/.2);border-radius:16px;box-shadow:0 8px 32px oklch(.17 .08 275/.1);padding:8px}.nav-tabs{display:flex;gap:4px}.nav-tab{align-items:center;background:#0000;border:none;border-radius:12px;border-radius:var(--radius-md);color:oklch(.55 .03 275);color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-size:.875rem;font-size:var(--text-sm);font-weight:500;font-weight:var(--weight-medium);gap:.5rem;gap:var(--space-2);justify-content:center;padding:.75rem 1.25rem;padding:var(--space-3) var(--space-5);transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.nav-tab:hover:not(.disabled){background:oklch(.97 .004 275);background:var(--color-background-alt);color:oklch(.7 .17 245);color:var(--color-action)}.nav-tab.active{background:oklch(.7 .17 245);background:var(--brand-accent);box-shadow:0 2px 4px oklch(.17 .08 275/.06),0 1px 2px oklch(.17 .08 275/.04);box-shadow:var(--shadow-sm);color:oklch(.99 .003 275);color:var(--text-on-accent)}.nav-tab.disabled{cursor:not-allowed;opacity:.4}.tab-icon{font-size:1.2rem}.tab-label{font-weight:600}.app-main{background:oklch(.99 .003 275);background:var(--color-background);border:1px solid oklch(.97 .004 275);border:1px solid var(--color-background-alt);border-radius:16px;box-shadow:0 4px 20px oklch(.17 .08 275/.1);flex:1 1;overflow:hidden;padding:0}.tab-content{height:100%;overflow-y:auto}.connection-required{padding:60px 40px;text-align:center}.connection-message h2{color:oklch(.7 .17 245);color:var(--color-action);font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-size:2rem;margin-bottom:16px}.connection-message p{color:oklch(.55 .03 275);color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:32px}.connection-help{background:oklch(.7 .17 245/.05);border-radius:12px;margin:0 auto;max-width:500px;padding:24px;text-align:left}.connection-help h3{color:oklch(.7 .17 245);color:var(--brand-accent);margin-bottom:16px}.connection-help ol{margin-bottom:24px;padding-left:20px}.connection-help li{color:oklch(.55 .03 275);color:var(--text-secondary);margin-bottom:8px}.help-actions{display:flex;gap:12px;justify-content:center}.primary-button{align-items:center;background:oklch(.7 .17 245);background:var(--brand-accent);border:none;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 2px 4px oklch(.17 .08 275/.06),0 1px 2px oklch(.17 .08 275/.04);box-shadow:var(--shadow-sm);color:oklch(.99 .003 275);color:var(--text-on-accent);cursor:pointer;display:inline-flex;font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-size:1rem;font-size:var(--text-base);font-weight:600;font-weight:var(--weight-semi);gap:.5rem;gap:var(--space-2);padding:.75rem 1.5rem;padding:var(--space-3) var(--space-6);transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.primary-button:hover:not(:disabled){background:oklch(.65 .18 245);box-shadow:0 4px 12px oklch(.17 .08 275/.08),0 2px 4px oklch(.17 .08 275/.04);box-shadow:var(--shadow-md);transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.secondary-button{align-items:center;background:oklch(.99 .003 275);background:var(--surface-light);border:1.5px solid oklch(.7 .17 245);border:1.5px solid var(--brand-accent);border-radius:12px;border-radius:var(--radius-md);color:oklch(.7 .17 245);color:var(--brand-accent);cursor:pointer;display:inline-flex;font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-size:1rem;font-size:var(--text-base);font-weight:600;font-weight:var(--weight-semi);gap:.5rem;gap:var(--space-2);padding:.75rem 1.5rem;padding:var(--space-3) var(--space-6);transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.secondary-button:hover:not(:disabled){background:oklch(.7 .17 245/.08);transform:translateY(-1px)}.secondary-button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{background:oklch(.99 .003 275);background:var(--surface-light);border:1.5px solid oklch(.9 .005 275);border-radius:12px;border-radius:var(--radius-md);color:oklch(.18 .09 275);color:var(--text-primary);font-family:Figtree,system-ui,sans-serif;font-family:var(--font-body);font-size:.875rem;font-size:var(--text-sm);padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);width:100%}input:focus,select:focus,textarea:focus{border-color:oklch(.7 .17 245);border-color:var(--brand-accent);box-shadow:0 0 0 3px oklch(.7 .17 245/.12);outline:none}label{color:oklch(.18 .09 275);color:var(--color-text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}.error{background:linear-gradient(135deg,oklch(.5 .2 25/.1),oklch(.5 .2 25/.05));border:1px solid oklch(.5 .2 25/.2);border-radius:12px;color:oklch(.5 .2 25);color:var(--state-error)}.error,.success{align-items:center;display:flex;font-weight:500;gap:8px;margin-bottom:20px;padding:16px}.success{background:linear-gradient(135deg,oklch(.6 .17 155/.1),oklch(.6 .17 155/.05));border:1px solid oklch(.6 .17 155/.2);border-radius:12px;color:oklch(.7 .17 245);color:var(--state-success)}.loading{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:1.1rem;font-weight:500;padding:40px;text-align:center}.asimetrix-loading{align-items:center;display:flex;flex-direction:column;gap:16px;padding:32px;text-align:center}.asimetrix-logo-animation{animation:asimetrix-pulse 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px oklch(.85 .17 210/.2));height:64px;object-fit:contain;width:64px}.asimetrix-loading span{color:oklch(.7 .17 245);color:var(--color-action);font-size:1.1rem;font-weight:600;opacity:.9}.search-loading{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--color-alt-background) 0,oklch(.99 .003 275/.8) 100%);border:1px solid oklch(.85 .17 210);border:1px solid var(--color-highlight);border-radius:16px;margin:24px 0;padding:24px}@keyframes asimetrix-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.upload-document{padding:32px;position:relative}.upload-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(.99 .003 275/.95);border-radius:inherit;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.upload-header{margin-bottom:32px;text-align:center}.upload-header h2{color:oklch(.7 .17 245);color:var(--color-action);font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-size:1.8rem;margin-bottom:8px}.upload-header p{color:oklch(.55 .03 275);color:var(--color-text-secondary);font-size:1rem}.upload-form{margin:0 auto;max-width:800px}.form-section{background:oklch(.97 .004 275);background:var(--color-background-alt);border:1px solid oklch(.97 .004 275);border:1px solid var(--color-background-alt);border-radius:16px;margin-bottom:32px;padding:24px}.form-section h3{align-items:center;color:oklch(.7 .17 245);color:var(--color-action);display:flex;font-size:1.2rem;gap:8px}.form-group,.form-section h3{margin-bottom:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.file-drop-area{background:oklch(.99 .003 275);background:var(--color-background);border:2px dashed oklch(.55 .03 275);border:2px dashed var(--color-text-secondary);border-radius:16px;cursor:pointer;overflow:hidden;padding:40px 20px;position:relative;text-align:center;transition:all .35s cubic-bezier(.16,1,.3,1);transition:all var(--duration-slow) var(--ease-out)}.file-drop-area:before{background:linear-gradient(135deg,oklch(.97 .004 275),oklch(.97 .01 230/.3));background:linear-gradient(135deg,var(--surface-soft) 0,oklch(.97 .01 230/.3) 100%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .35s cubic-bezier(.16,1,.3,1);transition:opacity var(--duration-slow) var(--ease-out);z-index:1}.file-drop-area.drag-over:before,.file-drop-area:hover:before{opacity:1}.file-drop-area:hover{border-color:oklch(.7 .17 245);border-color:var(--color-action);box-shadow:0 8px 25px oklch(.7 .17 245/.15);transform:translateY(-2px)}.file-drop-area.drag-over{background:oklch(.85 .17 210/.1);background:var(--color-highlight-light);border-color:oklch(.85 .17 210);border-color:var(--color-highlight);box-shadow:0 12px 35px oklch(.85 .17 210/.2);transform:scale(1.02)}.drop-area-content,.file-preview{position:relative;z-index:2}.drop-icon{filter:grayscale(.3);font-size:3rem;margin-bottom:16px;transition:all .35s cubic-bezier(.16,1,.3,1);transition:all var(--duration-slow) var(--ease-out)}.file-drop-area.drag-over .drop-icon,.file-drop-area:hover .drop-icon{filter:grayscale(0);transform:scale(1.1)}.drop-text h4{color:oklch(.18 .09 275);color:var(--color-text-primary);font-size:1.2rem;font-weight:600;margin-bottom:8px}.drop-text p{color:oklch(.55 .03 275);color:var(--color-text-secondary);margin-bottom:16px}.click-text{color:oklch(.7 .17 245);color:var(--color-action);font-weight:600;text-decoration:underline}.drop-formats{display:flex;gap:12px;justify-content:center;margin-top:16px}.drop-formats span{background:oklch(.7 .17 245);background:var(--color-action);border-radius:20px;color:oklch(.99 .003 275);color:var(--color-background);font-size:.8rem;font-weight:600;padding:6px 12px;text-transform:uppercase}.file-preview{align-items:center;background:oklch(.99 .003 275);background:var(--color-background);border:1px solid oklch(.97 .004 275);border:1px solid var(--color-background-alt);border-radius:12px;display:flex;gap:16px;padding:20px;text-align:left}.file-icon{color:oklch(.7 .17 245);color:var(--color-action);font-size:2.5rem}.file-details{flex:1 1}.file-name{color:oklch(.18 .09 275);color:var(--color-text-primary);font-size:1.1rem;font-weight:600;margin-bottom:4px}.file-meta{align-items:center;display:flex;gap:12px}.file-size,.file-type{color:oklch(.55 .03 275);color:var(--color-text-secondary);font-size:.9rem}.file-type{background:oklch(.97 .004 275);background:var(--color-background-alt);border-radius:4px;font-weight:500;padding:2px 8px}.file-remove{align-items:center;background:oklch(.5 .2 25);background:var(--color-danger);border:none;border-radius:50%;color:oklch(.99 .003 275);color:var(--color-background);cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:32px;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);width:32px}.file-remove:hover{background:oklch(.45 .2 25);transform:scale(1.1)}.form-group small{color:oklch(.55 .03 275);color:var(--text-secondary);display:block;font-size:.8rem;margin-top:4px}.form-actions{display:flex;gap:16px;justify-content:center;margin-top:32px}.tags-input-container{width:100%}.tags-chips{align-items:center;background:oklch(.99 .003 275);background:var(--color-background);border:1px solid oklch(.55 .03 275);border:1px solid var(--color-text-secondary);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;min-height:48px;padding:12px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.tags-chips:focus-within{border-color:oklch(.7 .17 245);border-color:var(--color-action);box-shadow:0 0 0 3px oklch(.7 .17 245/.1);box-shadow:0 0 0 3px var(--color-action-light)}.tag-chip{align-items:center;animation:tagFadeIn .2s ease;background:oklch(.7 .17 245);background:var(--color-action);border-radius:20px;color:oklch(.99 .003 275);color:var(--color-background);display:inline-flex;font-size:.85rem;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.tag-chip:hover{background:oklch(.85 .17 210);background:var(--color-highlight);box-shadow:0 2px 8px oklch(.85 .17 210/.3);transform:translateY(-1px)}.tag-text{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-remove{align-items:center;background:none;border:none;border-radius:50%;color:oklch(.99 .003 275);color:var(--color-background);cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;height:18px;justify-content:center;line-height:1;margin:0;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);width:18px}.tag-remove:hover{background:oklch(.99 .003 275/.2);transform:rotate(90deg)}.tag-remove:disabled{cursor:not-allowed;opacity:.5}.tag-input{background:none;border:none;color:oklch(.18 .09 275);color:var(--color-text-primary);flex:1 1;font-size:.9rem;min-width:120px;outline:none;padding:6px 8px}.tag-input::placeholder{color:oklch(.55 .03 275);color:var(--color-text-secondary);font-style:italic}.tag-input:disabled{cursor:not-allowed;opacity:.6}@keyframes tagFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tags-chips.disabled{opacity:.6;pointer-events:none}.tags-chips:empty .tag-input{min-width:100%}.rag-chat{display:flex;flex-direction:column;height:100%;max-height:800px}.chat-header{background:oklch(.7 .17 245/.03);border-bottom:1px solid oklch(.92 .008 275);border-bottom:1px solid var(--surface-muted);padding:24px}.header-title{align-items:center;display:flex;gap:12px;margin-bottom:4px}.chat-avatar{border-radius:50%;height:40px;object-fit:cover;width:40px}.header-info h2{color:oklch(.7 .17 245);color:var(--brand-accent);margin:0}.header-info p{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.9rem}.header-actions{display:flex;gap:12px}.clear-chat,.filter-toggle{background:oklch(.99 .003 275);background:var(--surface-light);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.filter-toggle.active{background:oklch(.7 .17 245);background:var(--brand-accent);border-color:oklch(.7 .17 245);border-color:var(--brand-accent);color:oklch(.97 .003 275);color:var(--text-on-dark)}.filters-panel{background:oklch(.7 .17 245/.05);border-bottom:1px solid oklch(.92 .008 275);border-bottom:1px solid var(--surface-muted);padding:20px 24px}.filters-panel h3{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:1.1rem;margin-bottom:16px}.filters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:.9rem;margin-bottom:4px}.chat-messages{flex:1 1;padding:16px 24px}.chat-welcome{padding:40px 20px;text-align:center}.welcome-content p{font-size:1rem}.message{max-width:85%}.message.user{margin-left:auto}.message.assistant{margin-right:auto}.message-header{align-items:center;display:flex;font-size:.9rem;gap:8px;margin-bottom:8px}.message-author{align-items:center;color:oklch(.7 .17 245);color:var(--brand-accent);display:flex;font-weight:600;gap:6px}.message-avatar{height:20px;object-fit:cover;width:20px}.message-time{color:oklch(.5 .02 275);color:var(--text-tertiary);font-size:.8rem}.message-content{background:oklch(.99 .003 275);background:var(--surface-light);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:16px;box-shadow:0 2px 8px oklch(.17 .08 275/.05);line-height:1.6;padding:16px 20px}.markdown-content{color:oklch(.18 .09 275);color:var(--text-primary);line-height:1.7}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:oklch(.7 .17 245);color:var(--color-action);font-weight:600;margin:16px 0 8px}.markdown-content h1{border-bottom:2px solid oklch(.97 .004 275);border-bottom:2px solid var(--color-background-alt);font-size:1.5rem;padding-bottom:8px}.markdown-content h2{font-size:1.3rem}.embeddable-wrapper{--embeddable-width:400px;--embeddable-height:520px;border:none!important;box-sizing:border-box!important;margin:0!important;outline:none!important;padding:0!important;transform-origin:bottom right!important;transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:9999!important}.embeddable-wrapper.collapsed{background:#0000!important;box-shadow:none!important;overflow:visible!important}.embeddable-floating-button,.embeddable-wrapper.collapsed{border:none!important;border-radius:50%!important;box-sizing:border-box!important;height:60px!important;margin:0!important;outline:none!important;padding:0!important;width:60px!important}.embeddable-floating-button{align-items:center!important;background:oklch(.7 .17 245)!important;background:var(--brand-accent)!important;box-shadow:0 4px 12px oklch(.7 .17 245/.3)!important;color:oklch(.99 .003 275)!important;color:var(--text-on-accent)!important;cursor:pointer!important;display:flex!important;justify-content:center!important;transform:translateZ(0)!important;transition:all .2s cubic-bezier(.25,.46,.45,.94)!important}.embeddable-floating-button:hover{background:oklch(.42 .14 245)!important;box-shadow:0 8px 20px oklch(.7 .17 245/.4)!important;transform:translateY(-2px) scale(1.05)!important}.embeddable-wrapper,.embeddable-wrapper *,.embeddable-wrapper :after,.embeddable-wrapper :before,.embeddable-wrapper.open{box-sizing:border-box!important}.embeddable-wrapper.open{background:linear-gradient(180deg,oklch(.14 .07 275),oklch(.11 .06 275))!important;border:1px solid oklch(.17 .08 275/.12)!important;border-radius:12px!important;box-shadow:0 10px 30px oklch(.17 .08 275/.5)!important;color:oklch(.95 .01 230)!important;display:flex!important;flex-direction:column!important;height:var(--embeddable-height)!important;margin:0!important;outline:none!important;overflow:hidden!important;padding:0!important;width:var(--embeddable-width)!important}.embeddable-close{background:#0000;border:none;cursor:pointer;font-size:1.1rem;margin-left:auto}.embeddable-close,.embeddable-header{color:oklch(.99 .003 275);color:var(--color-background)}.embeddable-header{align-items:center;background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--color-primary),var(--color-footer));display:flex;gap:12px!important;padding:12px 16px!important}.embeddable-header .chat-avatar{border-radius:50%;height:47px;object-fit:cover}.chat-title{font-size:1rem;font-weight:700}.embeddable-container{-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,oklch(.99 .003 275/.02),oklch(.17 .08 275/.05));display:flex;flex:1 1 auto;flex-direction:column;gap:10px!important;overflow-y:auto;padding:12px!important;position:relative;scrollbar-color:oklch(.99 .003 275/.12) #0000;scrollbar-width:thin}.embeddable-container::-webkit-scrollbar{width:8px}.embeddable-container::-webkit-scrollbar-track{background:#0000}.embeddable-container::-webkit-scrollbar-thumb{background:oklch(.99 .003 275/.12);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.embeddable-container::-webkit-scrollbar-thumb:hover{background:oklch(.99 .003 275/.18)}.embeddable-container:after,.embeddable-container:before{content:"";height:28px;left:0;pointer-events:none;position:absolute;right:0;z-index:2}.embeddable-container:before{background:linear-gradient(180deg,oklch(.14 .07 275/.7),#0000);top:0}.embeddable-container:after{background:linear-gradient(180deg,#0000,oklch(.11 .06 275/.7));bottom:0}.chat-bubble{border-radius:16px;font-size:.92rem;line-height:1.35;margin-bottom:8px!important;max-width:84%;padding:8px 12px!important;word-break:break-word}.chat-bubble.user{align-self:flex-end;background:linear-gradient(90deg,oklch(.7 .17 245),oklch(.42 .1 230));background:linear-gradient(90deg,var(--color-action),var(--brand-secondary));border-bottom-right-radius:6px;box-shadow:0 6px 18px oklch(.17 .08 275/.6);color:oklch(.99 .003 275);color:var(--color-background)}.chat-bubble.assistant{align-self:flex-start;background:oklch(.99 .003 275/.04);border:1px solid oklch(.99 .003 275/.03);border-bottom-left-radius:6px}.chat-bubble.assistant,.chat-bubble.assistant .markdown-content,.chat-bubble.assistant code,.chat-bubble.assistant li,.chat-bubble.assistant p,.chat-bubble.assistant span{color:oklch(.97 .003 275);color:var(--text-on-dark)}.embeddable-wrapper .markdown-content table{background:oklch(.99 .003 275)!important;background:var(--surface-light)!important;border:1px solid oklch(.92 .008 275)!important;border:1px solid var(--surface-muted)!important;color:oklch(.18 .09 275)!important;color:var(--text-primary)!important}.embeddable-wrapper .markdown-content th{background:linear-gradient(135deg,oklch(.7 .17 245),oklch(.42 .1 230))!important;background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-secondary) 100%)!important;color:oklch(.99 .003 275)!important;color:var(--surface-light)!important;text-shadow:0 1px 2px oklch(.17 .08 275/.1)!important}.embeddable-wrapper .markdown-content td{background:oklch(.99 .003 275)!important;background:var(--surface-light)!important;border:1px solid oklch(.92 .008 275)!important;border:1px solid var(--surface-muted)!important;color:oklch(.18 .09 275)!important;color:var(--text-primary)!important}.embeddable-wrapper .markdown-content tr:nth-child(2n) td{background:oklch(.97 .004 275)!important;background:var(--surface-soft)!important;color:oklch(.18 .09 275)!important;color:var(--text-primary)!important}.embeddable-wrapper .markdown-content tr:hover td{background:oklch(.7 .17 245/.08)!important;color:oklch(.18 .09 275)!important;color:var(--text-primary)!important}.embeddable-input{background:linear-gradient(180deg,oklch(.99 .003 275/.02),oklch(.17 .08 275/.06));border-top:1px solid oklch(.99 .003 275/.04);display:flex;gap:8px!important;padding:12px!important}.embeddable-input input{background:oklch(.99 .003 275/.02);border:1px solid oklch(.99 .003 275/.06);border-radius:999px;color:oklch(.95 .01 230);flex:1 1;min-width:0;padding:10px 12px!important}.send-button{background:linear-gradient(90deg,oklch(.7 .17 245),oklch(.42 .1 230));background:linear-gradient(90deg,var(--color-action),var(--brand-secondary));border-radius:999px;color:oklch(.99 .003 275);color:var(--color-background);display:inline-flex;flex:0 0 auto;font-weight:700;padding:10px!important}.typing-dots{align-items:center;display:inline-flex;gap:6px;margin-left:8px}.typing-dots span{animation:typing-wave 1s ease-in-out infinite;background:oklch(.55 .03 275);background:var(--color-text-secondary);border-radius:50%;display:inline-block;height:6px;transform-origin:center bottom;width:6px}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.12s}.typing-dots span:nth-child(3){animation-delay:.24s}@keyframes typing-wave{0%{opacity:.55;transform:translateY(0)}25%{opacity:1;transform:translateY(-6px)}50%{opacity:.65;transform:translateY(0)}to{opacity:.55;transform:translateY(0)}}.chat-feedback{align-items:center;border-top:1px solid oklch(.17 .08 275/.1);display:flex;flex-direction:column;gap:4px;margin-top:12px;padding-top:8px}.chat-feedback .feedback-buttons-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chat-feedback .feedback-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;opacity:.7;padding:2px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.chat-feedback .feedback-btn:hover:not(:disabled){background:oklch(.99 .003 275/.1);opacity:1;transform:scale(1.1)}.chat-feedback .feedback-btn:disabled{cursor:not-allowed;opacity:.5}.chat-feedback .feedback-btn.active{background:oklch(.5 .2 25/.1);opacity:1}.chat-feedback .negative-feedback-input-container{align-items:center;display:flex;gap:6px;margin-left:6px}.chat-feedback .negative-feedback-input{border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:4px;font-size:.8rem;min-width:150px;outline:none;padding:4px 8px;transition:border-color .2s cubic-bezier(.16,1,.3,1);transition:border-color var(--duration-normal) var(--ease-out)}.chat-feedback .negative-feedback-input:focus{border-color:oklch(.17 .08 275);border-color:var(--brand-primary);box-shadow:0 0 0 2px oklch(.17 .08 275/.1)}.chat-feedback .feedback-submit-btn{align-items:center;background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));border:none;border-radius:4px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;display:flex;font-size:.8rem;justify-content:center;min-height:24px;min-width:24px;padding:4px 8px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.chat-feedback .feedback-submit-btn:hover:not(:disabled){box-shadow:0 2px 6px oklch(.17 .08 275/.3);transform:translateY(-1px)}.chat-feedback .feedback-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.chat-bubble .feedback-submitted{color:oklch(.7 .17 245);color:var(--state-success);font-size:.8rem;margin-top:4px;opacity:.8;text-align:right}@media (max-width:520px){.embeddable-wrapper{border-radius:0;max-width:100%}}.markdown-content h3{font-size:1.1rem}.markdown-content p{line-height:1.7;margin:12px 0}.markdown-content ol,.markdown-content ul{margin:12px 0;padding-left:20px}.markdown-content li{line-height:1.6;margin:4px 0}.markdown-content blockquote{background:oklch(.7 .17 245/.06);border-radius:12px;border-radius:var(--radius-md);color:oklch(.55 .03 275);color:var(--text-secondary);font-style:italic;margin:1rem 0;margin:var(--space-4) 0;padding:1rem 1.25rem;padding:var(--space-4) var(--space-5)}.markdown-content code{background:oklch(.7 .17 245/.1);border-radius:4px;color:oklch(.7 .17 245);color:var(--brand-accent);font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em;padding:2px 6px}.markdown-content pre{background:oklch(.97 .004 275);background:var(--surface-soft);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:8px;box-shadow:0 2px 4px oklch(.17 .08 275/.1);margin:16px 0;overflow-x:auto;padding:16px}.markdown-content pre code{background:none;color:oklch(.18 .09 275);color:var(--text-primary);font-size:.9rem;line-height:1.5;padding:0}.markdown-content table{background:oklch(.99 .003 275);background:var(--surface-light);border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px oklch(.17 .08 275/.1);margin:16px 0;overflow:hidden;width:100%}.markdown-content table,.markdown-content td,.markdown-content th{border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted)}.markdown-content td,.markdown-content th{word-wrap:break-word;padding:12px 16px;text-align:left;vertical-align:top}.markdown-content th{background:linear-gradient(135deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-secondary) 100%);color:oklch(.97 .003 275);color:var(--text-on-dark);font-weight:600;position:-webkit-sticky;position:sticky;text-shadow:0 1px 2px oklch(.17 .08 275/.1);top:0;z-index:1}.markdown-content tr:nth-child(2n){background:oklch(.7 .17 245/.05)}.markdown-content tr:hover{background:oklch(.7 .17 245/.08);transition:background-color .2s cubic-bezier(.16,1,.3,1);transition:background-color var(--duration-normal) var(--ease-out)}.markdown-content{overflow-x:auto}.markdown-content table{min-width:600px}@media (max-width:768px){.markdown-content td,.markdown-content th{font-size:.9rem;padding:8px 12px}.markdown-content table{min-width:500px}}.markdown-content a{border-bottom:1px solid #0000;color:oklch(.7 .17 245);color:var(--color-action);text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.markdown-content a:hover{border-bottom-color:oklch(.85 .17 210);border-bottom-color:var(--color-highlight);color:oklch(.85 .17 210);color:var(--color-highlight)}.markdown-content strong{color:currentColor;font-weight:600}.markdown-content em{color:oklch(.55 .03 275);color:var(--text-secondary);font-style:italic}.markdown-content hr{background:linear-gradient(90deg,#0000,oklch(.97 .004 275),#0000);background:linear-gradient(90deg,#0000,var(--color-background-alt),#0000);border:none;height:2px;margin:24px 0}.message.user .message-content{background:linear-gradient(135deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-secondary) 100%);border-color:#0000;color:oklch(.97 .003 275);color:var(--text-on-dark)}.message.loading .message-content{align-items:center;background:oklch(.7 .17 245/.05);border-color:oklch(.7 .17 245/.2);display:flex;gap:12px}.typing-indicator{gap:4px}.typing-indicator span{animation:typing 1.5s infinite;background:oklch(.7 .17 245);background:var(--brand-accent);border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.response-details{border-top:1px solid oklch(.92 .008 275);border-top:1px solid var(--surface-muted);margin-top:16px;padding-top:16px}.response-stats{color:oklch(.55 .03 275);color:var(--text-secondary);display:flex;font-size:.8rem;gap:16px;margin-bottom:16px}.stat{background:oklch(.7 .17 245/.1);border-radius:6px;padding:4px 8px}.sources h4{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:.9rem;margin-bottom:12px}.sources-list{display:flex;flex-direction:column;gap:12px}.source-item{background:oklch(.7 .17 245/.05);border:1px solid oklch(.7 .17 245/.1);border-radius:8px;padding:12px}.source-header{font-size:.8rem;gap:8px}.source-number{align-items:center;background:oklch(.7 .17 245);background:var(--brand-accent);border-radius:50%;color:oklch(.97 .003 275);color:var(--text-on-dark);display:flex;font-size:.7rem;height:20px;justify-content:center;width:20px}.source-number,.source-title{font-weight:600}.source-author{color:oklch(.55 .03 275);color:var(--text-secondary)}.source-score{background:oklch(.7 .17 245/.2);font-size:.7rem;margin-left:auto}.source-preview{background:oklch(.99 .003 275/.8);border-radius:4px;font-size:.8rem;padding:8px}.chat-input-form{background:oklch(.7 .17 245/.03);border-top:1px solid oklch(.92 .008 275);border-top:1px solid var(--surface-muted);padding:16px 24px}.input-container{align-items:flex-end}.send-button{flex-shrink:0}.chat-input{border-radius:12px;font-size:.9rem;line-height:1.4;max-height:120px;min-height:44px;padding:12px 16px;resize:none}.chat-input::placeholder{color:currentColor;opacity:.6}.send-button{background:linear-gradient(135deg,oklch(.7 .17 245),oklch(.42 .1 230));background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-secondary) 100%);border-radius:12px;height:44px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);width:44px}.send-button:hover:not(:disabled){box-shadow:0 4px 12px oklch(.7 .17 245/.4);transform:translateY(-2px)}.send-button:disabled{opacity:.4;transform:none}.chat-error{background:oklch(.5 .2 25/.1);border-top:1px solid oklch(.5 .2 25/.2);color:oklch(.5 .2 25);color:var(--state-error);font-weight:500;padding:16px 24px}.document-search{padding:32px}.search-header{margin-bottom:32px;text-align:center}.search-header h2{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:1.8rem;margin-bottom:8px}.search-header p{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:1rem}.search-form{margin:0 auto 32px;max-width:800px}.search-input-container{margin-bottom:20px}.search-input-group{align-items:center;display:flex;gap:16px;margin-bottom:16px}.search-input{border:2px solid oklch(.92 .008 275);border:2px solid var(--surface-muted);border-radius:16px;flex:1 1;font-size:1rem;padding:16px 20px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.search-input:focus{border-color:oklch(.7 .17 245);border-color:var(--brand-accent);box-shadow:0 0 0 4px oklch(.7 .17 245/.1)}.search-button{background:linear-gradient(135deg,oklch(.7 .17 245),oklch(.42 .1 230));background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-secondary) 100%);border:none;border-radius:16px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;font-size:1rem;font-weight:600;padding:16px 24px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);white-space:nowrap}.search-button:hover:not(:disabled){box-shadow:0 6px 20px oklch(.7 .17 245/.4);transform:translateY(-2px)}.search-actions{display:flex;gap:12px;justify-content:center}.advanced-toggle{background:oklch(.7 .17 245/.1);border:1px solid oklch(.7 .17 245/.2);border-radius:12px;color:oklch(.7 .17 245);color:var(--brand-accent);cursor:pointer;font-weight:500;padding:12px 20px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.advanced-toggle.active{background:oklch(.7 .17 245);background:var(--brand-accent);color:oklch(.97 .003 275);color:var(--text-on-dark)}.clear-button{background:oklch(.5 .2 25/.1);border:1px solid oklch(.5 .2 25/.2);border-radius:12px;color:oklch(.5 .2 25);color:var(--state-error);cursor:pointer;font-weight:500;padding:12px 20px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.advanced-filters{background:oklch(.7 .17 245/.05);border:1px solid oklch(.7 .17 245/.1);border-radius:16px;margin-top:20px;padding:24px}.advanced-filters h3{color:oklch(.7 .17 245);color:var(--brand-accent);margin-bottom:20px}.search-info{margin:0 auto 24px;max-width:800px}.search-summary{background:oklch(.7 .17 245/.05);border:1px solid oklch(.7 .17 245/.1);border-radius:12px;padding:20px}.search-summary h3{color:oklch(.7 .17 245);color:var(--brand-accent);margin-bottom:8px}.search-results{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:800px}.result-card{background:oklch(.99 .003 275);background:var(--color-background);border:1px solid oklch(.97 .004 275);border:1px solid var(--color-background-alt);border-radius:16px;box-shadow:0 4px 12px oklch(.17 .08 275/.05);padding:24px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.result-card:hover{border-color:oklch(.85 .17 210);border-color:var(--color-highlight);box-shadow:0 8px 24px oklch(.17 .08 275/.1);transform:translateY(-2px)}.result-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.result-ranking{align-items:center;background:oklch(.7 .17 245);background:var(--color-action);border-radius:50%;color:oklch(.99 .003 275);color:var(--color-background);display:flex;flex-shrink:0;font-size:.9rem;font-weight:600;height:32px;justify-content:center;width:32px}.result-title-section{flex:1 1}.result-title{color:oklch(.18 .09 275);color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:8px}.result-meta{color:oklch(.55 .03 275);color:var(--text-secondary);display:flex;font-size:.9rem;gap:16px}.meta-item{align-items:center;display:flex;gap:4px}.result-score{flex-shrink:0;text-align:center}.similarity-badge{border-radius:8px;font-size:.9rem;font-weight:600;margin-bottom:4px;padding:6px 12px}.similarity-badge.high-similarity{background:oklch(.6 .17 155/.1);border:1px solid oklch(.6 .17 155/.2);color:oklch(.7 .17 245);color:var(--state-success)}.similarity-badge.medium-similarity{background:oklch(.88 .18 95/.1);border:1px solid oklch(.88 .18 95/.2);color:oklch(.88 .18 95);color:var(--state-warning)}.similarity-badge.low-similarity{background:oklch(.5 .2 25/.1);border:1px solid oklch(.5 .2 25/.2);color:oklch(.5 .2 25);color:var(--state-error)}.similarity-label{font-size:.8rem}.result-content,.similarity-label{color:oklch(.55 .03 275);color:var(--text-secondary)}.result-content{background:oklch(.7 .17 245/.02);border-radius:12px;line-height:1.6;padding:16px}.no-results{background:oklch(.7 .17 245/.05);border-radius:16px;margin:20px auto;max-width:500px;padding:40px;text-align:center}.no-results-content h3{color:oklch(.7 .17 245);color:var(--brand-accent);margin-bottom:16px}.no-results-content ul{color:oklch(.55 .03 275);color:var(--text-secondary);margin-top:16px;text-align:left}.documents-list{padding:32px}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.header-title h2{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:1.8rem;margin-bottom:8px}.header-title p{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:1rem}.view-controls{background:oklch(.7 .17 245/.1);border-radius:8px;display:flex;gap:4px;padding:4px}.view-mode{background:#0000;border:none;border-radius:6px;color:oklch(.7 .17 245);color:var(--brand-accent);cursor:pointer;font-size:1.1rem;padding:8px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.view-mode.active{background:oklch(.7 .17 245);background:var(--brand-accent);color:oklch(.97 .003 275);color:var(--text-on-dark)}.filters-section,.sort-section{background:oklch(.7 .17 245/.03);border:1px solid oklch(.7 .17 245/.1);border-radius:16px;margin-bottom:32px;padding:24px}.filters-section h3,.sort-section h3{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:1.2rem;margin-bottom:20px}.filters-actions{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:16px}.checkbox-label,.filters-actions,.version-toggle{align-items:center;display:flex}.checkbox-label{color:var(--text-color);cursor:pointer;font-weight:500;gap:8px}.checkbox-label input[type=checkbox]{accent-color:oklch(.7 .17 245);accent-color:var(--color-action);cursor:pointer;height:18px;width:18px}.clear-filters{background:oklch(.5 .2 25/.1);border:1px solid oklch(.5 .2 25/.2);border-radius:8px;color:oklch(.5 .2 25);color:var(--state-error);cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.sort-controls{display:flex;flex-wrap:wrap;gap:12px}.sort-button{align-items:center;background:oklch(.7 .17 245/.1);border:1px solid oklch(.7 .17 245/.2);border-radius:8px;color:oklch(.7 .17 245);color:var(--brand-accent);cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.sort-button.active{background:oklch(.7 .17 245);background:var(--brand-accent);color:oklch(.97 .003 275);color:var(--text-on-dark)}.pagination-size-control{align-items:center;display:flex;font-size:.9rem;gap:12px;margin-top:16px}.pagination-size-control label{color:var(--text-color);font-weight:500}.page-size-select{background:oklch(.99 .003 275);background:var(--color-background);border:1px solid oklch(.97 .004 275);border:1px solid var(--color-background-alt);border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.9rem;padding:6px 12px;transition:border-color .2s cubic-bezier(.16,1,.3,1);transition:border-color var(--duration-normal) var(--ease-out)}.page-size-select:focus{border-color:oklch(.7 .17 245);border-color:var(--color-action);box-shadow:0 0 0 2px oklch(.7 .17 245/.1);outline:none}.list-stats{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.9rem;margin-bottom:24px;text-align:center}.documents-container.grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-bottom:32px}.documents-container.list{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.documents-container.list .document-card{grid-gap:16px;align-items:center;background:oklch(.99 .003 275);background:var(--surface-light);border-bottom:1px solid oklch(.92 .008 275);border-bottom:1px solid var(--surface-muted);border-radius:6px;display:grid;gap:16px;grid-template-columns:1fr auto 120px;min-height:60px;padding:12px 16px}.documents-container.list .document-card:hover{background:oklch(.7 .17 245/.04);box-shadow:0 2px 8px oklch(.7 .17 245/.15);transform:translateX(2px)}.documents-container.list .document-header{align-items:flex-start;display:flex;flex-direction:column;gap:4px;margin-bottom:0}.documents-container.list .document-title-section{width:100%}.documents-container.list .document-title{color:var(--text-color);font-size:1rem;font-weight:600;margin-bottom:2px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-container.list .document-id{color:oklch(.55 .03 275);color:var(--color-text-secondary);font-family:JetBrains Mono,Monaco,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem}.documents-container.list .document-meta{display:none}.documents-container.list .document-quick-info{align-items:flex-end;color:oklch(.55 .03 275);color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:.8rem;gap:2px;min-width:0;text-align:right}.documents-container.list .document-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.documents-container.list .document-actions .delete-button,.documents-container.list .document-actions .view-button{border-radius:4px;font-size:.9rem;padding:6px 10px}.document-card{background:oklch(.99 .003 275);background:var(--color-background);border:1px solid oklch(.97 .004 275);border:1px solid var(--color-background-alt);border-radius:16px;box-shadow:0 4px 12px oklch(.17 .08 275/.05);padding:24px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.documents-container.grid .document-quick-info{display:none}.document-card:hover{border-color:oklch(.85 .17 210);border-color:var(--color-highlight);box-shadow:0 8px 24px oklch(.17 .08 275/.1);transform:translateY(-2px)}.document-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.document-title-section{flex:1 1}.document-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:oklch(.18 .09 275);color:var(--text-primary);display:-webkit-box;font-size:1.3rem;font-weight:600;line-height:1.3;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis}.document-id{background:oklch(.7 .17 245/.1);border-radius:4px;color:oklch(.5 .02 275);color:var(--text-tertiary);display:inline-block;font-family:Monaco,Menlo,monospace;font-size:.8rem;padding:2px 6px}.document-actions{display:flex;gap:8px}.delete-button,.view-button{align-items:center;background:oklch(.7 .17 245/.1);border:1px solid oklch(.7 .17 245/.2);border-radius:8px;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);width:36px}.view-button{color:oklch(.7 .17 245);color:var(--brand-accent)}.delete-button{background:oklch(.5 .2 25/.1);border-color:oklch(.5 .2 25/.2);color:oklch(.5 .2 25);color:var(--state-error)}.delete-button:hover,.view-button:hover{transform:translateY(-1px)}.delete-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.document-meta{display:flex;flex-direction:column;gap:8px}.meta-row{align-items:center;display:flex;font-size:.9rem;gap:8px}.meta-label{color:oklch(.55 .03 275);color:var(--text-secondary);font-weight:500;min-width:80px}.meta-value{color:oklch(.18 .09 275);color:var(--text-primary);flex:1 1}.tags-list{display:flex;flex-wrap:wrap;gap:4px}.tag{background:oklch(.7 .17 245/.1);border-radius:6px;color:oklch(.7 .17 245);color:var(--brand-accent);font-size:.8rem;font-weight:500;padding:2px 8px}.no-documents{background:oklch(.7 .17 245/.05);border-radius:16px;padding:60px 20px;text-align:center}.no-documents-content h3{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:1.5rem;margin-bottom:16px}.no-documents-content p{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:1rem}.pagination{align-items:center;display:flex;flex-direction:column;gap:16px;padding:32px 0}.pagination-info{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.9rem;text-align:center}.pagination-controls{align-items:center;display:flex;gap:8px}.pagination-button,.pagination-number{background:oklch(.7 .17 245/.1);border:1px solid oklch(.7 .17 245/.2);border-radius:8px;color:oklch(.7 .17 245);color:var(--brand-accent);cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.pagination-number{align-items:center;display:flex;height:40px;justify-content:center;padding:0;width:40px}.pagination-number.active{background:oklch(.7 .17 245);background:var(--brand-accent);color:oklch(.97 .003 275);color:var(--text-on-dark)}.pagination-button:disabled{cursor:not-allowed;opacity:.4}.pagination-button:hover:not(:disabled),.pagination-number:hover{background:oklch(.7 .17 245/.2);transform:translateY(-1px)}.modal-overlay{align-items:center;background:oklch(.17 .08 275/.6);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:oklch(.99 .003 275);background:var(--surface-light);border-radius:16px;box-shadow:0 20px 60px oklch(.17 .08 275/.3);max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:oklch(.7 .17 245/.05);border-bottom:1px solid oklch(.92 .008 275);border-bottom:1px solid var(--surface-muted);border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:24px}.modal-header h3{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:1.3rem;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:oklch(.5 .02 275);color:var(--text-tertiary);cursor:pointer;font-size:1.5rem;padding:4px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.modal-close:hover{background:oklch(.5 .2 25/.1);color:oklch(.5 .2 25);color:var(--state-error)}.modal-body{padding:24px}.document-details{display:flex;flex-direction:column;gap:12px}.detail-row{border-bottom:1px solid oklch(.97 .004 275);border-bottom:1px solid var(--surface-soft);display:flex;font-size:.9rem;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-row strong{color:oklch(.7 .17 245);color:var(--brand-accent);font-weight:600;min-width:140px}.diagnostics-modal{max-width:600px}.diagnostics-loading{align-items:center;display:flex;flex-direction:column;gap:16px;padding:40px 20px;text-align:center}.diagnostics-loading .spinner{animation:spin 1s linear infinite;border:3px solid var(--alt-background);border-radius:50%;border-top-color:var(--primary-color);height:48px;width:48px}.diagnostics-results{padding:0}.diagnostics-results h3{color:var(--text-color);font-size:1.2rem;font-weight:600;margin:0 0 20px;text-align:center}.services-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}.service-item{align-items:center;background:var(--alt-background);border:1px solid oklch(.7 .17 245/.1);border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.service-item:hover{border-color:oklch(.7 .17 245/.2);box-shadow:0 4px 12px oklch(.7 .17 245/.1);transform:translateY(-1px)}.service-icon{font-size:24px;min-width:32px;text-align:center}.service-info{flex:1 1}.service-name{color:var(--text-color);font-weight:600;margin-bottom:4px}.service-status{border-radius:6px;font-size:.85rem;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.service-status.healthy{background:oklch(.6 .17 155/.15);color:oklch(.7 .17 245);color:var(--state-success)}.service-status.unhealthy{background:oklch(.5 .2 25/.15);color:oklch(.5 .2 25);color:var(--state-error)}.service-status.unknown{background:oklch(.55 .03 275/.15);color:oklch(.55 .03 275);color:var(--text-secondary)}.app-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:oklch(.99 .003 275/.95);border:1px solid oklch(.99 .003 275/.2);border-radius:16px;box-shadow:0 8px 32px oklch(.17 .08 275/.1);margin-top:20px;padding:16px 24px}.footer-content{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.9rem}.footer-info{align-items:center;display:flex;gap:12px}.footer-links{font-size:.8rem}.footer-brand{gap:8px}.footer-avatar{height:24px;object-fit:cover;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.footer-avatar:hover{border-color:oklch(.7 .17 245);border-color:var(--color-action);transform:scale(1.1)}@media (max-width:768px){.app{gap:12px;padding:12px}.header-main{flex-direction:column;gap:16px;text-align:center}.app-title h1{font-size:1.6rem}.nav-tabs{flex-direction:column}.nav-tab{justify-content:flex-start}.form-row{grid-template-columns:1fr}.search-actions,.search-input-group{flex-direction:column}.documents-container.grid,.filters-grid{grid-template-columns:1fr}.result-header{flex-direction:column;gap:12px}.result-meta{flex-direction:column;gap:8px}.document-header{flex-direction:column;gap:12px}.footer-content{flex-direction:column;gap:8px;text-align:center}.footer-info{flex-direction:column;gap:4px}.pagination-controls{flex-wrap:wrap;justify-content:center}.input-container{flex-direction:row}.chat-input-form .input-container .send-button{height:44px;width:100%}.modal-content{margin:20px;max-height:calc(100vh - 40px)}}@media (max-width:480px){.app{padding:8px}.app-footer,.app-header,.app-main,.app-nav{padding:16px}.document-search,.documents-list,.upload-document{padding:20px}.rag-chat .chat-header{padding:16px}.app-title h1{font-size:1.4rem}.document-card,.form-section,.result-card{padding:16px}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:oklch(.7 .17 245/.05);border-radius:6px;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:oklch(.7 .17 245/.18);border-radius:6px;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:oklch(.7 .17 245/.3)}button:focus-visible{outline:2px solid oklch(.7 .17 245);outline:2px solid var(--brand-accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px oklch(.7 .17 245/.2);outline:none}.rag-test-tool{background:oklch(.99 .003 275/.05);border:1px solid oklch(.99 .003 275/.1);border-radius:12px;margin:20px 0;padding:20px}.test-header h3{color:oklch(.7 .17 245);color:var(--state-success);margin-bottom:5px}.test-header p{color:oklch(.5 .02 275);color:var(--text-tertiary);margin-bottom:20px}.control-group{margin-bottom:15px}.control-group label{display:block;font-weight:500;margin-bottom:5px}.control-group input,.control-group label{color:oklch(.18 .09 275);color:var(--text-primary)}.control-group input{background:oklch(.99 .003 275/.95);border:1px solid oklch(.17 .08 275/.2);border-radius:6px;padding:8px 12px;width:100%}.control-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.test-controls button{background:linear-gradient(135deg,oklch(.7 .17 245),oklch(.42 .1 230));background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-secondary) 100%);border:none;border-radius:8px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;margin-top:10px;padding:10px 20px}.test-controls button:disabled{cursor:not-allowed;opacity:.5}.button-group{display:flex;gap:10px;margin-top:10px}.button-group button{flex:1 1;margin-top:0}.preset-questions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.preset-btn{background:oklch(.7 .17 245/.1);border:1px solid oklch(.7 .17 245/.2);border-radius:6px;color:oklch(.18 .09 275);color:var(--text-primary);cursor:pointer;font-size:.9em;padding:8px 12px}.preset-btn:hover{background:oklch(.7 .17 245/.2)}.test-error{background:oklch(.5 .2 25/.1);border:1px solid oklch(.5 .2 25/.3);border-radius:8px;margin-top:15px;padding:15px}.test-error h4{color:oklch(.5 .2 25);color:var(--state-error);margin-bottom:10px}.test-results{background:oklch(.6 .17 155/.1);border:1px solid oklch(.6 .17 155/.3);border-radius:8px;margin-top:15px;padding:15px}.test-results h4{color:oklch(.7 .17 245);color:var(--state-success);margin-bottom:15px}.result-stats{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.result-stats span{background:oklch(.99 .003 275/.1);border-radius:4px;font-size:.9em;padding:4px 8px}.result-response{margin-bottom:15px}.result-response h5{color:oklch(.7 .17 245);color:var(--state-success);margin-bottom:10px}.result-response p{border-radius:6px;line-height:1.5}.result-response p,.source-detail{background:oklch(.99 .003 275/.05);padding:10px}.source-detail{border:1px solid oklch(.99 .003 275/.1);border-radius:6px;margin-bottom:10px}.source-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.source-title{color:oklch(.18 .09 275);color:var(--text-primary);font-weight:500}.source-score{background:linear-gradient(135deg,oklch(.7 .17 245),oklch(.42 .1 230));background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-secondary) 100%);border-radius:4px;color:oklch(.97 .003 275);color:var(--text-on-dark);font-size:.8em;padding:2px 6px}.source-preview{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.9em;line-height:1.4}.source-preview strong{color:oklch(.18 .09 275);color:var(--text-primary)}.version-hash{background:oklch(.7 .17 245/.1);border-radius:4px;cursor:help;font-family:JetBrains Mono,Monaco,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.85em;padding:2px 6px}.version-hash:hover{background:oklch(.7 .17 245/.2)}.version-hash-full{background:oklch(.7 .17 245/.1);border:1px solid oklch(.7 .17 245/.2);border-radius:6px;display:inline-block;font-family:JetBrains Mono,Monaco,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.9em;margin-left:8px;padding:4px 8px;word-break:break-all}.version-display{align-items:center;display:flex;gap:8px}.version-hash-short{background:oklch(.7 .17 245/.08);border-radius:3px;color:oklch(.55 .03 275);color:var(--text-secondary);cursor:help;font-family:JetBrains Mono,Monaco,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.75em;padding:1px 4px}.sources-analysis{background:oklch(.7 .17 245/.1);border-radius:8px;margin-bottom:15px;padding:10px}.analysis-metrics{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.analysis-metrics span{background:oklch(.99 .003 275/.2);border-radius:4px;font-size:.85em;padding:4px 8px}.api-key-modal{max-width:500px;width:90%}.api-key-info{background:oklch(.7 .17 245/.05);border:1px solid oklch(.7 .17 245/.1);border-radius:8px;margin-bottom:24px;padding:16px}.api-key-info p{line-height:1.5;margin:0 0 12px}.api-key-info p:last-child{margin-bottom:0}.api-key-format{background:oklch(.96 .06 95);border:1px solid oklch(.94 .08 95);border-radius:4px;font-family:JetBrains Mono,Monaco,Menlo,Consolas,monospace;font-family:var(--font-mono);margin:10px 0;padding:8px 12px}.api-key-format code{background:oklch(.92 .008 275);background:var(--surface-muted);border-radius:3px;color:oklch(.55 .03 275);color:var(--text-secondary);font-weight:700;padding:2px 4px}.api-key-form{margin-bottom:24px}.api-key-form .form-group{margin-bottom:16px}.api-key-form label{color:var(--text-color);display:block;font-weight:600;margin-bottom:8px}.api-key-input{background:oklch(.99 .003 275);background:var(--color-background);border:2px solid oklch(.92 .008 275);border:2px solid var(--surface-muted);border-radius:8px;color:var(--text-color);font-size:1rem;padding:12px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);width:100%}.api-key-input:focus{border-color:oklch(.7 .17 245);border-color:var(--brand-accent);box-shadow:0 0 0 3px oklch(.7 .17 245/.1);outline:none}.api-key-input:disabled{cursor:not-allowed;opacity:.6}.api-key-error{background:oklch(.5 .2 25/.1);border:1px solid oklch(.5 .2 25/.2);border-radius:6px;color:oklch(.5 .2 25);color:var(--state-error);font-size:.9rem;margin-bottom:16px;padding:12px}.api-key-actions{display:flex;gap:12px;justify-content:flex-end;margin-bottom:24px}.skip-button{background:#0000;border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:6px;color:oklch(.55 .03 275);color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:10px 20px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.skip-button:hover:not(:disabled){background:oklch(.97 .004 275);background:var(--surface-soft);border-color:oklch(.92 .008 275);border-color:var(--surface-muted)}.save-button{background:linear-gradient(135deg,oklch(.7 .17 245),oklch(.42 .1 230));background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-secondary) 100%);border:none;border-radius:6px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.save-button:hover:not(:disabled){box-shadow:0 4px 12px oklch(.7 .17 245/.3);transform:translateY(-1px)}.save-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.api-key-help{background:oklch(.6 .17 155/.05);border:1px solid oklch(.6 .17 155/.1);border-radius:8px;padding:16px}.api-key-help h4{color:oklch(.7 .17 245);color:var(--state-success);font-size:1rem;margin:0 0 12px}.api-key-help ul{margin:0;padding-left:20px}.api-key-help li{font-size:.9rem;line-height:1.4;margin:6px 0}@media print{.app-footer,.app-header,.app-nav{display:none}.app-main{border:none;box-shadow:none}body{background:oklch(.99 .003 275);background:var(--surface-light)}}.landing-page{background:linear-gradient(135deg,oklch(.17 .08 275),oklch(.85 .17 210));background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-aqua-electric) 100%);color:oklch(.97 .003 275);color:var(--text-on-dark);font-family:Figtree,system-ui,sans-serif;font-family:var(--font-body);min-height:100vh}.hero-section{margin:0 auto;max-width:1200px;padding:60px 20px 80px}.hero-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;min-height:70vh}.hero-text{padding-left:20px}.hero-logo{align-items:center;display:flex;gap:16px;margin-bottom:24px}.hero-avatar{border-radius:50%;width:80px}.hero-title{color:oklch(.97 .003 275);color:var(--text-on-dark);font-size:clamp(2.25rem,1.8rem + 1.5vw,3.5rem);font-size:var(--text-3xl);font-weight:800;font-weight:var(--weight-extra);letter-spacing:-.02em;margin:0}.hero-subtitle,.hero-title{font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display)}.hero-subtitle{color:oklch(.85 .17 210);color:var(--brand-aqua-electric);font-size:clamp(1.5rem,1.3rem + .7vw,1.875rem);font-size:var(--text-xl);font-weight:700;font-weight:var(--weight-bold);margin:1rem 0 1.5rem;margin:var(--space-4) 0 var(--space-6) 0}.hero-description{color:oklch(.9 .02 275);font-size:1.125rem;font-size:var(--text-md);line-height:1.65;margin-bottom:2rem;margin-bottom:var(--space-8);max-width:65ch}.hero-features{display:flex;flex-wrap:wrap;gap:24px}.feature-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:oklch(.99 .003 275/.1);border:1px solid oklch(.99 .003 275/.2);border-radius:25px;display:flex;gap:8px;padding:12px 20px}.feature-icon{font-size:1.2rem}.hero-visual{align-items:center;display:flex;justify-content:center}.chat-preview{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:oklch(.99 .003 275/.95);border-radius:20px;box-shadow:0 20px 60px oklch(.17 .08 275/.3);height:450px;overflow:hidden;width:320px}.preview-header{align-items:center;background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));color:oklch(.97 .003 275);color:var(--text-on-dark);display:flex;gap:12px;padding:16px}.preview-avatar{border-radius:50%;height:38px}.preview-title{font-weight:600}.preview-messages{display:flex;flex-direction:column;gap:12px;padding:16px}.preview-message{border-radius:18px;font-size:.9rem;line-height:1.4;max-width:80%;padding:12px 16px}.preview-message.user{align-self:flex-end;background:oklch(.17 .08 275);background:var(--brand-primary);border-bottom-right-radius:6px;color:oklch(.97 .003 275);color:var(--text-on-dark)}.preview-message.assistant{align-self:flex-start;border-bottom-left-radius:6px;color:oklch(.18 .09 275);color:var(--text-primary)}.preview-message.assistant,.preview-message.typing{background:oklch(.97 .004 275);background:var(--surface-soft)}.preview-message.typing{align-items:center;color:oklch(.55 .03 275);color:var(--text-secondary);display:flex;justify-content:center;padding:8px}.preview-message.typing img{height:24px;object-fit:contain;width:24px}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.chat-section{color:oklch(.18 .09 275);color:var(--text-primary);padding:60px 20px}.chat-container,.chat-section{background:oklch(.99 .003 275);background:var(--surface-light)}.chat-container{border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:20px;box-shadow:0 10px 40px oklch(.17 .08 275/.1);margin:0 auto;max-width:75%;overflow:hidden}.chat-header{align-items:center;background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));color:oklch(.97 .003 275);color:var(--text-on-dark);display:flex;justify-content:space-between;padding:20px}.chat-header-content{align-items:center;display:flex;gap:16px}.chat-header-avatar{border-radius:50%;height:57px}.chat-header-info h2{font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin:0}.chat-header-info p{font-size:.9rem;margin:4px 0 0;opacity:.9}.clear-chat-btn{background:oklch(.99 .003 275/.2);border:none;border-radius:8px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;font-size:1.2rem;padding:8px;transition:background-color .2s cubic-bezier(.16,1,.3,1);transition:background-color var(--duration-normal) var(--ease-out)}.clear-chat-btn:hover{background:oklch(.99 .003 275/.3)}.chat-messages{background:linear-gradient(90deg,oklch(.17 .08 275/.02),oklch(.42 .1 230/.01));overflow-y:auto;padding:20px}.welcome-message{padding:40px 20px;text-align:center}.welcome-content h3{color:oklch(.7 .17 245);color:var(--brand-accent);font-size:1.5rem;margin-bottom:16px}.welcome-content p{color:oklch(.55 .03 275);color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.welcome-examples{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:400px}.example-question{background:oklch(.97 .004 275);background:var(--surface-soft);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:12px;color:oklch(.55 .03 275);color:var(--text-secondary);cursor:pointer;padding:12px 16px;text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.example-question:hover{background:oklch(.7 .17 245);background:var(--brand-accent);border-color:oklch(.7 .17 245);border-color:var(--brand-accent);color:oklch(.97 .003 275);color:var(--text-on-dark)}.message{align-items:flex-start;display:flex;gap:12px;margin-bottom:20px}.message.user{flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.2rem;height:36px;justify-content:center;width:36px}.message.user .message-avatar{background:oklch(.17 .08 275);background:var(--brand-primary);color:oklch(.97 .003 275);color:var(--text-on-dark)}.message.assistant .message-avatar{background:oklch(.97 .004 275);background:var(--surface-soft)}.message.assistant .message-avatar img{border-radius:50%;height:38px}.message-content{align-items:flex-start;flex:1 1;max-width:none}.message-content,.message.user .message-content{background:#0000;border:none;box-shadow:none;display:flex;flex-direction:column;padding:0}.message.user .message-content{align-items:flex-end}.message-text{word-wrap:break-word;border-radius:16px;box-sizing:border-box;display:inline-block;line-height:1.45;padding:10px 14px;white-space:normal}.message-text,.message.user .message-text{background:oklch(.17 .08 275);background:var(--brand-primary);color:oklch(.97 .003 275);color:var(--text-on-dark)}.message.user .message-text{border:1px solid oklch(.17 .08 275/.35);border-bottom-left-radius:16px;border-bottom-right-radius:6px;border-top-left-radius:16px;border-top-right-radius:4px;box-shadow:0 6px 18px oklch(.17 .08 275/.45)}.message.assistant .message-text{background:oklch(.97 .004 275);background:var(--surface-soft);border:1px solid oklch(.17 .08 275/.06);border-bottom-left-radius:6px;border-bottom-right-radius:16px;border-top-left-radius:4px;border-top-right-radius:16px;box-shadow:0 6px 18px oklch(.17 .08 275/.06);box-sizing:border-box;color:oklch(.18 .09 275);color:var(--text-primary);display:inline-block;padding:10px 14px}.typing-indicator{align-items:center;display:flex;justify-content:center;padding:16px}.typing-indicator img{height:40px;object-fit:contain;width:40px}.message-feedback{align-items:center;border-top:1px solid oklch(.17 .08 275/.1);display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-top:16px}.feedback-label{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-bottom:4px;text-align:center}.feedback-buttons-row{flex-wrap:wrap;gap:12px}.feedback-btn,.feedback-buttons-row{align-items:center;display:flex;justify-content:center}.feedback-btn{background:none;border:none;border-radius:8px;cursor:pointer;font-size:1.4rem;min-height:40px;min-width:40px;opacity:.8;padding:6px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.feedback-btn:hover:not(:disabled){background:oklch(.17 .08 275/.05);opacity:1;transform:scale(1.1)}.feedback-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.feedback-btn.active{background:oklch(.5 .2 25/.1);opacity:1}.negative-feedback-input-container{align-items:center;display:flex;gap:8px;margin-left:8px}.negative-feedback-input{border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:6px;font-size:.85rem;min-width:200px;outline:none;padding:6px 10px;transition:border-color .2s cubic-bezier(.16,1,.3,1);transition:border-color var(--duration-normal) var(--ease-out)}.negative-feedback-input:focus{border-color:oklch(.17 .08 275);border-color:var(--brand-primary);box-shadow:0 0 0 2px oklch(.17 .08 275/.1)}.feedback-submit-btn{align-items:center;background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));border:none;border-radius:6px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;display:flex;font-size:.9rem;justify-content:center;min-height:32px;min-width:32px;padding:6px 10px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.feedback-submit-btn:hover:not(:disabled){box-shadow:0 4px 10px oklch(.17 .08 275/.3);transform:translateY(-1px)}.feedback-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.feedback-submitted{color:oklch(.7 .17 245);color:var(--state-success);font-size:.85rem;font-weight:500;margin-top:12px;text-align:center}.chat-input-area{background:oklch(.99 .003 275);background:var(--surface-light);border-top:1px solid oklch(.92 .008 275);border-top:1px solid var(--surface-muted);padding:20px}.input-container{align-items:center;display:flex;gap:12px}.chat-input{border:2px solid oklch(.92 .008 275);border:2px solid var(--surface-muted);border-radius:25px;flex:1 1;font-size:1rem;outline:none;padding:14px 18px;transition:border-color .2s}.chat-input:focus{border-color:oklch(.7 .17 245);border-color:var(--brand-accent);box-shadow:0 0 0 4px oklch(.7 .17 245/.12);outline:2px solid oklch(.7 .17 245);outline:2px solid var(--brand-accent);outline-offset:2px}.send-button{align-items:center;background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));border:none;border-radius:50%;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;display:flex;font-size:1.2rem;height:48px;justify-content:center;transition:transform .2s cubic-bezier(.16,1,.3,1);transition:transform var(--duration-normal) var(--ease-out);width:48px}.send-button:hover:not(:disabled){transform:scale(1.05)}.send-button:disabled{cursor:not-allowed;opacity:.5}.input-help{margin-top:8px;text-align:center}.input-help small{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.8rem}.landing-footer{background:oklch(.42 .1 230);background:var(--brand-secondary);color:oklch(.97 .003 275);color:var(--text-on-dark);padding:2rem 1.25rem;padding:var(--space-8) var(--space-5);text-align:center}.footer-content{flex-wrap:wrap;gap:20px;justify-content:space-between;margin:0 auto;max-width:1200px}.footer-brand,.footer-content{align-items:center;display:flex}.footer-brand{color:oklch(.97 .003 275);color:var(--text-on-dark);gap:12px}.footer-avatar{animation-iteration-count:1;border-radius:50%;height:38px}.asimetrix-logo-link{display:inline-block;transition:opacity .2s cubic-bezier(.16,1,.3,1);transition:opacity var(--duration-normal) var(--ease-out)}.asimetrix-logo-link:hover{opacity:.8}.asimetrix-logo{height:40px;max-width:150px;object-fit:contain;width:auto}.admin-link{background:oklch(.7 .17 245/.1);border-radius:8px;color:oklch(.7 .17 245);color:var(--brand-accent);padding:8px 16px;text-decoration:none;transition:background-color .2s cubic-bezier(.16,1,.3,1);transition:background-color var(--duration-normal) var(--ease-out)}.admin-link:hover{background:oklch(.7 .17 245/.2)}.preview-cta{margin-top:8px;padding:0 16px 16px;text-align:center}.preview-cta .start-chat-btn{border-radius:20px;font-size:.9rem;padding:12px 20px;width:100%}.start-chat-btn{background:oklch(.7 .17 245);background:var(--brand-accent);border:none;border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 12px oklch(.17 .08 275/.08),0 2px 4px oklch(.17 .08 275/.04);box-shadow:var(--shadow-md);color:oklch(.99 .003 275);color:var(--text-on-accent);cursor:pointer;font-family:Urbanist,system-ui,sans-serif;font-family:var(--font-display);font-size:1.125rem;font-size:var(--text-md);font-weight:600;font-weight:var(--weight-semi);letter-spacing:.02em;padding:1rem 2rem;padding:var(--space-4) var(--space-8);transition:all .35s cubic-bezier(.34,1.56,.64,1);transition:all var(--duration-slow) cubic-bezier(.34,1.56,.64,1)}.start-chat-btn:hover{background:oklch(.65 .18 245);box-shadow:0 8px 24px oklch(.17 .08 275/.1),0 4px 8px oklch(.17 .08 275/.05),0 0 20px oklch(.7 .17 245/.25);box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-2px)}.start-chat-btn:active{transform:translateY(0)}@media (max-width:768px){.hero-content{gap:40px;grid-template-columns:1fr;text-align:center}.hero-text{padding-left:0}.hero-title{font-size:2.5rem}.hero-features{justify-content:center}.chat-preview{height:400px;width:280px}.chat-container{margin:0 10px}.footer-content{flex-direction:column;text-align:center}.hero-section{display:none}.chat-section{background:oklch(.99 .003 275);background:var(--surface-light);height:100vh;left:0;padding:0;position:fixed;top:0;width:100vw;z-index:1000}.chat-container{border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100vh;margin:0;max-width:100%;position:relative}.chat-header{background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--color-primary),var(--color-footer));box-sizing:border-box;flex-shrink:0;height:64px;padding:12px 16px}.chat-header-content{gap:12px}.chat-header-avatar{height:47px}.chat-header-info h2{font-size:1.3rem}.chat-messages{-webkit-overflow-scrolling:touch;background:oklch(.97 .004 275);background:var(--surface-soft);flex:1 1;overflow-x:hidden;overflow-y:auto;padding:12px 12px 80px}.chat-input-area{background:oklch(.99 .003 275);background:var(--surface-light);border-top:1px solid oklch(.92 .008 275);border-top:1px solid var(--surface-muted);bottom:0;box-sizing:border-box;left:0;min-height:68px;padding:10px 12px;position:fixed;right:0;width:100%;z-index:100}.input-container{align-items:center;display:flex;flex-direction:row;gap:8px}.chat-input{border-radius:20px;flex:1 1;font-size:.9rem;max-height:100px;min-height:40px;padding:10px 14px}.send-button{flex-shrink:0;font-size:1rem;height:40px;width:40px}.input-help{display:none}.message{align-items:flex-end;display:flex;flex-direction:row;margin-bottom:12px;max-width:100%}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-avatar{flex-shrink:0;height:38px;width:32px}.message.user .message-avatar{margin-left:8px;order:2}.message.assistant .message-avatar{margin-right:8px;order:-1}.message-content{display:flex;flex:1 1;flex-direction:column;max-width:calc(100% - 40px)}.message.user .message-content{align-items:flex-end;order:1}.message.assistant .message-content{align-items:flex-start;order:1}.message-text{word-wrap:break-word;border-radius:18px;box-sizing:border-box;font-size:.95rem;line-height:1.4;max-width:100%;min-width:60px;padding:12px 16px}.message.user .message-text{background:linear-gradient(135deg,oklch(.7 .17 245),oklch(.17 .08 275));background:linear-gradient(135deg,var(--color-action),var(--color-primary));border-bottom-right-radius:4px;box-shadow:0 2px 8px oklch(.7 .17 245/.3);color:oklch(.97 .003 275);color:var(--text-on-dark)}.message.assistant .message-text{background:oklch(.99 .003 275);background:var(--surface-light);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-bottom-left-radius:4px;box-shadow:0 1px 3px oklch(.17 .08 275/.1);color:oklch(.18 .09 275);color:var(--color-text-primary)}.message-feedback{border-top:1px solid oklch(.17 .08 275/.1);margin-top:8px;padding-top:8px}.feedback-buttons-row{gap:8px}.feedback-btn{font-size:1.2rem;min-height:32px;min-width:32px;padding:4px}.negative-feedback-input-container{flex-direction:column;gap:6px;margin-left:0;margin-top:8px}.negative-feedback-input{min-width:200px;width:100%}.feedback-submit-btn{align-self:flex-end;min-width:80px}.welcome-message{padding:20px 16px}.welcome-content h3{font-size:1.2rem}.welcome-examples{gap:8px}.example-question{font-size:.9rem;padding:10px 12px}.landing-footer{display:none}}@media (max-width:480px){.hero-section{padding:40px 20px 60px}.hero-title{font-size:2rem}.chat-preview{height:380px;width:250px}.welcome-examples{max-width:100%}}.admin-feedback{margin:0 auto;max-width:1200px;padding:20px}.admin-feedback h2{color:oklch(.17 .08 275);color:var(--brand-primary);font-size:2rem;margin-bottom:30px;text-align:center}.feedback-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.feedback-stat-card{background:oklch(.99 .003 275);background:var(--surface-light);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:12px;box-shadow:0 4px 15px oklch(.17 .08 275/.1);padding:20px;text-align:center}.feedback-stat-card h3{color:oklch(.17 .08 275);color:var(--brand-primary);font-size:1.1rem;font-weight:600;margin-bottom:10px}.feedback-stat-value{color:oklch(.42 .1 230);color:var(--brand-secondary);font-size:2.5rem;font-weight:700;margin-bottom:5px}.feedback-stat-label{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.9rem}.feedback-satisfaction-rate{background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary))}.feedback-satisfaction-rate,.feedback-satisfaction-rate .feedback-stat-value{color:oklch(.97 .003 275);color:var(--text-on-dark)}.feedback-sentiment-chart{background:oklch(.99 .003 275);background:var(--surface-light);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:12px;box-shadow:0 4px 15px oklch(.17 .08 275/.1);margin-bottom:30px;padding:20px}.feedback-sentiment-chart h3{color:oklch(.17 .08 275);color:var(--brand-primary);font-size:1.2rem;margin-bottom:20px;text-align:center}.sentiment-bars{align-items:end;display:flex;gap:20px;height:200px;justify-content:space-around}.sentiment-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:120px}.sentiment-bar-fill{background:linear-gradient(0deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(to top,var(--brand-primary),var(--brand-secondary));border-radius:4px 4px 0 0;min-height:10px;transition:height .35s cubic-bezier(.16,1,.3,1);transition:height var(--duration-slow) var(--ease-out);width:100%}.sentiment-bar.positive .sentiment-bar-fill{background:linear-gradient(0deg,oklch(.7 .17 245),oklch(.7 .17 245));background:linear-gradient(to top,var(--state-success),var(--state-success))}.sentiment-bar.negative .sentiment-bar-fill{background:linear-gradient(0deg,oklch(.5 .2 25),oklch(.72 .16 55));background:linear-gradient(to top,var(--state-error),oklch(.72 .16 55))}.sentiment-bar.neutral .sentiment-bar-fill{background:linear-gradient(0deg,oklch(.55 .03 275),oklch(.75 .02 275))}.sentiment-bar-label{color:oklch(.55 .03 275);color:var(--text-secondary);font-size:.9rem;margin-top:10px;text-align:center}.sentiment-bar-value{color:oklch(.17 .08 275);color:var(--brand-primary);font-weight:700;margin-bottom:5px}.satisfaction-bar{background:oklch(.17 .08 275/.1);border-radius:4px;height:8px;margin-top:8px;overflow:hidden;width:100%}.satisfaction-fill{background:linear-gradient(90deg,oklch(.7 .17 245),oklch(.7 .17 245));background:linear-gradient(90deg,var(--state-success),var(--state-success));border-radius:4px;height:100%;transition:width .35s cubic-bezier(.16,1,.3,1);transition:width var(--duration-slow) var(--ease-out)}.sentiment-breakdown{background:oklch(.99 .003 275/.9);border:1px solid oklch(.17 .08 275/.05);border-radius:8px;margin-top:24px;padding:20px}.sentiment-breakdown h4{color:oklch(.18 .09 275);color:var(--color-text-primary);font-size:1.1rem;font-weight:600;margin-bottom:16px;text-align:center}.breakdown-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.breakdown-item{background:oklch(.99 .003 275);background:var(--surface-light);border:1px solid oklch(.17 .08 275/.05);border-radius:8px;box-shadow:0 2px 4px oklch(.17 .08 275/.05);padding:16px}.breakdown-header{align-items:center;border-bottom:1px solid oklch(.17 .08 275/.1);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.sentiment-label{font-size:1rem;font-weight:600;text-transform:capitalize}.total-count{color:oklch(.18 .09 275);color:var(--color-text-primary);font-size:1.2rem;font-weight:700}.breakdown-details{display:flex;flex-direction:column;gap:8px}.detail-item{align-items:center;border-radius:4px;display:flex;font-size:.9rem;gap:8px;padding:6px 8px}.detail-item.positive{background:oklch(.6 .17 155/.1);color:oklch(.7 .17 245);color:var(--state-success)}.detail-item.negative{background:oklch(.5 .2 25/.1);color:oklch(.5 .2 25);color:var(--state-error)}.detail-icon{font-size:1rem}.detail-count{font-weight:600;min-width:20px}.detail-percent{font-size:.8rem;opacity:.8}.sentiment-summary{background:oklch(.99 .003 275/.8);border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding:16px}.sentiment-summary-item{align-items:center;background:oklch(.97 .004 275);background:var(--color-background-alt);border-radius:6px;display:flex;flex-direction:column;min-width:80px;padding:8px 12px}.sentiment-name{color:oklch(.18 .09 275);color:var(--color-text-primary);font-size:.9rem;font-weight:600;margin-bottom:4px}.sentiment-count{color:oklch(.55 .03 275);color:var(--color-text-secondary);font-size:.8rem}.feedback-type-sentiments{background:oklch(.97 .004 275);background:var(--color-background-alt);border:1px solid oklch(.17 .08 275/.1);border-radius:12px;margin-top:32px;padding:24px}.feedback-type-sentiments h3{color:oklch(.7 .17 245);color:var(--color-action);font-size:1.3rem;margin-bottom:24px;text-align:center}.feedback-type-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.feedback-type-section{background:oklch(.99 .003 275);background:var(--surface-light);border:1px solid oklch(.17 .08 275/.05);border-radius:8px;box-shadow:0 2px 8px oklch(.17 .08 275/.05);padding:20px}.feedback-type-section h4{color:oklch(.18 .09 275);color:var(--color-text-primary);font-size:1.1rem;font-weight:600;margin-bottom:16px;text-align:center}.feedback-type-section .chart-container{height:250px;margin:0;padding:12px}.no-data{background:oklch(.17 .08 275/.02);border-radius:6px;color:oklch(.55 .03 275);color:var(--color-text-secondary);font-style:italic;margin:16px 0;padding:20px;text-align:center}.feedback-filters{background:oklch(.99 .003 275);background:var(--surface-light);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:12px;box-shadow:0 4px 15px oklch(.17 .08 275/.1);margin-bottom:20px;padding:20px}.feedback-filters h3{color:oklch(.17 .08 275);color:var(--brand-primary);font-size:1.1rem;margin-bottom:15px}.feedback-filters form{align-items:end;display:flex;flex-wrap:wrap;gap:15px}.feedback-filters label{color:oklch(.55 .03 275);color:var(--text-secondary);display:block;font-size:.9rem;margin-bottom:5px}.feedback-filters input,.feedback-filters select{border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);border-radius:6px;font-size:.9rem;min-width:150px;padding:8px 12px}.feedback-filters button{background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));border:none;border-radius:6px;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .35s cubic-bezier(.16,1,.3,1);transition:all var(--duration-slow) var(--ease-out)}.feedback-filters button:hover{box-shadow:0 4px 10px oklch(.17 .08 275/.3);transform:translateY(-1px)}.feedback-error,.feedback-loading{color:oklch(.55 .03 275);color:var(--text-secondary);padding:40px;text-align:center}.feedback-error{color:oklch(.5 .2 25);color:var(--state-error)}@media (max-width:768px){.admin-feedback{padding:15px}.feedback-stats-grid{grid-template-columns:1fr}.sentiment-bars{flex-direction:column;gap:15px;height:auto}.sentiment-bar{align-items:center;flex-direction:row;max-width:none}.sentiment-bar-fill{border-radius:0 4px 4px 0;height:20px;width:100px}.sentiment-bar-label{margin-left:10px;margin-top:0}.feedback-type-grid{gap:16px;grid-template-columns:1fr}.feedback-type-section{padding:16px}.chart-container{height:200px;padding:8px}.sentiment-summary{flex-direction:column;gap:8px}.sentiment-summary-item{flex-direction:row;justify-content:space-between;min-width:auto;width:100%}.breakdown-grid{grid-template-columns:1fr}.breakdown-item{padding:12px}.breakdown-header{align-items:flex-start;flex-direction:column;gap:4px}.breakdown-details{gap:6px}.feedback-filters form{align-items:stretch;flex-direction:column}.feedback-filters button,.feedback-filters input,.feedback-filters select{min-width:auto}}.toast-container{display:flex;flex-direction:column;gap:10px;max-width:400px;position:fixed;right:20px;top:20px;z-index:10000}.toast{animation:slideInRight .35s cubic-bezier(.16,1,.3,1);animation:slideInRight var(--duration-slow) var(--ease-out);background:oklch(.99 .003 275);background:var(--surface-light);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 8px 24px oklch(.17 .08 275/.1),0 4px 8px oklch(.17 .08 275/.05);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.toast:before{border-radius:12px 12px 0 0;border-radius:var(--radius-md) var(--radius-md) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.toast-success:before{background:oklch(.7 .17 245);background:var(--state-success)}.toast-error:before{background:oklch(.5 .2 25);background:var(--state-error)}.toast-warning:before{background:oklch(.88 .18 95);background:var(--state-warning)}.toast-info:before{background:oklch(.79 .07 225);background:var(--state-info)}.toast-content{align-items:center;display:flex;gap:12px;min-width:300px;padding:16px 20px}.toast-icon{flex-shrink:0;font-size:1.2rem}.toast-message{color:oklch(.18 .09 275);color:var(--text-primary);flex:1 1;font-size:.9rem;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:4px;color:oklch(.5 .02 275);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:24px;justify-content:center;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);width:24px}.toast-close:hover{background:oklch(.17 .08 275/.1);color:oklch(.55 .03 275);color:var(--text-secondary)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast.fade-out{animation:fadeOut .3s ease-out forwards}@keyframes fadeOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:480px){.toast-container{left:10px;max-width:none;right:10px;top:10px}.toast-content{min-width:auto;padding:12px 16px}.toast-message{font-size:.85rem}}.download-button{align-items:center;background:oklch(.6 .17 155/.1);border:1px solid oklch(.6 .17 155/.2);border-radius:8px;color:oklch(.7 .17 245);color:var(--state-success);cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out);width:36px}.download-button:hover{background:oklch(.6 .17 155/.2);transform:translateY(-1px)}.modal-actions{align-items:center;display:flex;gap:8px}.modal-actions .download-button{background:oklch(.6 .17 155/.1);border:1px solid oklch(.6 .17 155/.2);border-radius:6px;color:oklch(.7 .17 245);color:var(--state-success);font-size:.9rem;font-weight:500;height:auto;padding:8px 16px;width:auto}.modal-actions .download-button:hover{background:oklch(.6 .17 155/.2);transform:translateY(-1px)}.document-content-section{background:oklch(.7 .17 245/.03);border:1px solid oklch(.7 .17 245/.1);border-radius:12px;margin-top:24px;padding:20px}.document-content-section h4{align-items:center;color:oklch(.7 .17 245);color:var(--brand-accent);display:flex;font-size:1.1rem;gap:8px;margin-bottom:16px}.document-content{word-wrap:break-word;background:oklch(.99 .003 275);background:var(--color-background);border:1px solid oklch(.97 .004 275);border:1px solid var(--color-background-alt);border-radius:8px;font-family:Monaco,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.5;max-height:400px;overflow-y:auto;padding:16px;white-space:pre-wrap}.document-content::-webkit-scrollbar{width:6px}.document-content::-webkit-scrollbar-track{background:oklch(.7 .17 245/.1);border-radius:3px}.document-content::-webkit-scrollbar-thumb{background:oklch(.7 .17 245/.3);border-radius:3px}.document-content::-webkit-scrollbar-thumb:hover{background:oklch(.7 .17 245/.5)}.splash{align-items:center;background:#000;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.splash img{max-height:100%;max-width:100%}.onboarding-overlay{align-items:center;background:oklch(.17 .08 275/.8);display:flex;height:100vh;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100vw;z-index:10000}.onboarding-modal{background:oklch(.99 .003 275);background:var(--surface-light);border-radius:20px;box-shadow:0 20px 60px oklch(.17 .08 275/.3);display:flex;flex-direction:column;max-height:90vh;max-width:320px;overflow:hidden;width:100%}.onboarding-header{align-items:center;background:linear-gradient(90deg,oklch(.17 .08 275),oklch(.42 .1 230));background:linear-gradient(90deg,var(--color-primary),var(--color-footer));color:oklch(.97 .003 275);color:var(--text-on-dark);display:flex;justify-content:space-between;padding:20px;position:relative}.onboarding-avatar{border-radius:50%;height:47px;object-fit:cover;width:40px}.onboarding-header h3{flex:1 1;font-size:1.2rem;font-weight:600;margin:0;text-align:center}.onboarding-close{align-items:center;background:none;border:none;border-radius:50%;color:oklch(.97 .003 275);color:var(--text-on-dark);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:4px;transition:background-color .2s cubic-bezier(.16,1,.3,1);transition:background-color var(--duration-normal) var(--ease-out);width:32px}.onboarding-close:hover{background:oklch(.99 .003 275/.2)}.onboarding-content{flex:1 1;overflow-y:auto;padding:24px 20px}.onboarding-step{text-align:center}.step-icon{font-size:3rem;margin-bottom:16px}.onboarding-step h4{color:oklch(.17 .08 275);color:var(--color-primary);font-size:1.1rem;font-weight:600;margin-bottom:12px}.onboarding-step p{color:oklch(.55 .03 275);color:var(--color-text-secondary);line-height:1.5;margin-bottom:20px}.step-example{display:flex;flex-direction:column;gap:8px;margin:20px 0}.example-bubble{word-wrap:break-word;border-radius:16px;font-size:.9rem;max-width:80%;padding:10px 14px}.example-bubble.user{align-self:flex-end;background:linear-gradient(135deg,oklch(.7 .17 245),oklch(.17 .08 275));background:linear-gradient(135deg,var(--color-action),var(--color-primary));border-bottom-right-radius:4px;color:oklch(.97 .003 275);color:var(--text-on-dark);margin-left:auto}.example-bubble.assistant{align-self:flex-start;background:oklch(.97 .004 275);background:var(--surface-soft);border-bottom-left-radius:4px;color:oklch(.18 .09 275);color:var(--color-text-primary)}.step-feedback{display:flex;gap:16px;justify-content:center;margin:20px 0}.step-feedback .feedback-btn{background:none;border:none;border-radius:12px;cursor:pointer;font-size:2rem;opacity:.7;padding:8px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.step-feedback .feedback-btn:hover{background:oklch(.17 .08 275/.05);opacity:1;transform:scale(1.1)}.step-examples{display:flex;flex-direction:column;gap:8px;margin:20px 0}.step-examples .example-question{background:oklch(.7 .17 245/.1);border:1px solid oklch(.7 .17 245/.2);border-radius:12px;color:oklch(.7 .17 245);color:var(--color-action);font-size:.9rem;padding:10px 14px;text-align:center}.onboarding-footer{background:oklch(.97 .004 275);background:var(--surface-soft);border-top:1px solid oklch(.92 .008 275);border-top:1px solid var(--surface-muted);padding:20px}.onboarding-dots{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.dot{background:oklch(.92 .008 275);background:var(--surface-muted);border-radius:50%;height:8px;transition:background-color .2s cubic-bezier(.16,1,.3,1);transition:background-color var(--duration-normal) var(--ease-out);width:8px}.dot.active{background:oklch(.7 .17 245);background:var(--color-action)}.onboarding-buttons{display:flex;gap:12px;justify-content:space-between}.onboarding-btn{border:none;border-radius:12px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s cubic-bezier(.16,1,.3,1);transition:all var(--duration-normal) var(--ease-out)}.onboarding-btn.primary{background:linear-gradient(90deg,oklch(.7 .17 245),oklch(.17 .08 275));background:linear-gradient(90deg,var(--color-action),var(--color-primary));color:oklch(.97 .003 275);color:var(--text-on-dark);flex:1 1}.onboarding-btn.primary:hover{box-shadow:0 4px 12px oklch(.7 .17 245/.3);transform:translateY(-1px)}.onboarding-btn.secondary{background:oklch(.97 .004 275);background:var(--surface-soft);border:1px solid oklch(.92 .008 275);border:1px solid var(--surface-muted);color:oklch(.55 .03 275);color:var(--color-text-secondary)}.onboarding-btn.secondary:hover{background:oklch(.92 .008 275);background:var(--surface-muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.7de67043.css.map*/