@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-3{margin-bottom:.75rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.gap-2{gap:.5rem}.break-all{word-break:break-all}.border{border-width:1px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.uppercase{text-transform:uppercase}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#4F6EF7;--primary-light:#EEF1FF;--primary-dark:#3451D1;--success:#22C55E;--warning:#F59E0B;--danger:#EF4444;--gray-50:#F9FAFB;--gray-100:#F3F4F6;--gray-200:#E5E7EB;--gray-300:#D1D5DB;--gray-400:#9CA3AF;--gray-500:#6B7280;--gray-600:#4B5563;--gray-700:#374151;--gray-800:#1F2937;--gray-900:#111827;--sidebar-w:216px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--gray-50);color:var(--gray-800);-webkit-font-smoothing:antialiased}.app{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);background:white;border-right:1px solid var(--gray-200);display:flex;flex-direction:column;z-index:100;transition:transform .25s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{transform:translateX(-100%)}.sidebar-header{padding:20px 16px 16px;border-bottom:1px solid var(--gray-100)}.sidebar-header-row{display:flex;align-items:center;justify-content:space-between}.sidebar-logo{display:flex;align-items:center;gap:10px}.sidebar-logo .logo-badge{width:44px;height:44px;background:var(--primary);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.sidebar-logo span{font-size:18px;font-weight:700;color:var(--gray-900)}.sidebar-logo small{display:block;font-size:11px;color:var(--gray-400);font-weight:400}.sidebar-collapse-btn{background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--gray-400);display:flex;align-items:center;border-radius:5px;transition:color .15s;line-height:1;flex-shrink:0}.sidebar-collapse-btn:hover{color:var(--gray-700)}.sidebar-expand-btn{position:fixed;left:16px;top:18px;background:none;border:none;padding:4px 8px;cursor:pointer;color:var(--gray-500);font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;border-radius:6px;z-index:99;transition:background .15s,color .15s}.sidebar-expand-btn .expand-label{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .2s ease,opacity .2s ease}.sidebar-expand-btn:hover{background:var(--gray-100);color:var(--gray-900)}.sidebar-expand-btn:hover .expand-label{max-width:100px;opacity:1}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto}.nav-section{margin-bottom:4px}.nav-section-title{font-size:10.5px;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.07em;padding:10px 10px 4px}.nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--gray-500);font-size:13.5px;font-weight:500;transition:background .15s ease-out,color .15s ease-out;margin-bottom:1px;text-decoration:none}.nav-item:hover{background:var(--gray-100);color:var(--gray-800)}.nav-item.active{background:var(--primary-light);color:var(--primary)}.nav-item.active .nav-icon svg{stroke:var(--primary)}.nav-item:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.nav-item .nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer{padding:12px 10px;border-top:1px solid var(--gray-100)}.user-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;cursor:pointer}.user-card:hover{background:var(--gray-100)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:14px;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:13px;font-weight:600;color:var(--gray-800)}.user-role{font-size:11px;color:var(--gray-400)}.sidebar-notify-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--gray-400);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.sidebar-notify-btn:hover{background:var(--gray-100);color:var(--gray-600)}.main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.main.sidebar-hidden{margin-left:0}.main.sidebar-hidden .content{padding-left:5vw;padding-right:5vw}.icon-btn{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500);font-size:16px;transition:background .15s ease-out,color .15s ease-out;background:transparent;border:none}.icon-btn:hover{background:var(--gray-100);color:var(--gray-800)}.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.content{flex:1;padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:background .2s ease-out,color .2s ease-out,border-color .2s ease-out,transform .2s ease-out,box-shadow .2s ease-out}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--primary);color:white}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,110,247,.35)}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.4)}.btn-full{width:100%;padding:13px;font-size:15px}.btn-outline{background:white;border:1.5px solid var(--gray-200);color:var(--gray-700)}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-outline:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.btn-ghost{background:transparent;color:var(--gray-600);border:none}.btn-ghost:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.btn-danger{background:var(--danger);color:white;border:none}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.btn-success{background:var(--success);color:white;border:none}.btn-sm{padding:6px 12px;font-size:13px;border-radius:8px}.btn-xs{padding:3px 8px;font-size:10px;border-radius:4px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--gray-700);margin-bottom:6px}.form-input{width:100%;padding:11px 14px;border:1.5px solid var(--gray-200);border-radius:10px;font-size:14px;outline:none;transition:border-color .2s;background:var(--gray-50)}.form-input:focus{border-color:var(--primary);background:white}.filter-select{padding:8px 12px;border:1.5px solid var(--gray-200);border-radius:9px;font-size:13px;outline:none;cursor:pointer;background:white;color:var(--gray-700)}.filter-select:focus{border-color:var(--primary)}.search-box{display:flex;align-items:center;gap:8px;border:1.5px solid var(--gray-200);border-radius:9px;padding:7px 12px;background:white;flex:1;min-width:200px}.search-box input{border:none;outline:none;font-size:13px;flex:1}.card{background:white;border-radius:14px;border:1px solid var(--gray-200);overflow:hidden}.card-header{padding:16px 20px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:12px}.card-title{font-size:15px;font-weight:700;color:var(--gray-900);flex:1}.card-body{padding:20px}.table{width:100%;border-collapse:collapse}.table th{padding:10px 14px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.table td{padding:12px 14px;font-size:13px;color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--gray-50)}.table-container{border-radius:14px;border:1px solid var(--gray-200);overflow:hidden;background:white}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:600}.badge-blue{background:var(--primary-light);color:var(--primary)}.badge-green{background:#DCFCE7;color:#16A34A}.badge-orange{background:#FEF3C7;color:#D97706}.badge-red{background:#FEE2E2;color:#DC2626}.badge-purple{background:#F3E8FF;color:#7C3AED}.badge-gray{color:var(--gray-600)}.badge-gray,.tabs{background:var(--gray-100)}.tabs{display:flex;gap:2px;border-radius:10px;padding:4px;width:-moz-fit-content;width:fit-content;margin-bottom:20px}.tab{padding:7px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;color:var(--gray-500);transition:all .15s}.tab.active{background:white;color:var(--primary);box-shadow:0 1px 3px rgba(0,0,0,.1)}.scope-tabs{display:flex;align-items:center;gap:10px;margin-bottom:16px}.scope-tab{padding:7px 18px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:1.5px solid var(--gray-200);color:var(--gray-600);background:white;transition:all .15s}.scope-tab.active{background:var(--primary);color:white;border-color:var(--primary)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.modal,.modal-overlay.open{display:flex}.modal{background:white;border-radius:18px;width:560px;max-width:90vw;max-height:85vh;overflow:hidden;flex-direction:column;box-shadow:0 25px 60px rgba(0,0,0,.2)}.modal-header{padding:20px 24px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:12px}.modal-title{font-size:17px;font-weight:700;flex:1}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid var(--gray-100);display:flex;gap:10px;justify-content:flex-end}.close-btn{width:28px;height:28px;border-radius:8px;justify-content:center;cursor:pointer;color:var(--gray-400);background:var(--gray-100);border:none}.close-btn,.notification{display:flex;align-items:center;font-size:14px}.notification{position:fixed;top:20px;right:20px;z-index:300;gap:10px;padding:12px 18px;background:white;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);border:1px solid var(--gray-200);font-weight:500;transform:translateX(120%);transition:transform .3s;max-width:320px}.notification.success{border-color:#86efac;background:#f0fdf4}.notification.info{border-color:#c7d2fe;background:var(--primary-light)}.notification.warning{border-color:#fde68a;background:#fffbeb}.qbank-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.question-card{background:white;border:1px solid var(--gray-200);border-radius:12px;padding:16px;margin-bottom:12px;transition:box-shadow .22s ease-out,transform .22s ease-out,border-color .22s ease-out}.question-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px);border-color:var(--gray-300)}.question-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.q-type{padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;background:var(--primary-light);color:var(--primary)}.q-content{font-size:14px;color:var(--gray-800);line-height:1.6;margin-bottom:10px}.q-tags{display:flex;gap:6px;flex-wrap:wrap}.q-tag{padding:2px 8px;border-radius:5px;font-size:11px;background:var(--gray-100);color:var(--gray-500)}.q-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-100)}.chat-layout{display:grid;grid-template-columns:260px 1fr;gap:0;height:calc(100vh - 48px)}.chat-sidebar{background:white;border-right:1px solid var(--gray-200);display:flex;flex-direction:column;border-radius:14px 0 0 14px;overflow:hidden}.chat-sidebar-header{padding:14px 12px;border-bottom:1px solid var(--gray-100)}.chat-list{flex:1;overflow-y:auto;padding:6px 8px}.chat-list-fade-in{animation:chatListFadeIn .32s cubic-bezier(.22,1,.36,1) both}@keyframes chatListFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-list-skel-item{padding:9px 10px;margin-bottom:2px}.session-group{margin-bottom:4px}.session-group-label{font-size:10px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;padding:10px 10px 4px}.chat-item{padding:9px 10px;border-radius:10px;cursor:pointer;margin-bottom:2px;transition:all .15s}.chat-item:hover{background:var(--gray-100)}.chat-item.active{background:var(--primary-light)}.chat-item-title{font-size:12.5px;font-weight:600;color:var(--gray-800);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item.active .chat-item-title{color:var(--primary)}.chat-item-time{font-size:11px;color:var(--gray-400)}.chat-item-agent-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:6px;box-shadow:0 0 0 2px rgba(255,255,255,.6)}.chat-main{background:white;border-radius:0 14px 14px 0;display:flex;flex-direction:column;overflow:hidden}.agent-bar{display:flex;border-bottom:1px solid var(--gray-200);background:var(--gray-50);padding:6px 12px;gap:6px;flex-shrink:0;overflow-x:auto;scrollbar-width:none}.agent-bar::-webkit-scrollbar{display:none}.agent-tab{display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:10px;border:1.5px solid transparent;background:transparent;cursor:pointer;transition:all .18s;flex-shrink:0}.agent-tab:hover{background:white;border-color:var(--gray-200)}.agent-tab.active{background:var(--agent-bg,#EEF1FF);border-color:var(--agent-color,var(--primary))}.agent-tab-icon{display:flex;align-items:center;flex-shrink:0}.agent-tab-name{font-size:12.5px;font-weight:700;color:var(--gray-700);white-space:nowrap}.agent-tab.active .agent-tab-name{color:var(--agent-color,var(--primary))}.agent-tab-desc{font-size:11px;color:var(--gray-400);white-space:nowrap}.agent-tab.active .agent-tab-desc{color:var(--agent-color,var(--primary));opacity:.7}.chat-header{padding:10px 16px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:10px;flex-shrink:0}.chat-messages{flex:1;overflow-y:auto;padding:20px;gap:16px}.chat-empty,.chat-messages{display:flex;flex-direction:column}.chat-empty{align-items:center;padding-top:36px}.chat-empty-icon{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.task-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:420px}.task-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--gray-200);background:white;cursor:pointer;transition:all .18s;text-align:left}.task-card:hover{border-color:var(--tc-color,var(--primary));background:var(--tc-bg,var(--primary-light));box-shadow:0 2px 12px rgba(0,0,0,.06);transform:translateY(-1px)}.msg{display:flex;gap:10px;max-width:82%;align-self:flex-start}.msg.user{align-self:flex-end;flex-direction:row-reverse}.msg-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:white}.msg.user .msg-avatar{background:var(--success)}.msg-bubble{padding:11px 15px;border-radius:14px;font-size:13.5px;line-height:1.65}.msg.ai .msg-bubble{background:var(--gray-100);color:var(--gray-800);border-radius:4px 14px 14px 14px}.msg.user .msg-bubble{background:var(--primary);color:white;border-radius:14px 4px 14px 14px}.msg-bubble pre{background:rgba(0,0,0,.06);padding:10px;border-radius:8px;font-size:12px;margin-top:8px;white-space:pre-wrap;font-family:monospace}.md-body{font-size:13.5px;line-height:1.7;color:inherit}.md-body p{margin:0 0 8px}.md-body p:last-child{margin-bottom:0}.md-body strong{font-weight:700}.md-section-label{gap:5px;font-weight:700}.md-section-icon,.md-section-label{display:inline-flex;align-items:center}.md-section-icon{opacity:.55;flex-shrink:0}.md-body em{font-style:italic}.md-body ol,.md-body ul{padding-left:18px;margin:6px 0 8px}.md-body li{margin-bottom:3px}.md-body h1,.md-body h2,.md-body h3{font-size:14px;font-weight:700;margin:10px 0 4px}.md-body code{background:rgba(0,0,0,.07);padding:1px 5px;border-radius:4px;font-family:monospace;font-size:12.5px}.md-body pre{background:rgba(0,0,0,.06);padding:10px 12px;border-radius:8px;margin:8px 0;overflow-x:auto}.md-body pre code{background:none;padding:0;font-size:12px}.md-body hr{border:none;border-top:1px solid rgba(0,0,0,.1);margin:10px 0}.md-body blockquote{border-left:3px solid rgba(0,0,0,.15);padding-left:10px;margin:6px 0;color:inherit;opacity:.75}.md-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:12.5px}.md-body td,.md-body th{border:1px solid rgba(0,0,0,.12);padding:5px 10px}.md-body th{background:rgba(0,0,0,.05);font-weight:700}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tool-call-card{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:var(--gray-50);border:1.5px solid var(--gray-200);font-size:12px;color:var(--gray-600);font-weight:500;animation:fadeSlideIn .3s ease both;transition:all .3s;max-width:100%}.tool-call-card.done{background:white;border-color:var(--gray-200);color:var(--gray-500);opacity:.8}.tool-call-icon{display:flex;align-items:center;flex-shrink:0}.tool-call-label{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes qrSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qr-bar{display:flex;align-items:center;gap:8px;padding:8px 2px 10px;animation:qrSlideUp .25s cubic-bezier(.34,1.56,.64,1) both}.qr-label{font-size:10.5px;font-weight:600;color:var(--gray-400);white-space:nowrap;flex-shrink:0;letter-spacing:.04em}.qr-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}.qr-chip{padding:5px 13px;border-radius:20px;background:white;border:1.5px solid color-mix(in srgb,var(--qr-color,var(--primary)) 30%,transparent);color:var(--qr-color,var(--primary));font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s}.qr-chip:hover{background:color-mix(in srgb,var(--qr-color,var(--primary)) 10%,white);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.qr-chip-other{background:var(--gray-50);border-color:var(--gray-200);color:var(--gray-500);font-style:italic}.qr-chip-other:hover{background:var(--gray-100);color:var(--gray-700)}.qr-dismiss{background:none;border:none;cursor:pointer;color:var(--gray-300);padding:3px;border-radius:4px;display:flex;flex-shrink:0;transition:color .12s}.qr-dismiss:hover{color:var(--gray-500)}.chat-input-area{padding:10px 14px 14px;border-top:1px solid var(--gray-100);flex-shrink:0}.quick-actions{display:flex;gap:5px;margin-bottom:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.quick-actions::-webkit-scrollbar{display:none}.quick-btn{padding:5px 12px;border-radius:20px;background:var(--qb-bg,var(--primary-light));color:var(--qb-color,var(--primary));font-size:11.5px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap;flex-shrink:0}.quick-btn:hover{opacity:.85;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.chat-input-row{display:flex;gap:8px;align-items:center}.chat-input-box{flex:1;border:1.5px solid var(--gray-200);border-radius:14px;background:white;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s;overflow:hidden;min-height:52px}.chat-input-box:focus-within{border-color:var(--focus-color,var(--primary));box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-color,var(--primary)) 12%,transparent)}.chat-input-inner{flex:1;display:flex;align-items:center;padding:8px 14px;gap:2px}.chat-input{flex:1;border:none;outline:none;resize:none;font-family:inherit;font-size:14px;line-height:1.5;max-height:120px;background:transparent;padding:5px 0;align-self:center}.chat-icon-btn{width:30px;height:30px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-400);transition:all .15s;flex-shrink:0}.chat-icon-btn:hover{background:var(--gray-100);color:var(--primary)}.chat-icon-btn.recording{background:#FEE2E2;color:#EF4444}.chat-voice-btn{width:46px;height:46px;border-radius:14px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.thinking-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1)}.thinking-collapse.is-exiting{grid-template-rows:0fr}.thinking-collapse>.msg{min-height:0;overflow:hidden;transition:opacity .22s ease-out,transform .28s ease-out;will-change:opacity,transform}.thinking-collapse.is-exiting>.msg{opacity:0;transform:translateY(-4px)}.qd-card{transition:background-color .32s ease,border-color .32s ease,box-shadow .32s ease;will-change:transform,opacity}.qd-card.qd-fresh{animation:qdCardEnter .52s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes qdCardEnter{0%{opacity:0;transform:translateY(22px) scale(.94);box-shadow:0 0 0 0 rgba(16,185,129,0)}55%{opacity:1;transform:translateY(-3px) scale(1.012);box-shadow:0 12px 28px -10px rgba(16,185,129,.28)}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 0 0 0 rgba(16,185,129,0)}}.qd-card.is-leaving{animation:qdCardLeave .32s cubic-bezier(.55,0,.4,1) forwards;pointer-events:none}@keyframes qdCardLeave{0%{opacity:1;transform:translateX(0) scale(1);max-height:1200px;margin-top:10px;padding-top:14px;padding-bottom:14px}to{opacity:0;transform:translateX(36px) scale(.96);max-height:0;margin-top:0;padding-top:0;padding-bottom:0;border-width:0}}.qd-saved-badge.qd-fresh{animation:qdSavedBadgePop .52s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes qdSavedBadgePop{0%{opacity:0;transform:scale(.4) rotate(-10deg)}55%{opacity:1;transform:scale(1.14) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}.qd-btn{transition:transform .12s ease,box-shadow .18s ease,filter .18s ease,background .18s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qd-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.qd-btn:active:not(:disabled){transform:translateY(0) scale(.97);transition-duration:80ms}.qd-btn-primary:hover:not(:disabled){box-shadow:0 6px 16px -4px rgba(16,185,129,.32)}.qd-btn-secondary:hover:not(:disabled){background:var(--gray-50)}.qd-btn-ghost:hover:not(:disabled){background:var(--gray-50);color:var(--gray-700)}.qd-actions{display:grid;grid-template-rows:1fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1),margin-top .32s ease,opacity .22s ease;overflow:hidden}.qd-actions[data-collapsed=true]{grid-template-rows:0fr;margin-top:0!important;opacity:0;pointer-events:none}.qd-actions-inner{min-height:0;overflow:hidden;display:flex;gap:6px;flex-wrap:wrap}.chat-send-btn{width:46px;height:46px;border-radius:14px;background:var(--primary);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;flex-shrink:0}.chat-send-btn:hover:not(:disabled){filter:brightness(1.1)}.chat-send-btn:disabled{background:var(--gray-300)!important;cursor:not-allowed}.workbench-layout{display:grid;grid-template-columns:268px minmax(0,1fr) 304px;gap:0;height:calc(100vh - 48px);border-radius:14px;border:1px solid var(--gray-200);background:var(--gray-50);transition:grid-template-columns .32s cubic-bezier(.22,1,.36,1);--wb-left-w:268px;--wb-right-w:304px}.source-panel,.workbench-layout{overflow:hidden;position:relative}.source-panel{background:white;border-right:1px solid var(--gray-200);display:flex;flex-direction:column;border-radius:14px 0 0 14px}.source-panel-tabs{display:flex;border-bottom:1px solid var(--gray-200)}.sp-tab{flex:1;padding:10px 4px;text-align:center;font-size:12px;font-weight:600;cursor:pointer;color:var(--gray-500);border-bottom:2px solid transparent;transition:all .15s}.sp-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-light)}.source-panel-body{flex:1;overflow-y:auto;padding:10px;min-width:0}.source-panel-search{display:flex;align-items:center;gap:6px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:6px 10px;margin-bottom:10px}.source-panel-search input{border:none;outline:none;font-size:12px;background:none;flex:1}.real-q-card{background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:10px;padding:9px 10px;margin-bottom:8px;cursor:grab;transition:all .15s;position:relative;min-width:0}.real-q-card:hover{border-color:var(--primary);background:var(--primary-light);box-shadow:0 2px 8px rgba(79,110,247,.12)}.real-q-card:active{cursor:grabbing;opacity:.7}.real-q-card .rq-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;min-width:0}.real-q-card .rq-content{font-size:12px;color:var(--gray-700);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workbench-center{display:flex;flex-direction:column;overflow:hidden;background:#F8F9FF;height:100%;min-height:0}.workbench-toolbar{padding:12px 16px;background:white;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0;min-width:0}.workbench-toolbar.compose{flex-wrap:nowrap}.workbench-toolbar-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.workbench-toolbar-main::-webkit-scrollbar{height:6px}.workbench-toolbar-main::-webkit-scrollbar-thumb{background:rgba(156,163,175,.5);border-radius:999px}.workbench-toolbar-actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.workbench-body{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.workbench-drop-hint{border:2px dashed var(--gray-300);border-radius:12px;padding:28px;text-align:center;color:var(--gray-400);font-size:13px;background:white;transition:all .2s}.workbench-drop-hint.dragover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.wq-card{background:white;border-radius:12px;border:1.5px solid var(--gray-200);overflow:hidden;transition:box-shadow .22s ease-out,transform .22s ease-out,border-color .22s ease-out;position:relative;flex-shrink:0}.wq-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px);border-color:var(--gray-300)}.wq-header{gap:8px;padding:10px 14px;background:var(--gray-50);border-bottom:1px solid var(--gray-100)}.wq-header,.wq-num{display:flex;align-items:center}.wq-num{width:24px;height:24px;background:var(--primary);color:white;border-radius:6px;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.wq-source-badge{font-size:11px;padding:2px 7px;border-radius:5px;font-weight:600}.src-real{background:#FEF3C7;color:#92400E}.src-ai{background:var(--primary-light);color:var(--primary)}.src-manual{background:#DCFCE7;color:#166534}.wq-body{padding:12px 14px}.wq-content{font-size:13px;color:var(--gray-800);line-height:1.7}.wq-actions{display:flex;gap:6px;padding:10px 14px;border-top:1px solid var(--gray-100);flex-wrap:wrap;align-items:center}.right-dual-panel{background:white;border-left:1px solid var(--gray-200);display:flex;flex-direction:column;overflow:hidden;position:relative;border-radius:0 14px 14px 0}.panel-edge-toggle{position:absolute;top:50%;transform:translateY(-50%);z-index:30;width:16px;height:56px;border:1px solid var(--gray-200);background:rgba(255,255,255,.96);color:var(--gray-400);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;box-shadow:0 3px 10px rgba(15,23,42,.1);transition:left .32s cubic-bezier(.22,1,.36,1),right .32s cubic-bezier(.22,1,.36,1),color .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.panel-edge-toggle:hover{color:var(--primary);border-color:#C7D2FE;background:white;box-shadow:0 5px 14px rgba(79,110,247,.14)}.panel-edge-toggle:active{transform:translateY(-50%) scale(.96)}.panel-edge-toggle.left-panel-toggle{left:var(--wb-left-w);border-left:0;border-radius:0 8px 8px 0}.panel-edge-toggle.right-panel-toggle{right:var(--wb-right-w);border-right:0;border-radius:8px 0 0 8px}.rp-tab-bar{display:flex;flex-shrink:0;background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.rp-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 8px;font-size:13px;font-weight:700;cursor:pointer;color:var(--gray-500);border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .15s}.rp-tab:hover{color:var(--gray-700);background:var(--gray-100)}.rp-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:white}.gen-type-row{display:flex;gap:5px;flex-wrap:wrap}.gen-type-btn{padding:5px 10px;border-radius:7px;font-size:12px;font-weight:600;border:1.5px solid var(--gray-200);cursor:pointer;background:white;color:var(--gray-600);transition:all .15s}.gen-type-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.config-section{margin-bottom:20px}.config-label{font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:8px}.config-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tag-select{display:flex;flex-wrap:wrap;gap:6px}.tag-option{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:500;border:1.5px solid var(--gray-200);cursor:pointer;transition:all .15s;color:var(--gray-600)}.tag-option.selected,.tag-option:hover{border-color:var(--primary);color:var(--primary)}.tag-option.selected{background:var(--primary-light)}.difficulty-bar{display:flex;gap:6px}.diff-btn{flex:1;padding:6px;border-radius:8px;border:1.5px solid var(--gray-200);font-size:12px;font-weight:500;cursor:pointer;text-align:center;transition:all .15s;color:var(--gray-600);background:white}.diff-btn.easy.selected{background:#DCFCE7;border-color:var(--success);color:#16A34A}.diff-btn.medium.selected{background:#FEF3C7;border-color:var(--warning);color:#D97706}.diff-btn.hard.selected{background:#FEE2E2;border-color:var(--danger);color:#DC2626}.kmodule-card{border-radius:14px;padding:14px 16px;cursor:default;position:relative;border:1.5px solid transparent;transition:all .2s}.kmodule-card.blue{background:#EEF1FF;border-color:#c7d0ff}.kmodule-card.green{background:#DCFCE7;border-color:#86efac}.kmodule-card.orange{background:#FEF3C7;border-color:#fbbf24}.kmodule-card.purple{background:#F3E8FF;border-color:#c4b5fd}.kmodule-card.red{background:#FEE2E2;border-color:#f87171}.kmodule-icon{font-size:22px;margin-bottom:8px}.kmodule-name{font-size:13px;font-weight:700;color:var(--gray-900);margin-bottom:6px;line-height:1.3}.kmodule-points{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.kmodule-point{font-size:11px;padding:2px 7px;border-radius:5px;background:rgba(255,255,255,.7);color:var(--gray-700);font-weight:500}.kmodule-meta{font-size:11px;color:var(--gray-500);display:flex;gap:8px;flex-wrap:wrap}.kmodule-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.kb-modules-section{margin-top:24px}.kb-modules-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.kb-modules-title{font-size:15px;font-weight:700;color:var(--gray-900)}.kb-modules-count{background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px}.kb-modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.file-card{border-radius:12px;border:1px solid var(--gray-200);background:white;overflow:hidden;transition:box-shadow .22s ease-out,transform .22s ease-out,border-color .22s ease-out}.file-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px);border-color:var(--gray-300)}.file-card-body{text-align:center;padding:20px 14px 12px}.file-card-icon{font-size:34px;margin-bottom:8px}.file-card-name{font-size:13px;font-weight:600;margin-bottom:3px;color:var(--gray-800)}.file-card-meta{font-size:11px;color:var(--gray-400);margin-bottom:8px}.file-card-footer{padding:10px 12px;border-top:1px solid var(--gray-100);display:flex;gap:6px;align-items:center}.gen-module-btn{flex:1;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;background:var(--primary);color:white;border:none;cursor:pointer;transition:background .2s ease-out;display:flex;align-items:center;justify-content:center;gap:4px}.gen-module-btn:hover:not(:disabled){background:var(--primary-dark)}.gen-module-btn:disabled{opacity:.6;cursor:not-allowed}.flex{display:flex}.flex-center{display:flex;align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-gray{color:var(--gray-500)}.text-bold{font-weight:700}.w-full{width:100%}.divider{height:1px;background:var(--gray-100);margin:16px 0}.empty-state{text-align:center;padding:48px 20px;color:var(--gray-400)}.empty-state .empty-icon{display:flex;justify-content:center;margin-bottom:16px;opacity:.35}.empty-state .empty-icon svg{width:48px;height:48px;stroke-width:1.2}.empty-state p{font-size:14px}.progress{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.progress-bar{height:100%;border-radius:4px;transition:width .5s}@keyframes shimmer{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.generating-pulse{animation:shimmer 1.2s infinite}@keyframes slideUpModal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.paper-layout{display:grid;grid-template-columns:380px 1fr;gap:16px}.paper-config{background:white;border-radius:14px;border:1px solid var(--gray-200);display:flex;flex-direction:column;overflow:hidden}.paper-config-header{padding:16px 20px;border-bottom:1px solid var(--gray-100)}.paper-config-body{flex:1;overflow-y:auto;padding:20px}.paper-config-footer{padding:16px 20px;border-top:1px solid var(--gray-100)}.paper-preview{background:white;border-radius:14px;border:1px solid var(--gray-200);overflow:hidden}.paper-preview-header{padding:16px 20px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:12px}.paper-preview-body{padding:24px}.paper-title-block{text-align:center;margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid var(--gray-200)}.paper-title-block h2{font-size:20px;font-weight:800;margin-bottom:6px}.paper-meta{font-size:13px;color:var(--gray-500);display:flex;justify-content:center;gap:20px}.paper-section{margin-bottom:24px}.paper-section-title{font-size:15px;font-weight:700;margin-bottom:14px;padding:8px 14px;background:var(--primary-light);border:1px solid #c7d2fe;border-radius:8px;color:var(--primary-dark)}.paper-q{margin-bottom:16px}.paper-q-num{font-size:14px;font-weight:600;color:var(--gray-800);margin-bottom:6px}.paper-q-options{margin-top:8px;padding-left:16px}.paper-q-options li{font-size:13px;color:var(--gray-700);margin-bottom:4px;list-style:none;padding:3px 0}@media (max-width:1100px){.chat-layout,.workbench-layout{grid-template-columns:1fr}.kb-modules-grid{grid-template-columns:repeat(2,1fr)}}.wb-notify{position:fixed;bottom:24px;right:24px;z-index:9999;background:var(--success);color:white;padding:12px 16px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500}.wb-notify a{color:white;text-decoration:underline;white-space:nowrap}.wb-notify-close{background:none;border:none;color:white;cursor:pointer;font-size:18px;padding:0;line-height:1;margin-left:4px}.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(239,68,68,.4)}.close-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.scope-tab:focus-visible,.tab:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2);border-radius:8px}.rp-tab:focus-visible,.sp-tab:focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgba(79,110,247,.2)}.diff-btn:focus-visible,.gen-type-btn:focus-visible,.tag-option:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.chat-item:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2);border-radius:10px}.chat-send-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.4)}.chat-icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.quick-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.panel-edge-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.user-card:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2);border-radius:9px}.sidebar-notify-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.filter-select:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.real-q-card:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(79,110,247,.2)}.wb-notify a:focus-visible,.wb-notify-close:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,.6);border-radius:4px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes skeletonSlide{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(1turn)}}.content{animation:fadeIn .3s ease-out both}.btn:active:not(:disabled){transform:translateY(1px) scale(.97)!important;transition-duration:.08s!important}.btn-outline:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px);box-shadow:0 3px 10px rgba(79,110,247,.15)}.btn-ghost:hover:not(:disabled){background:var(--gray-100);transform:translateY(-1px)}.btn-success:hover:not(:disabled){background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 12px rgba(34,197,94,.3)}.btn-success:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.4)}.form-input{transition:border-color .2s ease-out,background .2s ease-out,box-shadow .2s ease-out}.form-input:focus{box-shadow:0 0 0 3px rgba(79,110,247,.1)}.search-box{transition:border-color .2s ease-out,box-shadow .2s ease-out}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,110,247,.1)}.filter-select:hover{background:var(--gray-50);border-color:var(--gray-300)}.modal-overlay.open{animation:none}.modal-overlay.open .modal{animation:scaleIn .28s cubic-bezier(.34,1.4,.64,1) both}.notification{transition:transform .38s cubic-bezier(.34,1.4,.64,1),opacity .28s ease-out}.notification.show{transform:translateX(0)}.wb-notify{animation:slideInRight .38s cubic-bezier(.34,1.4,.64,1) both}.card{transition:box-shadow .22s ease-out,transform .22s ease-out}.kmodule-card:hover{box-shadow:0 10px 28px rgba(0,0,0,.1);transform:translateY(-3px)}.paper-config:hover,.paper-preview:hover{box-shadow:0 6px 20px rgba(0,0,0,.07)}.tab{transition:background .18s ease-out,color .18s ease-out,box-shadow .18s ease-out}.tab:hover:not(.active){color:var(--gray-700);background:rgba(255,255,255,.6)}.nav-item{transition:background .15s ease-out,color .15s ease-out,transform .15s ease-out,padding-left .15s ease-out}.nav-item:hover{transform:translateX(3px)}.nav-item.active{font-weight:600}.icon-btn{transition:background .15s ease-out,color .15s ease-out,transform .15s ease-out}.icon-btn:hover{transform:scale(1.08)}.icon-btn:active{transform:scale(.94)}.close-btn{transition:background .15s ease-out,color .15s ease-out,transform .15s ease-out}.close-btn:hover{transform:rotate(90deg) scale(1.1);background:var(--gray-200);color:var(--gray-700)}.chat-item{transition:background .15s ease-out,transform .15s ease-out}.chat-item:hover{transform:translateX(3px)}.msg-bubble{transition:opacity .2s ease-out}.table td,.table tr{transition:background .12s ease-out}.real-q-card{transition:border-color .15s ease-out,background .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out}.real-q-card:hover{transform:translateY(-1px)}.sp-tab:hover:not(.active){background:var(--gray-50);color:var(--gray-700)}.rp-tab{transition:color .15s ease-out,background .15s ease-out,transform .15s ease-out}.rp-tab:hover:not(.active){transform:translateY(-1px)}.gen-type-btn{transition:all .15s ease-out}.gen-type-btn:hover:not(.active){border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.gen-type-btn:active{transform:scale(.95)!important}.gen-type-btn.active{transform:none;box-shadow:0 0 0 3px rgba(79,110,247,.15)}.diff-btn{transition:all .15s ease-out}.diff-btn:hover:not(.selected){border-color:var(--gray-400);transform:translateY(-1px)}.diff-btn:active{transform:scale(.95)!important}.diff-btn.selected{transform:none;box-shadow:0 2px 8px rgba(0,0,0,.1)}.tag-option{transition:all .15s ease-out}.tag-option:hover:not(.selected){transform:translateY(-1px)}.tag-option:active{transform:scale(.95)!important}.tag-option.selected{transform:none;box-shadow:0 0 0 2px rgba(79,110,247,.2)}.workbench-drop-hint{transition:all .22s ease-out}.workbench-drop-hint:not(.dragover):hover{border-color:var(--gray-400);background:var(--gray-50)}.scope-tab{transition:all .18s ease-out}.scope-tab:hover:not(.active){border-color:var(--primary);color:var(--primary);background:var(--primary-light);transform:translateY(-1px)}.scope-tab.active{box-shadow:0 3px 10px rgba(79,110,247,.25)}.paper-q{border-radius:8px;padding:8px 10px;margin:0 -10px 16px;transition:background .15s ease-out}.paper-q:hover{background:var(--gray-50)}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeletonSlide 1.5s infinite;border-radius:6px}.spin{animation:spin .75s linear infinite}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--gray-300)}*{scrollbar-width:thin;scrollbar-color:var(--gray-200) transparent}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.settings-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:300;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-modal{width:580px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);background:white;border-radius:14px;box-shadow:0 24px 64px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.06);display:flex;overflow:hidden;animation:scaleIn .18s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.settings-nav{width:152px;flex-shrink:0;background:var(--gray-50);border-right:1px solid var(--gray-200);padding:20px 10px;display:flex;flex-direction:column;gap:2px}.settings-nav-title{font-size:16px;font-weight:700;color:var(--gray-800);padding:0 6px 14px;letter-spacing:-.01em}.settings-nav-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:none;background:none;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--gray-600);text-align:left;transition:background .13s,color .13s;width:100%}.settings-nav-item:hover{background:var(--gray-200);color:var(--gray-800)}.settings-nav-item.active{background:white;color:var(--gray-900);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.08)}.settings-panel{flex:1;min-width:0;overflow-y:auto;position:relative;padding:28px 28px 32px}.settings-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--gray-400);padding:5px;border-radius:6px;display:flex;align-items:center;transition:background .12s,color .12s}.settings-close-btn:hover{background:var(--gray-100);color:var(--gray-700)}.settings-section-wrap{display:flex;flex-direction:column}.settings-section-label{font-size:11px;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}.settings-account-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--gray-200);border-radius:10px;background:var(--gray-50)}.settings-account-avatar{width:42px;height:42px;border-radius:50%;background:var(--primary);color:white;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;flex-shrink:0}.settings-account-name{font-size:14px;font-weight:600;color:var(--gray-900)}.settings-account-sub{font-size:12px;color:var(--gray-400);margin-top:2px}.settings-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-field{display:flex;flex-direction:column;gap:4px}.settings-field label{font-size:11.5px;font-weight:500;color:var(--gray-500)}.settings-field input,.settings-field select,.settings-field textarea{padding:7px 10px;border:1px solid var(--gray-200);border-radius:8px;font-size:13px;color:var(--gray-800);outline:none;background:white;transition:border-color .15s;resize:none;font-family:inherit}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(79,110,247,.12)}.settings-pref-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--gray-200);border-radius:10px;background:var(--gray-50)}.settings-pref-title{font-size:13.5px;font-weight:500;color:var(--gray-800)}.settings-pref-desc{font-size:12px;color:var(--gray-400);margin-top:2px}.settings-toggle{width:38px;height:22px;border-radius:11px;background:var(--gray-300);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.settings-toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:white;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.settings-toggle.active{background:var(--primary)}.settings-toggle.active:after{transform:translateX(16px)}.settings-save-btn{padding:7px 20px;background:var(--primary);color:white;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.settings-save-btn:hover:not(:disabled){background:var(--primary-dark)}.settings-save-btn:disabled{opacity:.55;cursor:not-allowed}.settings-danger-btn{font-size:12px;color:var(--danger);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;font-weight:500}.settings-danger-btn:hover{background:#FEF2F2}.settings-empty{display:flex;flex-direction:column;align-items:center;padding:36px 0}.settings-mem-group{margin-bottom:16px}.settings-mem-group-label{font-size:11px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.settings-mem-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--gray-100);border-radius:8px;margin-bottom:4px;background:var(--gray-50);transition:background .12s}.settings-mem-item:hover{background:white;border-color:var(--gray-200)}.settings-mem-kv{flex:1;display:flex;align-items:baseline;gap:8px;min-width:0}.settings-mem-key{font-size:12px;color:var(--gray-500);white-space:nowrap;flex-shrink:0}.settings-mem-val{font-size:13px;color:var(--gray-800);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-mem-del{background:none;border:none;cursor:pointer;color:var(--gray-300);padding:3px;border-radius:4px;display:flex;flex-shrink:0;transition:color .12s,background .12s}.settings-mem-del:hover{color:var(--danger);background:#FEF2F2}.hint-next-btn{display:inline-flex;align-items:center;gap:4px;margin-top:10px;padding:5px 12px;border-radius:8px;border:1.5px solid var(--hint-color,#4f6ef7);background:transparent;color:var(--hint-color,#4F6EF7);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.hint-next-btn:hover{background:var(--hint-color,#4F6EF7);color:white}@keyframes pageEnter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.page-entering{animation:pageEnter .28s cubic-bezier(.22,1,.36,1)}.page-loading-overlay{position:absolute;inset:0;z-index:200;background:var(--bg,#f8f9fc);overflow:auto;animation:fadeIn .12s ease-out}.skeleton-line{border-radius:4px;background:linear-gradient(90deg,#e8eaf0 25%,#f4f5f9 50%,#e8eaf0 75%);background-size:200% 100%;animation:skeletonSlide 1.4s ease-in-out infinite;display:block}@keyframes skelFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes skelSlideFromRight{0%{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}@keyframes ocrScanMove{0%{top:-4px}to{top:100%}}.ocr-scan-line{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.7) 20%,rgba(192,195,255,1) 50%,rgba(99,102,241,.7) 80%,transparent);box-shadow:0 0 10px 3px rgba(99,102,241,.45);animation:ocrScanMove 1.8s linear infinite;pointer-events:none}@keyframes thinkBounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}.thinking-dot{animation:thinkBounce 1.2s ease-in-out infinite}.thinking-dot:nth-child(2){animation-delay:.16s}.thinking-dot:nth-child(3){animation-delay:.32s}@keyframes composePageReveal{0%{opacity:0;transform:scale(.94) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes composePageSweep{0%{background-position:130% 0;opacity:0}18%{opacity:1}to{background-position:-130% 0;opacity:0}}.compose-canvas-reveal-wrapper [data-export-page]{animation:composePageReveal .6s cubic-bezier(.16,1,.3,1) both}.compose-canvas-reveal-wrapper [data-export-page]:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(99,102,241,.22) 50%,transparent 65%);background-size:250% 100%;background-position:130% 0;animation:composePageSweep .9s ease-out .18s both;z-index:50}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(2){animation-delay:.09s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(2):after{animation-delay:.27s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(3){animation-delay:.18s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(3):after{animation-delay:.36s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(4){animation-delay:.27s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(4):after{animation-delay:.45s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(5){animation-delay:.36s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(5):after{animation-delay:.54s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(n+6){animation-delay:.42s}.compose-canvas-reveal-wrapper [data-export-page]:nth-of-type(n+6):after{animation-delay:.6s}@media (prefers-reduced-motion:reduce){.compose-canvas-reveal-wrapper [data-export-page],.compose-canvas-reveal-wrapper [data-export-page]:after{animation:none!important}}.review-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:68px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:none;transition:background .2s ease,color .2s ease;white-space:nowrap;position:relative;overflow:visible}@keyframes reviewApproveBounce{0%{transform:scale(1)}18%{transform:scale(.82)}48%{transform:scale(1.18)}68%{transform:scale(.96)}84%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes reviewApproveBg{0%{box-shadow:0 0 0 0 rgba(34,197,94,0)}25%{box-shadow:0 0 0 6px rgba(34,197,94,.35)}60%{box-shadow:0 0 0 12px rgba(34,197,94,0)}to{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.review-btn-approving{animation:reviewApproveBounce .55s cubic-bezier(.36,.07,.19,.97) forwards,reviewApproveBg .55s ease-out forwards;background:#86EFAC!important;color:#14532D!important}@keyframes checkPop{0%{transform:scale(0) rotate(-30deg);opacity:0}55%{transform:scale(1.4) rotate(8deg);opacity:1}75%{transform:scale(.88) rotate(-3deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.review-check-pop{animation:checkPop .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes reviewTextSlide{0%{opacity:0;transform:translateX(-6px)}40%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}.review-text-slide{animation:reviewTextSlide .45s ease-out forwards}@keyframes listItemExit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.96)}}@keyframes listItemEnter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animated-list-item{animation-fill-mode:both}.list-item-exiting{animation:listItemExit .2s ease-in both;pointer-events:none}.list-item-entering{animation:listItemEnter .32s cubic-bezier(.22,1,.36,1) both}.compose-papers-enter>div{animation:listItemEnter .3s cubic-bezier(.22,1,.36,1) both}.compose-papers-enter>div:first-child{animation-delay:0s}.compose-papers-enter>div:nth-child(2){animation-delay:50ms}.compose-papers-enter>div:nth-child(3){animation-delay:.1s}.compose-papers-enter>div:nth-child(4){animation-delay:.15s}.compose-papers-enter>div:nth-child(5){animation-delay:195ms}.compose-papers-enter>div:nth-child(6){animation-delay:.23s}.compose-papers-enter>div:nth-child(n+7){animation-delay:255ms}.papers-rows-enter tr{animation:listItemEnter .3s cubic-bezier(.22,1,.36,1) both}.papers-rows-enter tr:first-child{animation-delay:0s}.papers-rows-enter tr:nth-child(2){animation-delay:50ms}.papers-rows-enter tr:nth-child(3){animation-delay:.1s}.papers-rows-enter tr:nth-child(4){animation-delay:.15s}.papers-rows-enter tr:nth-child(5){animation-delay:.2s}.papers-rows-enter tr:nth-child(6){animation-delay:.24s}.papers-rows-enter tr:nth-child(7){animation-delay:.27s}.papers-rows-enter tr:nth-child(n+8){animation-delay:.29s}@keyframes itemDeleteCollapse{0%{opacity:1;transform:translateX(0) scale(1);max-height:1500px;margin-top:0;margin-bottom:12px;padding-top:16px;padding-bottom:16px;border-width:1px}45%{opacity:0;transform:translateX(48px) scale(.96);max-height:1500px;margin-top:0;margin-bottom:12px;padding-top:16px;padding-bottom:16px;border-width:1px}to{opacity:0;transform:translateX(48px) scale(.96);max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0}}.item-deleting{animation:itemDeleteCollapse .36s cubic-bezier(.4,0,.2,1) both;overflow:hidden;pointer-events:none;transition:none!important}@keyframes rowDeleteCollapse{0%{opacity:1;transform:translateX(0)}45%{opacity:0;transform:translateX(48px)}to{opacity:0;transform:translateX(48px)}}.row-deleting{animation:rowDeleteCollapse .2s ease-out both;pointer-events:none}.row-deleting>td{transition:padding .18s ease .18s,line-height .18s ease .18s,font-size .18s ease .18s;padding-top:0!important;padding-bottom:0!important;line-height:0!important;font-size:0!important;overflow:hidden}.bank-cards-enter .real-q-card{animation:listItemEnter .3s cubic-bezier(.22,1,.36,1) both}.bank-cards-enter .real-q-card:first-child{animation-delay:0s}.bank-cards-enter .real-q-card:nth-child(2){animation-delay:50ms}.bank-cards-enter .real-q-card:nth-child(3){animation-delay:.1s}.bank-cards-enter .real-q-card:nth-child(4){animation-delay:.15s}.bank-cards-enter .real-q-card:nth-child(5){animation-delay:195ms}.bank-cards-enter .real-q-card:nth-child(6){animation-delay:.23s}.bank-cards-enter .real-q-card:nth-child(7){animation-delay:255ms}.bank-cards-enter .real-q-card:nth-child(n+8){animation-delay:.27s}.qbank-skeleton-row{background:white;border:1px solid var(--gray-200);border-radius:10px;padding:14px 16px;margin-bottom:10px}.qbank-skeleton-row .sk-badges{display:flex;gap:6px;margin-bottom:10px}.qbank-skeleton-row .sk-badge{height:20px;border-radius:20px}.qbank-skeleton-row .sk-line{height:14px;border-radius:4px;margin-bottom:7px}.qbank-skeleton-row .sk-line:last-child{margin-bottom:0}