:root{--bg-deep: #f4f7fa;--bg-mid: #eaf0f6;--bg-surface: #ffffff;--bg-surface-hover: #f0f4f8;--bg-input: #ffffff;--border-subtle: rgba(0, 0, 0, .08);--border-focus: #3b8fcc;--text-primary: #1a2b3c;--text-secondary: #4a6275;--text-muted: #8fa3b5;--text-accent: #2a7ab5;--accent: #3b8fcc;--accent-glow: rgba(59, 143, 204, .12);--accent-hover: #2a7ab5;--user-bubble: #3b8fcc;--user-bubble-border: rgba(59, 143, 204, .2);--assistant-bubble: #ffffff;--assistant-bubble-border: rgba(0, 0, 0, .08);--shadow-soft: 0 2px 12px rgba(0, 0, 0, .06);--shadow-glow: 0 0 30px rgba(59, 143, 204, .08);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;font-family:Outfit,sans-serif;line-height:1.6;font-weight:400;color:var(--text-primary);background-color:var(--bg-deep);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100dvh;overflow:hidden;background:var(--bg-deep)}#root{width:100%;height:100dvh;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:#3b8fcc33;color:var(--text-primary)}.app{width:100%;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}.access-gate{width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 15% 10%,rgba(59,143,204,.16),transparent 40%),radial-gradient(circle at 85% 90%,rgba(214,185,131,.24),transparent 45%),#f8fafc}.access-card{width:min(440px,100%);border-radius:18px;padding:28px;background:#ffffffeb;border:1px solid rgba(59,143,204,.25);box-shadow:0 24px 56px #0f172a1f;text-align:center}.access-logo-wrap{display:flex;justify-content:center;margin-bottom:12px}.access-logo{width:88px;height:88px;object-fit:contain}.access-card h1{margin:0;font-family:"DM Serif Display",serif;color:var(--text-primary)}.access-card p{margin:8px 0 0;color:var(--text-secondary)}.access-form{margin-top:18px;display:flex;gap:8px}.access-form input{flex:1;height:44px;border-radius:12px;border:1px solid var(--border-subtle);padding:0 12px;background:#fff;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:.98rem}.access-form input:focus{outline:none;border-color:#3b8fcc80;box-shadow:0 0 0 3px var(--accent-glow)}.access-form button{height:44px;border:none;border-radius:12px;padding:0 16px;background:var(--accent);color:#fff;font-family:Outfit,sans-serif;cursor:pointer;transition:background .2s ease}.access-form button:hover:not(:disabled){background:var(--accent-hover)}.access-form button:disabled{opacity:.5;cursor:not-allowed}.access-error{margin:10px 0 0!important;color:#b8323d!important;font-size:.9rem}.app:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 10%,rgba(59,143,204,.04) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 90%,rgba(59,143,204,.02) 0%,transparent 60%);pointer-events:none;z-index:0}.app-background{position:absolute;inset:0;background-color:#fff;background-size:contain;background-position:top center;background-repeat:no-repeat;opacity:.5;z-index:0;pointer-events:none}.screen-drop-overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#3b8fcc29;border:2px dashed rgba(59,143,204,.55);color:var(--text-accent);font-size:1rem;font-weight:600;letter-spacing:.01em;pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.screen-drop-overlay-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 22px;border-radius:16px;background:#ffffffd1;border:1px solid rgba(59,143,204,.25);box-shadow:0 14px 40px #0000001f,inset 0 1px #ffffff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.screen-drop-overlay-image{width:min(280px,68vw);height:auto;object-fit:contain}.screen-drop-overlay-card p{margin:0;color:var(--text-accent);font-weight:600;text-align:center}.header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd9}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{width:100px;height:100px;display:flex;align-items:center;justify-content:center}.header-logo img{width:100px;height:100px;object-fit:contain}.header-title{font-family:"DM Serif Display",serif;font-size:1.4rem;color:var(--text-primary);letter-spacing:-.01em}.header-controls{display:flex;align-items:center;justify-content:flex-end;margin-left:auto;flex-shrink:0}.messages-container{position:relative;z-index:1;flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 0;scroll-behavior:smooth;transition:background .3s ease}.app-main{position:relative;z-index:1;flex:1;display:flex;align-items:stretch;justify-content:center;overflow:hidden;min-height:0}.chat-panel{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.app.has-background .chat-panel{max-width:808px;width:100%;margin:10px auto;border-radius:var(--radius-lg);background:#ffffff73;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #fff3,0 8px 32px #00000014}.app.has-background .header{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.2)}.messages-list{max-width:760px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:6px}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:48px 24px;text-align:center}.welcome-icon{width:200px;height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.welcome-icon img{width:200px;height:200px;object-fit:contain}.welcome h2{font-family:"DM Serif Display",serif;font-size:1.95rem;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.02em}.welcome p{color:var(--text-muted);font-size:1.05rem;max-width:380px;font-weight:300;line-height:1.6}.welcome-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;justify-content:center;max-width:520px}.suggestion-chip{padding:10px 18px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-secondary);font-size:.95rem;font-family:Outfit,sans-serif;cursor:pointer;transition:all .2s ease;font-weight:400}.suggestion-chip:hover{background:var(--bg-surface-hover);border-color:#3b8fcc4d;color:var(--text-primary);transform:translateY(-1px)}.message-row{display:flex;gap:12px;max-width:100%}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-avatar{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:4px}.message-row.assistant .message-avatar{background:none}.message-row.assistant .message-avatar img{width:32px;height:32px;object-fit:contain}.message-bubble{max-width:75%;padding:12px 18px;line-height:1.6;font-size:1.025rem;word-wrap:break-word;overflow-wrap:break-word}.message-row.user .message-bubble{background:var(--user-bubble);border:1px solid var(--user-bubble-border);border-radius:var(--radius-md) var(--radius-md) 6px var(--radius-md);color:#fff}.message-row.assistant .message-bubble{background:var(--assistant-bubble);border:1px solid var(--assistant-bubble-border);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 6px;color:var(--text-secondary)}.message-row.assistant .message-bubble h1,.message-row.assistant .message-bubble h2,.message-row.assistant .message-bubble h3{color:var(--text-primary);margin-top:16px;margin-bottom:8px;line-height:1.3}.message-row.assistant .message-bubble h1{font-size:1.3rem}.message-row.assistant .message-bubble h2{font-size:1.2rem}.message-row.assistant .message-bubble h3{font-size:1.05rem}.message-row.assistant .message-bubble h1:first-child,.message-row.assistant .message-bubble h2:first-child,.message-row.assistant .message-bubble h3:first-child{margin-top:0}.message-row.assistant .message-bubble p{margin-bottom:8px}.message-row.assistant .message-bubble p:last-child{margin-bottom:0}.message-row.assistant .message-bubble ul,.message-row.assistant .message-bubble ol{padding-left:20px;margin-bottom:8px}.message-row.assistant .message-bubble li{margin-bottom:4px}.message-row.assistant .message-bubble strong{color:var(--text-primary);font-weight:500}.message-row.assistant .message-bubble em{color:var(--text-accent);font-style:italic}.message-row.assistant .message-bubble code{background:#3b8fcc14;padding:1px 5px;border-radius:4px;font-size:.9em}.message-row.assistant .message-bubble pre{background:#f0f4f8;border-radius:8px;padding:12px;overflow-x:auto;margin-bottom:8px}.message-row.assistant .message-bubble pre code{background:none;padding:0}.message-row.assistant .message-bubble hr{border:none;border-top:1px solid var(--border-subtle);margin:12px 0}.message-row.assistant .message-bubble table{width:100%;border-collapse:collapse;margin-bottom:8px;font-size:.95rem}.message-row.assistant .message-bubble th,.message-row.assistant .message-bubble td{border:1px solid var(--border-subtle);padding:6px 10px;text-align:left}.message-row.assistant .message-bubble th{background:#f0f4f8;color:var(--text-primary);font-weight:500}.typing-indicator{display:flex;gap:5px;padding:4px 0}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typing-bounce 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.input-area{position:relative;z-index:10;padding:16px 24px 24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f4f7fad9}.input-area:before{content:"";position:absolute;top:-40px;left:0;right:0;height:40px;background:linear-gradient(to top,rgba(244,247,250,.95),transparent);pointer-events:none}.input-wrapper{max-width:760px;margin:0 auto;position:relative}.input-row{display:flex;align-items:flex-end;gap:8px}.model-selector{position:relative;flex-shrink:0}.chat-mode-toggle{display:flex;align-items:center;gap:4px;min-height:42px;padding:4px;background:#ffffff57;border:1px solid rgba(255,255,255,.38);border-radius:999px;box-shadow:inset 0 1px #ffffff47,0 10px 24px #0f172a14;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);flex-shrink:0}.chat-mode-button{height:32px;padding:0 12px;background:transparent;border:none;border-radius:999px;color:#223a4ec7;font-family:Outfit,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:all .18s ease;white-space:nowrap}.chat-mode-button:hover{background:#ffffff57;color:var(--text-primary)}.chat-mode-button.active{background:linear-gradient(135deg,#3b8fcc2e,#3b8fcc1a);color:#1f5d89;box-shadow:inset 0 1px #ffffff57,0 1px 6px #3b8fcc24}.model-selector-trigger{display:flex;align-items:center;gap:4px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:14px;color:var(--text-secondary);font-family:Outfit,sans-serif;font-size:.875rem;font-weight:400;cursor:pointer;transition:all .2s ease;white-space:nowrap;height:54px}.model-selector-trigger:hover{background:var(--bg-surface-hover);border-color:#3b8fcc4d;color:var(--text-primary)}.model-selector-chevron{width:14px;height:14px;transition:transform .2s ease}.model-selector-chevron.open{transform:rotate(180deg)}.model-selector-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;min-width:200px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:4px;box-shadow:var(--shadow-soft);z-index:100}.model-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;color:var(--text-secondary);font-family:Outfit,sans-serif;font-size:.95rem;cursor:pointer;transition:all .15s ease}.model-option:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.model-option.active{background:#3b8fcc1a;color:var(--text-accent)}.model-option-name{font-weight:400}.model-option-context{font-size:.78rem;color:var(--text-muted);font-weight:300}.input-box{display:flex;flex-direction:column;flex:1;min-width:0;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:6px;transition:all .25s ease;box-shadow:var(--shadow-soft)}.input-box:focus-within{border-color:#3b8fcc4d;box-shadow:var(--shadow-soft),0 0 0 3px var(--accent-glow)}.input-box.drag-active{border-color:#3b8fcc80;background:#3b8fcc0f}.drop-hint{padding:4px 10px 2px;font-size:.76rem;font-weight:500;color:var(--text-accent)}.input-controls{display:flex;align-items:flex-end;padding-left:14px}.input-box textarea{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:400;line-height:1.5;resize:none;max-height:120px;padding:10px 0;scrollbar-width:none}.input-box textarea::placeholder{color:var(--text-muted);font-weight:300}.input-box textarea::-webkit-scrollbar{display:none}.send-button{width:42px;height:42px;border-radius:14px;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.send-button:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.04)}.send-button:active:not(:disabled){transform:scale(.96)}.send-button:disabled{opacity:.3;cursor:not-allowed}.send-button svg{width:18px;height:18px}.input-hint{text-align:center;margin-top:10px;font-size:.8rem;color:var(--text-muted);font-weight:300}.input-hint kbd{padding:1px 5px;border-radius:4px;border:1px solid var(--border-subtle);background:#0000000a;font-family:Outfit,sans-serif;font-size:.78rem}.upload-button{width:42px;height:42px;border-radius:14px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.upload-button:hover:not(:disabled){color:var(--text-accent);background:#3b8fcc14}.upload-button:disabled{opacity:.3;cursor:not-allowed}.upload-button svg{width:18px;height:18px}.voice-button{height:42px;padding:0 12px;margin-right:6px;border-radius:14px;border:none;background:#3b8fcc1a;color:var(--text-accent);cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:500;flex-shrink:0;transition:all .2s ease}.voice-button:hover:not(:disabled){background:#3b8fcc2e}.voice-button:disabled{opacity:.4;cursor:not-allowed}.voice-button.recording{background:#c45a5a29;color:#a53f3f}.voice-button svg{width:16px;height:16px}.attachment-previews{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px 4px}.attachment-chip{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:var(--bg-surface-hover);border:1px solid var(--border-subtle);border-radius:8px;font-size:.78rem;color:var(--text-secondary);max-width:200px}.attachment-chip-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px}.attachment-chip-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#3b8fcc1a;border-radius:4px;font-size:.65rem;font-weight:600;color:var(--text-accent)}.attachment-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.attachment-chip-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:none;color:var(--text-muted);cursor:pointer;padding:0;flex-shrink:0;border-radius:50%;transition:all .15s ease}.attachment-chip-remove:hover{background:#00000014;color:var(--text-primary)}.attachment-chip-remove svg{width:12px;height:12px}.message-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.message-attachment-image{max-width:200px;max-height:150px;border-radius:8px;object-fit:cover}.message-attachment-file{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ffffff26;border-radius:6px;font-size:.78rem}.message-row.assistant .message-attachment-file{background:#3b8fcc14}.token-counter{margin-top:10px}.token-bar-track{width:100%;height:3px;background:var(--border-subtle);border-radius:2px;overflow:hidden}.token-bar-fill{height:100%;border-radius:2px;transition:background .3s ease}.token-bar-green{background:#3b8fcc}.token-bar-amber{background:#e6a23c}.token-bar-red{background:#c45a5a}.token-counter-text{display:flex;justify-content:space-between;margin-top:4px;font-size:.7rem;color:var(--text-muted);font-weight:300}@media(max-width:640px){.access-card{padding:20px}.access-form{flex-direction:column}.access-form button{width:100%}.header-title{font-size:1.25rem}.messages-list{padding:0 16px}.input-area{padding:12px 16px 20px}.input-row{flex-direction:column;align-items:stretch}.model-selector{flex:1 1 auto;min-width:0}.model-selector-trigger{width:100%;justify-content:space-between}.header{padding:14px 16px;align-items:flex-start}.header-brand{min-width:0;flex:1}.header-controls{margin-left:0}.chat-mode-toggle{min-height:38px;padding:3px}.chat-mode-button{height:30px;padding:0 10px;font-size:.72rem}.message-bubble{max-width:85%}.welcome h2{font-size:1.55rem}.welcome-suggestions{flex-direction:column;align-items:center}.pinned-sidebar{display:none}}.message-row.assistant .message-bubble{position:relative}.pin-button{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;z-index:2;padding:0}.message-row.assistant:hover .pin-button,.pin-button.pinned{opacity:1}.pin-button:hover{color:var(--text-accent, #2a7ab5);background:#3b8fcc1f}.pin-button.pinned{color:var(--accent, #3b8fcc)}.pin-button svg{width:14px;height:14px}.pinned-sidebar{position:fixed;left:16px;top:50%;transform:translateY(-50%);max-height:calc(100dvh - 200px);width:220px;display:flex;flex-direction:column;gap:8px;z-index:5;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.pinned-sidebar-header{display:flex;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-family:"DM Serif Display",serif;font-size:.9rem;color:var(--text-primary, #1a2b3c)}.pinned-sidebar-header svg{width:14px;height:14px;color:var(--accent, #3b8fcc)}.pinned-sidebar-cards{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:6px;scrollbar-gutter:stable}.pinned-sidebar-cards::-webkit-scrollbar{width:8px}.pinned-sidebar-cards::-webkit-scrollbar-track{background:transparent}.pinned-sidebar-cards::-webkit-scrollbar-thumb{background:#3b8fcc33;border-radius:999px}.pinned-sidebar-cards::-webkit-scrollbar-thumb:hover{background:#3b8fcc59}.pinned-card{width:100%;flex-shrink:0;padding:10px 14px;background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:12px;box-shadow:0 2px 8px #0000000f;cursor:pointer;text-align:left;font-family:Outfit,sans-serif;transition:all .2s ease}.pinned-card:hover{border-color:#3b8fcc4d;box-shadow:0 4px 16px #3b8fcc1a}.pinned-card.active{border-color:var(--accent, #3b8fcc)}.pinned-card-question{font-size:.72rem;color:var(--text-muted, #8fa3b5);margin-bottom:4px;line-height:1.3;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.pinned-card-answer{font-size:.78rem;color:var(--text-secondary, #4a6275);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pinned-modal-overlay{position:fixed;inset:0;z-index:50;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.pinned-modal{width:min(640px,100%);max-height:80vh;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:18px;box-shadow:0 24px 56px #0f172a26;display:flex;flex-direction:column;overflow:hidden}.pinned-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.08)}.pinned-modal-header h3{font-family:"DM Serif Display",serif;font-size:1.15rem;color:var(--text-primary, #1a2b3c);margin:0}.pinned-modal-close{width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:var(--text-muted, #8fa3b5);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;padding:0}.pinned-modal-close:hover{background:#0000000f;color:var(--text-primary, #1a2b3c)}.pinned-modal-close svg{width:16px;height:16px}.pinned-modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.pinned-modal-section{display:flex;flex-direction:column;gap:6px}.pinned-modal-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #8fa3b5);font-family:Outfit,sans-serif}.pinned-modal-content.user{padding:12px 16px;background:#3b8fcc14;border-radius:12px;color:var(--text-primary, #1a2b3c);font-size:.95rem;line-height:1.5;font-family:Outfit,sans-serif}.pinned-modal-content.assistant{padding:12px 16px;background:var(--bg-surface, #f8fafc);border:1px solid rgba(0,0,0,.08);border-radius:12px;color:var(--text-secondary, #4a6275);font-size:.95rem;line-height:1.6}.kb-learn-indicator{position:relative;display:flex;align-items:center;margin-right:12px}.kb-learn-dot{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer;padding:0;transition:background .3s ease}.kb-learn-dot.processing{background:#f59e0b;box-shadow:0 0 8px #f59e0b80;animation:kb-pulse 1.5s ease-in-out infinite}.kb-learn-dot.done{background:#22c55e;box-shadow:0 0 8px #22c55e66;animation:none}.kb-learn-dot.pending{background:#f59e0b;box-shadow:0 0 8px #f59e0b80;animation:none}.kb-learn-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;border-radius:8px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none}@keyframes kb-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.kb-learn-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:400px;overflow-y:auto;background:var(--bg-surface, #ffffff);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm, 8px);box-shadow:var(--shadow-soft, 0 2px 12px rgba(0, 0, 0, .06));z-index:100;font-family:Outfit,sans-serif}.kb-learn-panel-header{padding:10px 14px 6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #8fa3b5);border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.kb-learn-panel-actions{display:flex;gap:6px}.kb-learn-action-btn{font-size:.65rem;font-weight:600;padding:3px 8px;border-radius:4px;border:none;cursor:pointer;text-transform:none;letter-spacing:0}.kb-learn-action-btn.approve-all{background:#22c55e26;color:#16a34a}.kb-learn-action-btn.approve-all:hover{background:#22c55e40}.kb-learn-action-btn.dismiss-all{background:#ef44441a;color:#dc2626}.kb-learn-action-btn.dismiss-all:hover{background:#ef444433}.kb-learn-panel-list{list-style:none;margin:0;padding:8px 14px 10px}.kb-learn-panel-list li{font-size:.82rem;color:var(--text-secondary, #4a6275);padding:4px 0;line-height:1.4}.kb-learn-panel-list li:before{content:"→ ";color:var(--text-muted, #8fa3b5)}.kb-learn-panel-empty{font-size:.82rem;color:var(--text-muted, #8fa3b5);font-style:italic}.kb-learn-panel-empty:before{content:""!important}.kb-learn-proposals{padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px}.kb-proposal{border-radius:6px;padding:10px;border:1px solid rgba(0,0,0,.08);background:#00000005}.kb-proposal-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.kb-proposal-action{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:3px}.kb-proposal-action.add{background:#22c55e26;color:#16a34a}.kb-proposal-action.update{background:#3b82f626;color:#2563eb}.kb-proposal-action.remove{background:#ef44441f;color:#dc2626}.kb-proposal-category{font-size:.7rem;color:var(--text-muted, #8fa3b5);text-transform:capitalize}.kb-proposal-old{font-size:.78rem;color:var(--text-muted, #8fa3b5);text-decoration:line-through;margin-bottom:4px;line-height:1.35}.kb-proposal-new{font-size:.78rem;color:var(--text-secondary, #4a6275);line-height:1.35;margin-bottom:4px}.kb-proposal-reason{font-size:.7rem;color:var(--text-muted, #8fa3b5);font-style:italic;margin-bottom:6px}.kb-proposal-buttons{display:flex;gap:6px}.kb-proposal-btn{font-size:.72rem;font-weight:600;padding:4px 12px;border-radius:4px;border:none;cursor:pointer}.kb-proposal-btn.approve{background:#22c55e26;color:#16a34a}.kb-proposal-btn.approve:hover{background:#22c55e4d}.kb-proposal-btn.dismiss{background:#ef44441a;color:#dc2626}.kb-proposal-btn.dismiss:hover{background:#ef444433}
