@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&display=swap";.modal-mask[data-v-71c7cb9d]{position:fixed;inset:0;background:#0f172a75;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:400;display:flex;align-items:center;justify-content:center;padding:16px}.modal-box[data-v-71c7cb9d]{position:relative;width:100%;max-width:1160px;min-height:380px;background:#fff;border-radius:16px;border:1px solid #E5E7EB;box-shadow:0 16px 48px #0f172a24,0 6px 16px #0f172a14;overflow:hidden}@media(min-width:1024px){.modal-box[data-v-71c7cb9d]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:stretch;min-height:460px}}@media(max-width:1024px){.modal-box[data-v-71c7cb9d]{display:flex;flex-direction:column;max-width:520px;min-height:auto}}.close-btn[data-v-71c7cb9d]{position:absolute;top:16px;right:16px;width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .15s ease}.close-btn[data-v-71c7cb9d]:hover{background:#e5e7eb;color:#111827}.modal-left[data-v-71c7cb9d]{position:relative;min-width:0;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.62),transparent 26%),linear-gradient(145deg,#e0f2fe,#dbeafe 42%,#c7d2fe);padding:24px 24px 32px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}@media(min-width:1024px){.modal-left[data-v-71c7cb9d]{grid-column:1;grid-row:1/-1;padding:20px 24px 24px}}@media(max-width:1024px){.modal-left[data-v-71c7cb9d]{padding:20px 20px 24px;min-height:160px}}@media(max-width:768px){.modal-left[data-v-71c7cb9d]{display:none}}.brand-figure[data-v-71c7cb9d]{width:100%;flex:1 1 auto;min-height:100%;border-radius:12px;border:1px solid rgba(255,255,255,.68);background:#ffffff61;overflow:hidden;position:relative;box-shadow:0 20px 52px #2563eb24}@media(min-width:1024px){.brand-figure[data-v-71c7cb9d]{min-height:360px}}@media(max-width:1024px){.brand-figure[data-v-71c7cb9d]{flex:0 0 auto;min-height:132px;max-height:200px}}.brand-figure-img[data-v-71c7cb9d]{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.modal-main[data-v-71c7cb9d]{flex:1;min-width:0;padding:24px 28px;background:#fff}@media(min-width:1024px){.modal-main[data-v-71c7cb9d]{grid-column:2;grid-row:1;border-left:1px solid #E5E7EB;border-right:1px solid #E5E7EB;min-height:380px}}@media(max-width:1024px){.modal-main[data-v-71c7cb9d]{padding:24px}}@media(max-width:640px){.modal-main[data-v-71c7cb9d]{padding:24px 20px}}@media(min-width:1024px){.modal-main-body[data-v-71c7cb9d]{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}}.modal-tabs[data-v-71c7cb9d]{display:flex;gap:0;border-bottom:2px solid #E5E7EB;margin-bottom:16px}.modal-tab[data-v-71c7cb9d]{padding:8px 4px;margin-right:24px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:16px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.modal-tab.active[data-v-71c7cb9d]{color:#111827;border-bottom-color:#3b82f6;font-weight:600}.modal-tab[data-v-71c7cb9d]:hover:not(.active){color:#374151}.form-body[data-v-71c7cb9d]{display:flex;flex-direction:column;gap:12px;justify-content:flex-start}@media(min-width:1024px){.form-body[data-v-71c7cb9d]{flex:1;min-height:0}}.auth-reg-step1[data-v-71c7cb9d]{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.reg-hint[data-v-71c7cb9d]{display:block;margin-top:8px;font-size:12px;color:#6b7280;line-height:1.6}.submit-btn--reg-next[data-v-71c7cb9d]{margin-top:16px;flex-shrink:0}.fg--after-email[data-v-71c7cb9d]{margin-top:0;padding-top:0}.err-bar[data-v-71c7cb9d]{padding:12px 16px;background:#faeaea;color:#b54040;border:1px solid rgba(181,64,64,.2);border-radius:8px;font-size:13px}.fg[data-v-71c7cb9d]{display:flex;flex-direction:column;gap:4px}.fg.error .fi[data-v-71c7cb9d]{border-color:#b54040}.fg.error .fi[data-v-71c7cb9d]:focus{box-shadow:0 0 0 3px #b540401a}.fe[data-v-71c7cb9d]{font-size:12px;color:#b54040}.fi[data-v-71c7cb9d]{width:100%;height:42px;padding:0 16px;background:#f7f8fa;border:1.5px solid #D1D5DB;border-radius:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;color:#111827;transition:all .15s ease;outline:none}.fi[data-v-71c7cb9d]::placeholder{color:#6b7280}.fi[data-v-71c7cb9d]:hover{border-color:#bfdbfe}.fi[data-v-71c7cb9d]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.fi[data-v-71c7cb9d]{height:42px;padding:0 16px}.fi-wrap[data-v-71c7cb9d]{position:relative;display:flex;align-items:center}.fi-wrap .fi[data-v-71c7cb9d]{padding-right:40px}.eye-btn[data-v-71c7cb9d]{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;padding:2px}.eye-btn[data-v-71c7cb9d]:hover{color:#374151}.form-row-between[data-v-71c7cb9d]{display:flex;align-items:center;justify-content:space-between}.form-row-between .chk-wrap[data-v-71c7cb9d]{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.form-row-between .chk-wrap input[data-v-71c7cb9d]{display:none}.form-row-between .chk-wrap .chk[data-v-71c7cb9d]{width:15px;height:15px;border:1.5px solid #D1D5DB;border-radius:3px;background:#fff;flex-shrink:0;position:relative;transition:all .15s ease}.form-row-between .chk-wrap input:checked+.chk[data-v-71c7cb9d]{background:#3b82f6;border-color:#3b82f6}.form-row-between .chk-wrap input:checked+.chk[data-v-71c7cb9d]:after{content:"";position:absolute;left:3px;top:1px;width:5px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.form-row-between .link-muted[data-v-71c7cb9d]{font-size:13px;color:#6b7280;text-decoration:none}.form-row-between .link-muted[data-v-71c7cb9d]:hover{color:#3b82f6}.code-row[data-v-71c7cb9d]{display:flex;gap:8px}.code-fi[data-v-71c7cb9d]{flex:1}.code-btn[data-v-71c7cb9d]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;height:40px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-decoration:none;outline:none}.code-btn[data-v-71c7cb9d]:disabled{opacity:.5;cursor:not-allowed}.code-btn[data-v-71c7cb9d]{flex-shrink:0;height:42px;padding:0 16px;font-size:13px;background:#eff6ff;border:1.5px solid #BFDBFE;color:#2563eb;white-space:nowrap;gap:4px}.code-btn[data-v-71c7cb9d]:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;color:#fff}.code-btn[data-v-71c7cb9d]:disabled{opacity:.6;cursor:not-allowed}.submit-btn[data-v-71c7cb9d]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;height:40px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-decoration:none;outline:none}.submit-btn[data-v-71c7cb9d]:disabled{opacity:.5;cursor:not-allowed}.submit-btn[data-v-71c7cb9d]{background:linear-gradient(135deg,#3b82f6,#2563eb);width:100%;height:42px;color:#fff;font-size:15px;font-weight:500;box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a;margin-top:0}.submit-btn[data-v-71c7cb9d]:hover:not(:disabled){box-shadow:0 4px 12px #0f172a17,0 2px 4px #0f172a0d;transform:translateY(-1px)}.submit-btn[data-v-71c7cb9d]:active:not(:disabled){transform:translateY(0)}.submit-btn[data-v-71c7cb9d]:disabled{opacity:.6;cursor:not-allowed}.back-btn[data-v-71c7cb9d]{background:none;border:none;cursor:pointer;font-size:13px;color:#6b7280;padding:0;margin-bottom:12px;transition:all .15s ease;display:block}.back-btn[data-v-71c7cb9d]:hover{color:#3b82f6}.switch-tip[data-v-71c7cb9d]{text-align:center;font-size:13px;color:#6b7280;margin-top:4px}@media(min-width:769px){.switch-tip--mobile[data-v-71c7cb9d]{display:none}}.link-btn[data-v-71c7cb9d]{background:none;border:none;cursor:pointer;font-size:13px;color:#3b82f6;font-weight:500;padding:0}.link-btn[data-v-71c7cb9d]:hover{color:#2563eb}.spin[data-v-71c7cb9d]{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-71c7cb9d .7s linear infinite}.spin-sm[data-v-71c7cb9d]{width:13px;height:13px;border-width:1.5px;border-color:#3b82f64d;border-top-color:#3b82f6}@keyframes spin-71c7cb9d{to{transform:rotate(360deg)}}.modal-right[data-v-71c7cb9d]{min-width:0;background:radial-gradient(circle at 80% 18%,rgba(59,130,246,.12),transparent 30%),#f3f4f6;padding:24px;display:flex;flex-direction:column;justify-content:center}@media(min-width:1024px){.modal-right[data-v-71c7cb9d]{grid-column:3;grid-row:1;align-items:stretch;justify-content:stretch;padding:20px 24px}}@media(max-width:1024px){.modal-right[data-v-71c7cb9d]{padding:20px;border-top:1px solid #E5E7EB}}@media(max-width:768px){.modal-right[data-v-71c7cb9d]{display:none}}.aside-inner[data-v-71c7cb9d]{flex:1;display:flex;flex-direction:column;gap:0;width:100%;max-width:320px;min-height:100%;margin:0 auto}@media(min-width:1024px){.aside-inner[data-v-71c7cb9d]{margin:0;max-width:none}}.auth-aside-card[data-v-71c7cb9d]{justify-content:center;padding:24px;border:1px solid rgba(209,213,219,.78);border-radius:16px;background:#ffffffb8;box-shadow:0 4px 12px #0f172a17,0 2px 4px #0f172a0d}.aside-kicker[data-v-71c7cb9d]{display:inline-flex;width:fit-content;margin-bottom:12px;padding:4px 10px;border-radius:9999px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.aside-title[data-v-71c7cb9d]{font-size:16px;font-weight:600;color:#111827;margin:0 0 12px;letter-spacing:-.3px}.aside-desc[data-v-71c7cb9d]{font-size:13px;color:#6b7280;line-height:1.6;margin:0 0 20px}.aside-cta[data-v-71c7cb9d]{width:100%;margin-bottom:16px;justify-content:center}.aside-feature-list[data-v-71c7cb9d]{display:grid;gap:12px}.aside-feature-list span[data-v-71c7cb9d]{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:#ffffffdb;border:1px solid #E5E7EB;color:#374151;font-size:13px;font-weight:500}.aside-feature-list span[data-v-71c7cb9d]:before{content:"";width:7px;height:7px;border-radius:50%;background:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.modal-legal-notice[data-v-71c7cb9d]{margin:0;padding:20px 28px 24px;font-size:12px;line-height:1.8;color:#6b7280;border-top:1px solid #E5E7EB;background:#fff;display:flex;flex-direction:column;align-items:center;gap:8px}@media(min-width:1024px){.modal-legal-notice[data-v-71c7cb9d]{grid-column:2/span 2;grid-row:2}}@media(max-width:1024px){.modal-legal-notice[data-v-71c7cb9d]{padding:20px 24px 24px}}.modal-legal-notice--error[data-v-71c7cb9d]{background:#faeaea}.modal-legal-notice a[data-v-71c7cb9d]{color:#2563eb;text-decoration:none}.modal-legal-notice a[data-v-71c7cb9d]:hover{color:#3b82f6}.legal-chk-wrap[data-v-71c7cb9d]{display:flex;align-items:flex-start;gap:8px;max-width:36rem;margin:0 auto;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left}.legal-chk-wrap input[data-v-71c7cb9d]{display:none}.legal-chk-wrap .legal-chk[data-v-71c7cb9d]{width:15px;height:15px;margin-top:2px;border:1.5px solid #D1D5DB;border-radius:3px;background:#fff;flex-shrink:0;position:relative;transition:all .15s ease}.legal-chk-wrap input:checked+.legal-chk[data-v-71c7cb9d]{background:#3b82f6;border-color:#3b82f6}.legal-chk-wrap input:checked+.legal-chk[data-v-71c7cb9d]:after{content:"";position:absolute;left:3px;top:1px;width:5px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.legal-chk-text[data-v-71c7cb9d]{color:#374151;flex:1;min-width:0}.legal-err[data-v-71c7cb9d]{margin:0;font-size:12px;color:#b54040;text-align:center;max-width:36rem}.modal-fade-enter-active[data-v-71c7cb9d],.modal-fade-leave-active[data-v-71c7cb9d]{transition:opacity .2s ease}.modal-fade-enter-active .modal-box[data-v-71c7cb9d],.modal-fade-leave-active .modal-box[data-v-71c7cb9d]{transition:opacity .2s ease,transform .25s ease}.modal-fade-enter-from[data-v-71c7cb9d],.modal-fade-leave-to[data-v-71c7cb9d]{opacity:0}.modal-fade-enter-from .modal-box[data-v-71c7cb9d],.modal-fade-leave-to .modal-box[data-v-71c7cb9d]{opacity:0;transform:scale(.96) translateY(10px)}.slide-tab-enter-active[data-v-71c7cb9d],.slide-tab-leave-active[data-v-71c7cb9d]{transition:opacity .15s,transform .15s}.slide-tab-enter-from[data-v-71c7cb9d]{opacity:0;transform:translate(12px)}.slide-tab-leave-to[data-v-71c7cb9d]{opacity:0;transform:translate(-12px)}.step-fade-enter-active[data-v-71c7cb9d],.step-fade-leave-active[data-v-71c7cb9d]{transition:opacity .15s,transform .15s}.step-fade-enter-from[data-v-71c7cb9d]{opacity:0;transform:translate(16px)}.step-fade-leave-to[data-v-71c7cb9d]{opacity:0;transform:translate(-16px)}.workspace-layout-shell.workspace-layout{display:flex;height:100vh;max-height:100vh;min-height:0;background:var(--color-bg);overflow:hidden}.workspace-layout-shell .workspace-content{flex:1;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column}.workspace-layout-shell .workspace-content>.forum-module.forum-shell{flex:1 1 0;min-height:0;min-width:0;overflow:hidden}.workspace-layout-shell .workspace-content>.bank-module.bank-shell{flex:1 1 0;min-height:0;min-width:0;overflow:hidden}.workspace-layout-shell .workspace-content>.tool-module.tool-shell{flex:1 1 0;min-height:0;min-width:0;overflow:hidden}.workspace-layout-shell .workspace-content>.dashboard-page{flex:1 1 0;min-height:0;min-width:0}.workspace-layout-shell .workspace-content>.admin-stats-page{flex:1 1 0;min-height:0;min-width:0}@media(max-width:640px){.workspace-layout-shell .workspace-content{overflow-x:hidden}.workspace-content>.dashboard-page{flex:none;width:100%;max-width:100%;height:auto;overflow:visible}}.app-sidebar.sidebar{width:240px;background:var(--color-bg-card);padding:40px 24px;display:flex;flex-direction:column;border-right:1px solid var(--color-border-light);position:relative;flex-shrink:0}.app-sidebar .logo-section{display:flex;align-items:center;gap:12px;padding:0 4px;margin-bottom:40px;margin-left:8px}.app-sidebar .logo-img-wrap{width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-border-light)}.app-sidebar .logo-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.06)}.app-sidebar .logo-text{font-size:20px;font-weight:700;color:var(--color-text-primary);white-space:nowrap}.app-sidebar .side-nav{flex:1}.app-sidebar .nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;margin-bottom:4px;cursor:pointer;color:var(--color-text-secondary);font-weight:500;transition:all .15s ease}.app-sidebar .nav-item.active{background:var(--color-primary-bg);color:var(--color-text-primary)}.app-sidebar .nav-icon{position:relative;width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.app-sidebar .nav-icon-img{width:28px;height:28px;object-fit:contain;display:block}.app-sidebar .nav-text{font-size:16px;font-weight:500;color:var(--color-text-primary)}.app-sidebar .sidebar-footer{margin-top:auto}.app-sidebar .user-card{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--color-border-light);cursor:pointer}.app-sidebar .user-avatar{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:9999px;object-fit:cover;flex-shrink:0}.app-sidebar .user-avatar-fallback{background:var(--color-text-primary);color:var(--color-text-invert);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;min-width:36px;min-height:36px;flex-shrink:0}.app-sidebar .user-meta{flex:1;min-width:0}.app-sidebar .user-name{font-weight:700;font-size:14px;color:var(--color-text-primary)}.app-sidebar .user-email{font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar .user-role-tag{margin-top:4px;font-size:11px;color:var(--color-primary)}.app-sidebar .dots{width:25px;height:25px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:9999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background-color:transparent;font-size:16px;line-height:1;transition:all .15s ease;flex-shrink:0;margin-left:8px}.app-sidebar .dots:hover{background-color:var(--color-primary-bg);border-color:var(--color-primary-light)}.app-sidebar .logout-btn{width:100%;padding:12px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:12px;font-weight:600;color:var(--color-text-primary);cursor:pointer;margin-top:8px;transition:all .15s ease}.app-sidebar .logout-btn:hover{background-color:var(--color-primary-bg);border-color:var(--color-primary-light)}.mobile-topbar{display:none}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media(max-width:640px){.app-sidebar.sidebar{position:fixed;top:0;left:0;height:100vh;width:260px;z-index:400;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s ease;overflow-y:auto;border-right:1px solid var(--color-border-light);padding:32px 24px 24px}.app-sidebar.sidebar.is-open{transform:translate(0);box-shadow:0 16px 48px #0f172a24,0 6px 16px #0f172a14}.mobile-overlay{position:fixed;inset:0;background:#0000006b;z-index:399;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mobile-topbar{display:flex;align-items:center;gap:12px;height:52px;padding:0 16px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border-light);flex-shrink:0;position:sticky;top:0;z-index:200}.mobile-topbar .qa-mobile-topbar-history-btn{width:36px;height:36px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:10px;cursor:pointer;align-items:center;justify-content:center;display:inline-flex;flex-shrink:0;margin:0;padding:0;background:var(--color-bg-elevated);border-color:var(--color-border-light)}.mobile-topbar .qa-mobile-topbar-history-btn img{display:block;width:18px;height:18px;object-fit:contain;pointer-events:none}.mobile-topbar [data-theme=dark] .qa-mobile-topbar-history-btn img,.mobile-topbar :root[data-theme=dark] .qa-mobile-topbar-history-btn img{filter:brightness(0) invert(1);opacity:.92}.mobile-topbar__title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:700;color:var(--color-text-primary)}.mobile-menu-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:9px 8px;border:none;background:transparent;cursor:pointer;border-radius:8px;flex-shrink:0;transition:background all .15s ease}.mobile-menu-btn:hover{background:var(--color-bg-elevated)}.mobile-menu-btn__line{display:block;height:2px;background:var(--color-text-primary);border-radius:2px}.mobile-sidebar-close{display:flex;align-items:center;justify-content:center;position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--color-border-light);background:transparent;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;transition:all .15s ease}.mobile-sidebar-close:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}}.mobile-sidebar-close{display:none}.forum-module{color:var(--color-text-primary)}.forum-main{flex:1;min-width:0;padding:16px 32px 32px;overflow-y:auto}.forum-home-top{margin-bottom:18px}.forum-search-bar{display:flex;align-items:stretch;gap:12px;margin-bottom:20px}.forum-search-input{flex:1;min-width:0;padding:12px 16px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-bg-card);color:var(--color-text-primary);font-size:15px;outline:none}.forum-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.forum-search-btn{flex-shrink:0;padding:12px 20px;border-radius:12px;border:none;background:var(--color-primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.forum-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:20px}.forum-filter-split__btns{display:flex}.forum-filter-split__btns .forum-btn-filter+.forum-btn-filter{border-left:1px solid var(--color-border-light)}.forum-sort-dir{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.forum-sort-dir:hover{border-color:var(--color-border);background:var(--color-bg-card);color:var(--color-text-primary)}.forum-sort-dir__arrow{display:inline-block;transition:transform .2s ease;line-height:1}.forum-sort-dir__arrow.asc{transform:rotate(180deg)}.forum-mine-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:16px}.forum-mine-label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.forum-switch{position:relative;width:44px;height:26px;border-radius:999px;border:none;padding:0;cursor:pointer;background:var(--color-border);transition:background .2s;flex-shrink:0}.forum-switch[aria-checked=true]{background:var(--color-primary)}.forum-switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--color-bg-card);box-shadow:0 1px 3px #00000026;transition:transform .2s}.forum-switch[aria-checked=true] .forum-switch-thumb{transform:translate(18px)}.forum-filter-wrap{position:relative}.forum-filter-split{display:inline-flex;align-items:stretch;border-radius:12px;border:1px solid var(--color-border-light);overflow:hidden;background:var(--color-bg-card)}.forum-btn-filter-label{border:none;border-radius:0;border-right:1px solid var(--color-border-light)}.forum-sort-dir-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;border:none;background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s}.forum-sort-dir-btn:hover{background:var(--color-bg-card);color:var(--color-text-primary)}.forum-sort-arrow{transition:transform .2s ease}.forum-sort-arrow.is-asc{transform:rotate(180deg)}.forum-shell-body{display:flex;flex:1;align-items:stretch;min-width:0;min-height:0;overflow:hidden}.forum-filter-split .forum-btn-filter{border:none;box-shadow:none;border-radius:0}.forum-shell-aside{flex-shrink:0}@media(max-width:1100px){.forum-shell-aside{display:none}}@media(max-width:800px){.forum-shell-body{flex-direction:column}}.forum-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:20px}.forum-search-full{width:100%;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:14px;background:var(--color-bg-elevated);border:1px solid var(--color-border-light)}.forum-search-full input{flex:1;min-width:0;border:none;background:transparent;font-size:15px;outline:none;color:var(--color-text-primary)}.forum-search-full input::placeholder{color:var(--color-text-muted)}.forum-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.forum-select{position:relative;min-width:200px}.forum-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 16px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-bg-card);color:var(--color-text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,box-shadow .15s}.forum-select-trigger:hover,.forum-select--open .forum-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.forum-select-chevron{opacity:.55;flex-shrink:0}.forum-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;padding:6px;border-radius:12px;background:var(--color-bg-card);border:1px solid var(--color-border-light);box-shadow:var(--shadow-md)}.forum-select-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);font-size:14px;cursor:pointer;transition:background .12s,color .12s}.forum-select-item:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.forum-select-item--active{background:var(--color-primary-bg);color:var(--color-primary);font-weight:600}.forum-select-divider{height:1px;margin:6px 8px;background:var(--color-border-light)}.forum-btn-filter{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.forum-btn-filter:hover{border-color:var(--color-border);background:var(--color-bg-elevated)}.forum-btn-filter.active{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary)}.forum-filter-pop{position:absolute;z-index:45;margin-top:8px;min-width:220px;padding:8px;border-radius:12px;background:var(--color-bg-card);border:1px solid var(--color-border-light);box-shadow:var(--shadow-md)}.forum-filter-pop button{display:block;width:100%;text-align:left;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);font-size:13px;cursor:pointer}.forum-filter-pop button:hover,.forum-filter-pop button.is-active{background:var(--color-bg-elevated);color:var(--color-text-primary)}.forum-card{background:var(--color-bg-card);border-radius:20px;padding:28px 32px;border:1px solid var(--color-border-light);box-shadow:var(--shadow-md)}.forum-muted{color:var(--color-text-muted);font-size:14px}.forum-btn-primary{padding:12px 22px;border-radius:12px;border:none;background:var(--color-primary);color:var(--color-text-invert);font-weight:700;font-size:15px;cursor:pointer}.forum-btn-primary:hover{background:var(--color-primary-hover)}.forum-btn-secondary{padding:12px 22px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-primary);font-weight:600;cursor:pointer}.forum-input,.forum-textarea{width:100%;border:1px solid var(--color-border-light);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;background:var(--color-bg-card);color:var(--color-text-primary);outline:none}.forum-textarea{resize:vertical;line-height:1.55}.forum-label{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.forum-profile-card{padding:18px;border-radius:16px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);margin-bottom:24px}.forum-profile-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.forum-profile-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.forum-profile-name{font-size:16px;font-weight:700;color:var(--color-text-primary)}.forum-profile-sub{font-size:13px;color:var(--color-text-muted);margin-top:2px}.forum-profile-btn{width:100%;padding:10px 16px;border-radius:10px;border:none;background:var(--color-primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.forum-side-section{margin-bottom:8px}.forum-side-title{font-size:13px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.forum-course-list{list-style:none;margin:0 0 12px;padding:0}.forum-course-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border-light);cursor:pointer;font-size:14px}.forum-course-item:last-child{border-bottom:none}.forum-course-name{font-weight:600;color:var(--color-text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-course-meta{flex-shrink:0;font-size:12px;color:var(--color-text-muted);font-weight:600}.forum-side-link{font-size:13px;font-weight:600;color:var(--color-primary);text-decoration:none}.forum-side-link:hover{text-decoration:underline}.forum-right-panel{width:300px;flex-shrink:0;min-height:0;background:var(--color-bg-card);border-left:1px solid var(--color-border-light);padding:28px 20px;overflow-y:auto}.forum-post-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:18px;padding:22px 26px;box-shadow:var(--shadow-md);cursor:pointer;transition:border-color .15s,box-shadow .15s}.forum-post-card:hover{border-color:var(--color-border);box-shadow:0 8px 28px #00000014}[data-theme=dark] .forum-post-card:hover{box-shadow:0 8px 28px #00000059}.forum-post-card .post-top-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.forum-post-card .post-date-corner{flex-shrink:0;font-size:13px;font-weight:500;color:var(--color-text-muted);margin-top:2px}.forum-post-card .post-head{display:flex;align-items:center;gap:12px}.forum-post-card .post-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.forum-post-card .post-avatar--initial{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-bg);color:var(--color-primary);font-size:16px;font-weight:700}.forum-post-card .post-user{display:flex;flex-direction:column;gap:2px}.forum-post-card .post-name{font-size:15px;font-weight:700;color:var(--color-text-primary)}.forum-post-card .post-time{font-size:13px;color:var(--color-text-muted)}.forum-post-card .post-title{font-size:17px;font-weight:600;margin:0 0 8px;line-height:1.4;color:var(--color-text-primary)}.forum-post-card .post-excerpt{margin:0 0 12px;font-size:14px;line-height:1.55;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.forum-post-card .post-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.forum-post-card .post-tags{display:flex;flex-wrap:wrap;gap:8px}.forum-post-card .tag-pill{font-size:12px;padding:4px 10px;border-radius:8px;background:var(--color-bg-elevated);color:var(--color-text-secondary);font-weight:500}.forum-post-card .post-stats{display:flex;align-items:center;gap:16px;color:var(--color-text-muted);font-size:13px}.forum-post-card .stat{display:inline-flex;align-items:center;gap:5px}.forum-post-card .stat svg{opacity:.75}.forum-shell{display:flex;flex-direction:row;flex:1;align-items:stretch;min-width:0;min-height:0;overflow:hidden}.forum-shell__main{flex:1;min-width:0;min-height:0;overflow:auto}.forum-sub-nav{width:88px;flex-shrink:0;background:var(--color-bg-card);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;align-items:stretch;padding:20px 8px 24px;gap:6px}.forum-sub-nav__item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:none;border-radius:12px;background:transparent;cursor:pointer;color:var(--color-text-muted);font-family:inherit;transition:color .15s,background .15s}.forum-sub-nav__item:hover{color:var(--color-text-secondary);background:var(--color-bg-elevated)}.forum-sub-nav__item--active{color:var(--color-text-primary);font-weight:600;background:var(--color-bg-elevated)}.forum-sub-nav__icon{display:flex;align-items:center;justify-content:center}.forum-sub-nav__label{font-size:11px;line-height:1.2;text-align:center;position:relative}.forum-sub-nav__badge{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-primary);color:var(--color-text-invert);font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}@media(max-width:640px){.forum-sub-nav{width:100%;height:56px;flex-direction:row;padding:0;border-right:none;border-top:1px solid var(--color-border-light);position:fixed;bottom:0;left:0;right:0;z-index:300;justify-content:space-around;align-items:stretch;gap:0}.forum-sub-nav__item{flex:1;padding:4px 2px;border-radius:0;gap:3px}.forum-sub-nav__label{font-size:10px}.forum-main{padding:12px 16px 72px}.forum-post-card{padding:16px 18px;border-radius:14px}.forum-search-full{padding:10px 14px;border-radius:12px}.forum-toolbar-row,.forum-toolbar{gap:8px 10px;margin-bottom:14px}.forum-controls-row{flex-direction:column;align-items:stretch}.forum-select{min-width:0;width:100%}.forum-btn-filter{padding:9px 12px;font-size:13px}.forum-search-btn{padding:10px 14px}}@keyframes bank-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.bank-module{color:var(--color-text-primary)}.bank-past-page{width:100%;padding:20px 24px 40px;min-height:calc(100vh - 48px);display:flex;flex-direction:column}.bank-past-layout{display:flex;align-items:flex-start;gap:24px;width:100%}.bank-past-main{flex:1;min-width:0}.bank-past-sidebar{position:sticky;top:20px;flex:0 0 min(280px,32vw);max-width:100%;display:flex;flex-direction:column;gap:20px;padding:20px;border-radius:16px;border:1px solid var(--color-border-light);background:linear-gradient(165deg,var(--color-bg-elevated) 0%,var(--color-bg-card) 48%,var(--color-bg-elevated) 100%);box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a,inset 0 1px #ffffff0a}.bank-sidebar-group{display:flex;flex-direction:column;gap:8px;min-width:0}.bank-sidebar-label{font-size:15px;font-weight:600;color:var(--color-text-muted);letter-spacing:.02em}.bank-sidebar-edit{padding-top:8px;border-top:1px solid var(--color-border-light)}.bank-tag-create{display:flex;gap:8px}.bank-tag-create .bank-modal-input{flex:1}.bank-tag-list{list-style:none;margin:0;padding:0 4px 0 0;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;overscroll-behavior:contain}.bank-tag-list::-webkit-scrollbar{width:8px}.bank-tag-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--color-text-muted) 45%,transparent)}.bank-tag-list::-webkit-scrollbar-track{background:transparent}.bank-tag-list__item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-bg-card)}.bank-tag-list__name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font-size:13px}.bank-tag-list__actions{display:flex;gap:6px;flex-shrink:0}.bank-tag-list__empty{color:var(--color-text-muted);font-size:13px}.bank-sidebar-edit-btn{width:100%;justify-content:center;padding:12px 16px;border-radius:12px;font-size:15px;font-weight:600;border:1px solid var(--color-border);cursor:pointer;transition:all .15s ease}.bank-sidebar-edit-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.bank-sidebar-edit-btn--primary:hover{filter:brightness(1.05)}.bank-sidebar-edit-btn--ghost{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.bank-sidebar-edit-btn--ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:1100px){.bank-past-sidebar{flex:0 0 min(240px,28vw)}}@media(max-width:900px){.bank-past-layout{flex-direction:column;align-items:stretch}.bank-past-main{width:100%}.bank-past-sidebar{position:static;flex:none;width:100%}}.bank-past-body{flex:1;min-width:0;width:100%;min-height:320px;display:flex;flex-direction:column}.bank-past-toc{margin-top:8px;padding-top:16px;border-top:1px solid var(--color-border-light)}.bank-past-toc__heading{display:block;margin-bottom:8px}.bank-past-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.bank-past-toc__link{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--color-text-secondary);text-decoration:none;transition:background .12s ease,color .12s ease}.bank-past-toc__link:hover{background:var(--color-bg-elevated);color:var(--color-primary)}.bank-past-toc__name{flex:1;min-width:0;line-height:1.45}.bank-past-toc__pts{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:12px}.bank-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px;margin-bottom:24px;padding:16px 20px;border-radius:16px;background:linear-gradient(165deg,var(--color-bg-elevated) 0%,var(--color-bg-card) 48%,var(--color-bg-elevated) 100%);border:1px solid var(--color-border-light);box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a,inset 0 1px #ffffff0a}.bank-toolbar-edit{margin-left:auto;flex-shrink:0;display:flex;align-items:flex-end;padding-bottom:2px}.bank-toolbar-edit__btn{min-width:7.25rem;justify-content:center}.bank-paper-blocks{display:flex;flex-direction:column;gap:0}.bank-sec-move,.bank-q-move{transition:transform .45s cubic-bezier(.22,1,.36,1)}.bank-field{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}.bank-field>span{font-size:13px;font-weight:600;color:var(--color-text-muted);letter-spacing:.02em}.bank-field--select{flex:1 1 200px;min-width:min(260px,100%);max-width:320px}.bank-select-wrap{position:relative;display:inline-block;min-width:min(260px,100%);border-radius:12px;background:var(--color-bg-elevated);box-shadow:inset 0 1px 2px #0000000f,0 1px #ffffff0a;transition:box-shadow all .15s ease,border-color all .15s ease,transform all .15s ease}.bank-select-wrap:hover{box-shadow:inset 0 1px 2px #0000000a,0 4px 14px #00000012}.bank-select-wrap:focus-within{box-shadow:0 0 0 3px var(--color-primary-bg),0 4px 18px #00000014}.bank-select-wrap:after{content:"";position:absolute;right:0;top:0;bottom:0;width:44px;pointer-events:none;border-radius:0 12px 12px 0;background:linear-gradient(90deg,transparent,var(--color-bg-elevated) 35%)}.bank-select-wrap:before{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2.5px solid var(--color-text-muted);border-bottom:2.5px solid var(--color-text-muted);transform:rotate(45deg);pointer-events:none;z-index:1;opacity:.9;transition:transform all .15s ease,border-color all .15s ease}.bank-select-wrap:focus-within:before{border-color:var(--color-primary);transform:rotate(45deg) scale(1.05)}.bank-select{width:100%;appearance:none;padding:13px 46px 13px 18px;font-size:15px;font-weight:500;line-height:1.3;letter-spacing:.01em;color:var(--color-text-primary);background:transparent;border:1px solid var(--color-border);border-radius:12px;cursor:pointer;outline:none;transition:border-color all .15s ease,color all .15s ease}.bank-select:hover:not(:disabled){border-color:var(--color-primary-hover, var(--color-primary))}.bank-select:focus{border-color:var(--color-primary)}.bank-select:disabled{opacity:.55;cursor:not-allowed}.bank-select option{padding:10px 12px;font-weight:500;background:var(--color-bg-elevated);color:var(--color-text-primary)}.bank-skeleton-toolbar{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;height:52px;width:100%;max-width:520px;margin-bottom:24px;border-radius:16px}.bank-skeleton-paper{flex:1;display:flex;flex-direction:column;gap:16px;padding:8px 0}.bank-skeleton-title{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;height:28px;width:72%;border-radius:8px}.bank-skeleton-line{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;height:18px;width:100%;border-radius:8px}.bank-skeleton-line--short{width:45%}.bank-skeleton-line--card{height:120px;margin-top:8px}.bank-paper-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:360px;padding:32px;border-radius:16px;border:1px dashed var(--color-border-light);background:var(--color-bg-card);color:var(--color-text-muted);font-size:15px}.bank-paper-loading__spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:bank-spin .75s linear infinite}@keyframes bank-spin{to{transform:rotate(360deg)}}.bank-paper-skel{display:flex;flex-direction:column;gap:12px;padding:20px 24px;border-radius:16px;background:var(--color-bg-card);border:1px solid var(--color-border-light);box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a}.bank-paper-skel__title{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;height:30px;width:68%;border-radius:8px;margin-bottom:4px}.bank-paper-skel__meta{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;height:14px;width:30%;border-radius:4px;margin-bottom:16px}.bank-paper-skel__section-head{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;height:22px;width:52%;border-radius:8px;margin-top:16px;margin-bottom:8px}.bank-paper-skel__section-head--2nd{margin-top:32px}.bank-paper-skel__card{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:8px;background:var(--color-bg-elevated);animation:none;border:1px solid var(--color-border-light)}.bank-paper-skel__card-num{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;height:16px;width:42px;border-radius:4px;margin-bottom:4px;flex-shrink:0}.bank-paper-skel__card-num--sm{width:28px}.bank-paper-skel__line{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border-light) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:bank-shimmer 1.2s ease-in-out infinite;height:13px;width:100%;border-radius:4px}.bank-paper-skel__line--lg{width:90%}.bank-paper-skel__line--md{width:72%}.bank-paper-skel__line--sm{width:48%}.bank-paper-skel__nested{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-left:20px;border-left:3px solid var(--color-border-light)}.bank-paper-skel__card--child{background:var(--color-bg-card)}.bank-paper{position:relative;flex:1;width:100%;min-width:0;padding:20px 24px;border-radius:16px;background:var(--color-bg-card);border:1px solid var(--color-border-light);box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a}.bank-paper__mask{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:inherit;background:var(--color-bg-elevated);font-size:15px;font-weight:500;color:var(--color-text-secondary)}.bank-paper-title{font-size:22px;font-weight:700;line-height:1.3;margin:0 0 8px;color:var(--color-text-primary)}.bank-paper-meta{margin:0 0 24px;font-size:13px;color:var(--color-text-muted)}.bank-paper-block{margin-bottom:32px}.bank-paper-block:last-child{margin-bottom:0}.bank-paper-block__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.bank-paper-block__title-wrap{flex:1;min-width:0;padding-bottom:8px;border-bottom:1px solid var(--color-border-light)}.bank-paper-block__title{font-size:22px;font-weight:700;line-height:1.3;margin:0 0 8px;color:var(--color-text-primary)}.bank-paper-block__score{display:block;font-size:15px;font-weight:500;color:var(--color-text-muted)}.bank-paper-admin{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.bank-section-admin{display:flex;flex-wrap:wrap;gap:4px;flex-shrink:0;max-width:100%}.bank-qb-card__actions{display:flex;align-items:flex-start;gap:8px;flex-shrink:0}.bank-qb-admin{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.bank-admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.bank-admin-btn:disabled{opacity:.45;cursor:not-allowed}.bank-admin-btn:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.bank-admin-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.bank-admin-btn--primary:hover{filter:brightness(1.05)}.bank-admin-btn--ghost{background:transparent}.bank-admin-btn--danger{border-color:var(--color-danger, #c53030);color:var(--color-danger, #c53030)}.bank-admin-btn--danger:not(:disabled):hover{background:#c5303014}.bank-modal-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073}.bank-modal{width:100%;max-width:440px;max-height:min(90vh,720px);display:flex;flex-direction:column;border-radius:16px;background:var(--color-bg-elevated);box-shadow:0 8px 24px #0f172a1f,0 3px 8px #0f172a12;border:1px solid var(--color-border-light)}.bank-modal--wide{max-width:640px}.bank-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border-light)}.bank-modal__title{margin:0;font-size:16px;font-weight:700;color:var(--color-text-primary)}.bank-modal__close{flex-shrink:0;width:36px;height:36px;border:none;border-radius:8px;background:transparent;font-size:1.5rem;line-height:1;color:var(--color-text-muted);cursor:pointer}.bank-modal__close:hover{background:var(--color-bg-card);color:var(--color-text-primary)}.bank-modal__body{padding:16px 20px;overflow-y:auto}.bank-modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--color-border-light)}.bank-modal-field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.bank-modal-field:last-child{margin-bottom:0}.bank-modal-field>span{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.bank-modal-field--inline{flex:1;min-width:0}.bank-modal-row{display:flex;flex-wrap:wrap;gap:12px}.bank-modal-input{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);font-size:15px;background:var(--color-bg-card);color:var(--color-text-primary)}.bank-modal-textarea{width:100%;min-height:80px;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);font-size:15px;font-family:inherit;resize:vertical;background:var(--color-bg-card);color:var(--color-text-primary)}.bank-opt-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.bank-opt-label{max-width:72px}.bank-opt-text{flex:1}.bank-section{display:flex;flex-direction:column;gap:16px}.bank-qb-card{border:1px solid var(--color-border-light);border-radius:8px;padding:20px 20px 16px;background:var(--color-bg-card);box-shadow:0 1px 2px #0f172a0d;transition:box-shadow all .15s ease,border-color all .15s ease}.bank-qb-card:hover{border-color:var(--color-border);box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a}.bank-qb-card--essay-parent>.bank-qb-card__top>.bank-qb-card__meta .bank-qb-num{color:var(--color-primary);font-weight:700}.bank-qb-card--essay-parent>.bank-qb-card__top>.bank-qb-card__meta .bank-qb-points{background:var(--color-primary-bg);border-color:var(--color-primary-light);color:var(--color-primary)}.bank-qb-card--nested{background:var(--color-bg-elevated);margin-left:0;border-left:none;box-shadow:none}.bank-qb-card--nested:hover{border-color:var(--color-border);box-shadow:0 1px 2px #0f172a0d}.bank-qb-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.bank-qb-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}.bank-qb-num{font-size:16px;font-weight:700;color:var(--color-text-primary)}.bank-qb-points{font-size:13px;color:var(--color-text-muted)}.bank-qb-expand{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-8px -4px -8px 0;padding:0;border:none;border-radius:12px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.bank-qb-expand:hover{background:var(--color-primary-bg);color:var(--color-primary)}.bank-qb-expand:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.bank-qb-chevron{display:block;width:10px;height:10px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);transition:transform .35s ease}.bank-qb-chevron.is-open{transform:rotate(225deg)}.bank-qb-body{font-size:15px;line-height:1.8;color:var(--color-text-primary)}.bank-qb-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.bank-qb-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--color-primary-bg);border:1px solid var(--color-primary-light);color:var(--color-primary);font-size:13px;line-height:1}.bank-q-markdown p{margin:0 0 6px;font-size:15px;line-height:1.7}.bank-q-markdown p:last-child{margin-bottom:0}.bank-q-markdown h1,.bank-q-markdown h2,.bank-q-markdown h3,.bank-q-markdown h4{margin:.85em 0 .4em;font-weight:700;line-height:1.3;color:var(--color-text-primary)}.bank-q-markdown h1{font-size:18px}.bank-q-markdown h2{font-size:16px}.bank-q-markdown h3{font-size:15px}.bank-q-markdown hr{margin:12px 0;border:none;border-top:1px solid var(--color-border-light)}.bank-q-markdown blockquote{margin:8px 0;padding:8px 14px;border-left:3px solid var(--color-border);border-radius:0 8px 8px 0;background:var(--color-bg);color:var(--color-text-secondary)}.bank-q-markdown blockquote p:last-child{margin-bottom:0}.bank-q-markdown ul,.bank-q-markdown ol{margin:6px 0 10px;padding-left:1.5em}.bank-q-markdown ul{list-style:disc;list-style-position:outside}.bank-q-markdown ol{list-style:decimal;list-style-position:outside}.bank-q-markdown ul ul,.bank-q-markdown ol ol,.bank-q-markdown ul ol,.bank-q-markdown ol ul{margin-top:4px;margin-bottom:4px}.bank-q-markdown ul ul{list-style:circle}.bank-q-markdown ul ul ul{list-style:square}.bank-q-markdown li{margin:4px 0;line-height:1.65}.bank-q-markdown li>p:first-child,.bank-q-markdown li>p:last-child{margin:0}.bank-q-markdown li>p+p{margin-top:6px}.bank-q-markdown a{color:var(--color-text-link);text-decoration:underline;text-underline-offset:2px}.bank-q-markdown a:hover{color:var(--color-primary-hover)}.bank-q-markdown code{background:var(--color-bg);border-radius:6px;padding:2px 6px;font-family:Consolas,monospace;font-size:.95em}.bank-q-markdown pre{margin:8px 0;padding:10px 12px;border-radius:8px;background:var(--color-bg);overflow-x:auto}.bank-q-markdown pre code{padding:0;background:transparent}.bank-q-markdown table{border-collapse:collapse;width:auto;max-width:100%;margin:8px 0;background:transparent;display:table}.bank-q-markdown th,.bank-q-markdown td{border:1px solid var(--color-border-light);padding:7px 10px;text-align:left;font-size:15px;background:var(--color-bg-card);color:var(--color-text-primary)}.bank-q-markdown .katex-display{margin:8px 0;overflow-x:auto;overflow-y:hidden}.bank-q-markdown strong{font-weight:600}.bank-qb-options{margin:16px 0 0;padding-left:0;list-style:none;font-size:15px;line-height:1.75;color:var(--color-text-secondary)}.bank-qb-options__row{margin:8px 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.bank-qb-options__label{flex-shrink:0;color:var(--color-text-primary);font-weight:600}.bank-qb-options__text{flex:1;min-width:0;color:var(--color-text-secondary)}.bank-qb-options__text.bank-q-markdown{display:block}.bank-qb-pictures{margin:16px 0 0;display:flex;flex-direction:column;gap:12px}.bank-qb-fig{margin:0}.bank-qb-img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--color-border-light)}.bank-qb-fig figcaption{font-size:13px;color:var(--color-text-muted);margin-top:8px}.bank-qb-answer-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s ease}.bank-qb-answer-wrap.is-open{grid-template-rows:1fr}.bank-qb-answer-inner{min-height:0;overflow:hidden}.bank-qb-answer-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-light)}.bank-qb-answer-label{font-size:13px;font-weight:700;color:var(--color-success);margin-bottom:8px;letter-spacing:.03em}.bank-qb-answer-md{line-height:1.8;color:var(--color-text-secondary)}.bank-qb-children{margin-top:16px;padding-top:8px;padding-left:20px;display:flex;flex-direction:column;gap:16px;border-left:3px solid var(--color-primary-light);position:relative}.bank-qb-children:before{content:"";position:absolute;top:0;left:-5px;width:7px;height:7px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 2px var(--color-bg-card)}.bank-qb-move-sec{width:8.5rem;min-width:7rem;flex-shrink:0}.bank-qb-move-sec .custom-select__trigger{padding:7px 10px;font-size:13px}.bank-qb-move-sec .custom-select__value{font-size:13px}.bank-error{padding:16px 20px;margin-bottom:16px;border-radius:12px;background:var(--color-error-bg);color:var(--color-error);font-size:15px}.bank-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:32px;text-align:center;font-size:15px;line-height:1.8;color:var(--color-text-muted);border-radius:16px;border:1px dashed var(--color-border-light);background:var(--color-bg-card)}.bank-empty code{font-family:SF Mono,Consolas,Courier New,monospace;font-size:13px;padding:2px 8px;border-radius:4px;background:var(--color-bg-elevated);color:var(--color-text-secondary)}.bank-mock-page{width:100%;max-width:min(700px,100%);margin:0 auto;padding:24px 24px 40px;min-height:calc(100vh - 48px);display:flex;flex-direction:column}.bank-mock-page__error{margin-bottom:16px}.bank-mock-hero{text-align:center;margin-bottom:32px}.bank-mock-hero__icon{display:flex;justify-content:center;color:var(--color-primary);opacity:.92;margin-bottom:12px}.bank-mock-hero__title{margin:0 0 12px;font-size:22px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.bank-mock-hero__desc{margin:0 auto;max-width:38rem;font-size:15px;line-height:1.65;color:var(--color-text-muted)}.bank-mock-hero--compact{text-align:left;display:flex;gap:16px;align-items:flex-start;margin-bottom:28px}.bank-mock-hero--compact .bank-mock-hero__icon{margin-bottom:0;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:16px;background:var(--color-primary-bg);border:1px solid var(--color-primary-light);color:var(--color-primary)}.bank-mock-hero--compact .bank-mock-hero__text{flex:1;min-width:0}.bank-mock-hero--compact .bank-mock-hero__title{margin-bottom:8px}.bank-mock-form-card{max-width:440px;margin:0 auto;padding:24px;border-radius:16px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a,inset 0 1px #ffffff0d;display:flex;flex-direction:column;gap:20px}.bank-mock-form-card__submit{margin-top:4px}.bank-mock-setup__duration{display:flex;flex-direction:column;gap:8px}.bank-mock-setup__duration span{font-size:15px;font-weight:600;color:var(--color-text-muted)}.bank-mock-take__bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border-light)}.bank-mock-take__title{flex:1;min-width:0;margin:0;font-size:18px;font-weight:700}.bank-mock-take__right{display:flex;align-items:center;gap:16px;flex-shrink:0}.bank-mock-take__clock{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-warning, #fbbf24)}.bank-mock-take__score{font-weight:700;color:var(--color-success)}.bank-mock-take__grading-bar{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:var(--color-primary-bg);border:1px solid var(--color-primary-light);font-weight:600;color:var(--color-text-primary)}.bank-mock-q__live-grade{margin:12px 0;padding:12px;border-radius:8px;background:#60a5fa1f;border:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:8px;font-size:13px}.bank-mock-q__live-score{font-weight:600;color:var(--color-primary)}.bank-mock-q__live-fb{color:var(--color-text-muted);line-height:1.5}.bank-mock-history__loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--color-text-muted);font-size:15px}.bank-mock-history__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;flex:1}.bank-mock-history__card{display:flex;align-items:stretch;justify-content:space-between;gap:16px;padding:20px;border-radius:16px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a,inset 0 1px #ffffff0d;transition:border-color .15s ease,box-shadow .15s ease}.bank-mock-history__card:hover{border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border-light))}.bank-mock-history__card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.bank-mock-history__title{font-size:16px;font-weight:600;color:var(--color-text-primary);line-height:1.35}.bank-mock-history__meta{font-size:13px;color:var(--color-text-muted);line-height:1.45}.bank-mock-history__score{margin-top:4px;font-size:15px;color:var(--color-text-secondary)}.bank-mock-history__score strong{font-size:18px;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}.bank-mock-history__score-label{margin-left:2px;font-size:13px;color:var(--color-text-muted)}.bank-mock-history__btn{align-self:center;flex-shrink:0;padding:10px 20px;border-radius:12px;font-size:15px;font-weight:600;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;font-family:inherit;transition:filter .15s ease}.bank-mock-history__btn:hover{filter:brightness(1.06)}.bank-mock-history__actions{display:flex;align-items:center;gap:8px}.bank-mock-history__btn--danger{border-color:#dc2626;background:#dc2626}.bank-mock-history__empty{padding:40px 20px;text-align:center;color:var(--color-text-muted);font-size:15px;line-height:1.6;border-radius:16px;border:1px dashed var(--color-border-light);background:var(--color-bg-elevated)}@media(max-width:520px){.bank-mock-history__card{flex-direction:column;align-items:stretch}.bank-mock-history__btn{align-self:stretch;width:100%}.bank-mock-history__actions{width:100%;flex-direction:column}}.bank-mock-take__paper .bank-paper-block{margin-bottom:32px}.bank-mock-take__paper .bank-paper-block__title{font-size:18px;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--color-border-light);line-height:1.3}.bank-mock-q{margin-bottom:24px;padding:20px;border:1px solid var(--color-border-light);border-radius:12px;background:#fff;transition:border-color .15s ease}.bank-mock-q--wrong{border-color:color-mix(in srgb,var(--color-error) 72%,#b91c1c 28%);background:color-mix(in srgb,#fef2f2 88%,var(--color-error) 12%)}.bank-mock-q--nested{margin-left:min(18px,4px + var(--mock-depth, 1) * 6px);background:#fff}.bank-mock-q--stem{background:#fff}.bank-mock-q--leaf>summary,.bank-mock-q--stem>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:0;margin:0;list-style:none;cursor:pointer;font-size:15px;color:var(--color-text-primary)}.bank-mock-q--leaf>summary::-webkit-details-marker,.bank-mock-q--stem>summary::-webkit-details-marker{display:none}.bank-mock-q__summary--wrong .bank-mock-q__sum-score{color:#b91c1c;font-weight:600}.bank-mock-q__sum-left{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;min-width:0}.bank-mock-q__sum-rest{font-size:13px;color:var(--color-text-muted)}.bank-mock-q__sum-score{flex-shrink:0;font-size:13px;color:var(--color-text-secondary)}.bank-mock-q__pts-inline{font-size:13px;color:var(--color-text-muted)}.bank-mock-q__body{padding-top:16px;margin-top:8px;border-top:1px solid var(--color-border-light)}.bank-mock-q__head--stem{margin-bottom:12px}.bank-mock-q__stem-tag{font-size:12px;font-weight:600;color:var(--color-text-muted);padding:2px 8px;border-radius:4px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated)}.bank-mock-q__autosave{margin:12px 0 0;font-size:12px;color:var(--color-text-muted)}.bank-mock-q__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:12px}.bank-mock-q__num{font-weight:700;font-size:16px}.bank-mock-q__pts{font-size:13px;color:var(--color-text-muted)}.bank-mock-q__stem{margin-bottom:12px}.bank-mock-q__opts{display:flex;flex-direction:column;gap:8px}.bank-mock-q__radio{display:flex;align-items:flex-start;gap:8px;cursor:pointer;color:var(--color-text-secondary)}.bank-mock-q__radio input{margin-top:4px}.bank-mock-q__radio--readonly{cursor:default;opacity:.92}.bank-mock-q__radio--readonly input{accent-color:var(--color-primary)}.bank-mock-q__opts--readonly{margin-top:8px}.bank-mock-q__user-label{font-size:13px;font-weight:700;color:var(--color-text-secondary);margin-bottom:8px}.bank-mock-q__user-ans{margin-top:8px;padding:12px 16px;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-bg-card)}.bank-mock-q__user-md{font-size:15px;line-height:1.65;color:var(--color-text-primary)}.bank-mock-q__user-empty{margin:0;font-size:15px;color:var(--color-text-muted);font-style:italic}.bank-mock-q--wrong .bank-mock-q__user-ans{border-color:color-mix(in srgb,var(--color-error) 35%,var(--color-border-light))}.bank-mock-q__textarea{width:100%;padding:12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-primary);font-family:inherit;font-size:15px;line-height:1.6;resize:vertical;min-height:120px}.bank-mock-q__fb{margin:12px 0 0;padding:12px;border-radius:8px;background:var(--color-info-bg, rgba(59, 130, 246, .12));color:var(--color-text-secondary);font-size:13px;line-height:1.6}.bank-mock-q__ref{margin-top:16px;padding-top:16px;border-top:1px dashed var(--color-border-light)}.bank-mock-q__ref-label{font-size:13px;font-weight:700;color:var(--color-success);margin-bottom:8px}.bank-mock-q__ref-md{font-size:15px;line-height:1.65}.bank-mock-q__kids{margin-top:16px;display:flex;flex-direction:column;gap:16px}.bank-shell{display:flex;flex-direction:row;flex:1;align-items:stretch;min-width:0;min-height:0;overflow:hidden}.bank-shell-body{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;align-items:stretch}.bank-shell__main{flex:1;min-width:0;min-height:0;overflow:auto}.bank-sub-nav{width:88px;flex-shrink:0;background:var(--color-bg-card);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;align-items:stretch;padding:20px 8px 24px;gap:6px}.bank-sub-nav__item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:none;border-radius:12px;background:transparent;cursor:pointer;color:var(--color-text-muted);font-family:inherit;transition:color .15s,background .15s}.bank-sub-nav__item:hover{color:var(--color-text-secondary);background:var(--color-bg-elevated)}.bank-sub-nav__item--active{color:var(--color-text-primary);font-weight:600;background:var(--color-bg-elevated)}.bank-sub-nav__icon{display:flex;align-items:center;justify-content:center}.bank-sub-nav__label{font-size:11px;line-height:1.2;text-align:center}@media(max-width:640px){.bank-sub-nav{width:100%;height:56px;flex-direction:row;padding:0;border-right:none;border-top:1px solid var(--color-border-light);position:fixed;bottom:0;left:0;right:0;z-index:300;justify-content:space-around;align-items:stretch;gap:0}.bank-sub-nav__item{flex:1;padding:4px 2px;border-radius:0;gap:3px;height:56px}.bank-sub-nav__label{font-size:9px}.bank-shell__main{padding-bottom:56px}.bank-past-page{padding:12px 16px 32px;min-height:calc(100vh - 112px)}.bank-mock-page{padding:12px 16px 32px}.bank-toolbar{gap:8px 12px;padding:12px 16px;margin-bottom:16px}.bank-field--select{flex-basis:100%;min-width:100%;max-width:none}.bank-mock-form-card{padding:16px;max-width:100%}.bank-mock-take__bar{gap:8px 12px;padding-bottom:12px;margin-bottom:12px}.bank-mock-take__title{font-size:16px;width:100%}.bank-mock-take__right{gap:12px}.bank-paper{padding:12px 16px}.bank-qb-card{padding:16px 12px 12px}.bank-past-sidebar{position:static;flex:none;width:100%}.bank-paper{overflow-x:hidden}.bank-paper-title,.bank-paper-block__title{font-size:18px}.bank-qb-card__top{flex-wrap:wrap;gap:8px}.bank-qb-body,.bank-q-markdown{overflow-wrap:break-word;word-break:break-word;min-width:0}.bank-q-markdown table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.bank-q-markdown pre{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre}.bank-q-markdown .katex-display{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.bank-qb-children{padding-left:12px}}.knowledge-qa-page.qa-page{display:flex;background-color:transparent;font-family:Outfit,sans-serif;height:100vh;min-height:0;color:var(--color-text-primary);padding:0;overflow:hidden;--knowledge-sidebar-width: 260px;--knowledge-layout-ease: .32s cubic-bezier(.4, 0, .2, 1)}.knowledge-qa-page.qa-page .qa-main-layout{flex:1;display:grid;grid-template-columns:var(--knowledge-sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;min-width:0;min-height:0;overflow:hidden;position:relative;transition:grid-template-columns var(--knowledge-layout-ease)}.knowledge-qa-page.qa-page .qa-main-layout>.history-sidebar{grid-column:1;grid-row:1;min-width:0}.knowledge-qa-page.qa-page .qa-main-layout>.chat-container{grid-column:2;grid-row:1;min-width:0}.knowledge-qa-page.qa-page .qa-main-layout>.mobile-sidebar-overlay{grid-column:1/-1;grid-row:1}.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-right{grid-template-columns:minmax(0,1fr) var(--knowledge-sidebar-width)}.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-right>.history-sidebar{grid-column:2}.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-right>.chat-container{grid-column:1}.knowledge-qa-page.qa-page .history-sidebar{width:100%;max-width:100%;height:100%;background:#f9f9fb;display:flex;flex-direction:column;padding:0;min-height:0;border-right:1px solid var(--color-border-light);overflow:hidden;transition:border-color .24s ease}.knowledge-qa-page.qa-page .history-sidebar.left{border-right:1px solid var(--color-border-light)}.knowledge-qa-page.qa-page .history-sidebar.right{border-right:none;border-left:1px solid var(--color-border-light)}.knowledge-qa-page.qa-page .history-sidebar.left .sidebar-header,.knowledge-qa-page.qa-page .history-sidebar.right .sidebar-header{padding-top:22px}.knowledge-qa-page.qa-page .sidebar-header{padding:12px;display:flex;flex-direction:column;gap:12px}.knowledge-qa-page.qa-page .header-top-btns{display:flex;gap:10px;align-items:center}.knowledge-qa-page.qa-page .history-sidebar .icon-btn{background:#fff;border:1px solid #e5e7eb;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;cursor:pointer}.knowledge-qa-page.qa-page .history-sidebar .icon-btn img{width:18px!important;height:18px!important}.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-collapsed{--knowledge-sidebar-width: 0px}.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-collapsed>.history-sidebar{border-color:transparent;pointer-events:none}.knowledge-qa-page.qa-page .history-sidebar.collapsed{pointer-events:none}.knowledge-qa-page.qa-page .sidebar-header-mobile{display:none}.knowledge-qa-page.qa-page .sidebar-header-desktop{display:flex;flex-direction:column;gap:12px}.knowledge-qa-page.qa-page .side-toggle-btn{margin-left:auto}.knowledge-qa-page.qa-page .arrow-icon{font-size:14px;color:#666;font-weight:700}.knowledge-qa-page.qa-page .search-box{position:relative;display:flex;align-items:center}.knowledge-qa-page.qa-page .search-icon{position:absolute;left:10px;width:14px;height:14px;color:#999}.knowledge-qa-page.qa-page .search-input{width:100%;padding:7px 12px 7px 32px;font-size:13px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#1f2937;outline:none}.knowledge-qa-page.qa-page .history-scroll-area{padding:8px 4px 8px 8px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.knowledge-qa-page.qa-page .history-scroll-area::-webkit-scrollbar{width:6px}.knowledge-qa-page.qa-page .history-scroll-area::-webkit-scrollbar-track{background:transparent}.knowledge-qa-page.qa-page .history-scroll-area::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:9999px}.knowledge-qa-page.qa-page .history-scroll-area::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.knowledge-qa-page.qa-page .history-item{position:relative;padding:10px 12px;margin:2px 0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .2s ease;border:1px solid transparent;box-shadow:none;background:transparent}.knowledge-qa-page.qa-page .history-item:hover{background:#ececf1}.knowledge-qa-page.qa-page .history-item.active{border-left:1px solid transparent;background:#e5e7eb}.knowledge-qa-page.qa-page .item-main-info{flex:1;min-width:0;margin-right:8px}.knowledge-qa-page.qa-page .history-title{font-size:13.5px;color:#374151;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.knowledge-qa-page.qa-page .item-hover-actions{display:flex;align-items:flex-start;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .15s ease}.knowledge-qa-page.qa-page .history-item:hover .item-hover-actions,.knowledge-qa-page.qa-page .history-item.menu-open .item-hover-actions{opacity:1;pointer-events:auto}.knowledge-qa-page.qa-page .more-options-wrapper{position:relative}.knowledge-qa-page.qa-page .more-options-wrapper.is-open{z-index:9}.knowledge-qa-page.qa-page .more-options-trigger{border:none;background:transparent;width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#9ca3af;cursor:pointer}.knowledge-qa-page.qa-page .dots-ellipsis{letter-spacing:1px;font-size:16px;line-height:1;font-weight:700}.knowledge-qa-page.qa-page .more-options-trigger:hover{background:#dfe3ea;color:#4b5563}.knowledge-qa-page.qa-page .action-dropdown{position:absolute;top:24px;right:0;min-width:92px;display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid #d7dde7;border-radius:8px;background:#fff;box-shadow:0 8px 20px #0000001f;z-index:8;display:none}.knowledge-qa-page.qa-page .more-options-wrapper.is-open .action-dropdown{display:flex}.knowledge-qa-page.qa-page .action-item{background:transparent;border:1px solid transparent;cursor:pointer;padding:6px 8px;border-radius:6px;color:#374151;display:flex;align-items:center;justify-content:flex-start;font-size:12px;transition:all .2s}.knowledge-qa-page.qa-page .action-item:hover{background:#eef2f8;border-color:#d8dfeb;color:#1f2937}.knowledge-qa-page.qa-page .action-item.danger:hover{color:#ef4444}.knowledge-qa-page.qa-page .empty-state{text-align:center;padding:40px 0;color:#9ca3af;font-size:13px}.knowledge-qa-page.qa-page .chat-container{flex:1 1 auto;display:flex;flex-direction:column;background:var(--color-bg-card);width:auto;min-width:0;min-height:0;transition:flex var(--knowledge-layout-ease)}.knowledge-qa-page.qa-page .chat-header{padding:20px 40px;border-bottom:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px 16px;min-height:76px}.knowledge-qa-page.qa-page .chat-header-leading{display:flex;align-items:center;gap:8px;flex-shrink:0;overflow:hidden;max-width:0;opacity:0;margin:0;padding:0;border:0;pointer-events:none;transition:max-width var(--knowledge-layout-ease),opacity .28s ease,margin-inline-end .28s ease}.knowledge-qa-page.qa-page .chat-header.is-sidebar-collapsed .chat-header-leading{max-width:5.5rem;opacity:1;pointer-events:auto;margin-inline-end:4px}.knowledge-qa-page.qa-page .chat-header-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;flex:1;min-width:0;transition:flex var(--knowledge-layout-ease)}.knowledge-qa-page.qa-page .chat-header.is-sidebar-right{position:relative}.knowledge-qa-page.qa-page .chat-header.is-sidebar-right .chat-header-leading{position:absolute;inset-inline-end:40px;top:50%;transform:translateY(-50%);order:unset;margin:0;z-index:2}.knowledge-qa-page.qa-page .chat-header.is-sidebar-right .chat-header-toolbar{order:unset;flex:1;min-width:0;width:100%}.knowledge-qa-page.qa-page .course-selector.model-in-header .course-select-custom{min-width:200px;max-width:min(300px,40vw)}.knowledge-qa-page.qa-page .course-selector{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.knowledge-qa-page.qa-page .course-select-label{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted)}.knowledge-qa-page.qa-page .course-select-custom{position:relative;min-width:220px;max-width:min(360px,46vw)}.knowledge-qa-page.qa-page .course-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 10px 14px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-primary);font-family:inherit;font-size:14px;font-weight:500;line-height:1.3;cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:border-color .2s,box-shadow .2s,background .2s;text-align:left}.knowledge-qa-page.qa-page .course-select-trigger:hover{border-color:var(--color-primary);box-shadow:0 2px 10px #0000000f}.knowledge-qa-page.qa-page .course-select-trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.knowledge-qa-page.qa-page .course-select-custom.is-open .course-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.knowledge-qa-page.qa-page .course-select-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-qa-page.qa-page .course-select-trigger-chevron{flex-shrink:0;width:8px;height:8px;margin-top:2px;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg);opacity:.7;transition:transform .2s ease}.knowledge-qa-page.qa-page .course-select-custom.is-open .course-select-trigger-chevron{transform:rotate(225deg);margin-top:-2px}.knowledge-qa-page.qa-page .course-select-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px 4px 6px 6px;list-style:none;border-radius:14px;border:1px solid var(--color-border-light);background:var(--color-bg-card);box-shadow:0 12px 40px #0000001f,0 4px 12px #0000000f;max-height:min(320px,52vh);flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.knowledge-qa-page.qa-page .course-select-list::-webkit-scrollbar{width:6px}.knowledge-qa-page.qa-page .course-select-list::-webkit-scrollbar-track{background:transparent}.knowledge-qa-page.qa-page .course-select-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:9999px}.knowledge-qa-page.qa-page .course-select-list::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.knowledge-qa-page.qa-page .course-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:14px;color:var(--color-text-primary);transition:background .15s ease}.knowledge-qa-page.qa-page .course-select-option:hover{background:var(--color-bg-elevated)}.knowledge-qa-page.qa-page .course-select-option.is-active{background:var(--color-primary-bg);color:var(--color-text-primary)}.knowledge-qa-page.qa-page .course-select-option-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.knowledge-qa-page.qa-page .course-select-option-name{font-weight:600;line-height:1.35}.knowledge-qa-page.qa-page .course-select-option-code{font-size:11px;font-weight:500;letter-spacing:.02em;color:var(--color-text-muted);text-transform:uppercase}.knowledge-qa-page.qa-page .course-select-option.is-active .course-select-option-code{color:var(--color-text-secondary)}.knowledge-qa-page.qa-page .course-select-check{flex-shrink:0;color:var(--color-primary);display:flex;align-items:center}.knowledge-qa-page.qa-page .course-menu-enter-active,.knowledge-qa-page.qa-page .course-menu-leave-active{transition:opacity .16s ease,transform .16s ease}.knowledge-qa-page.qa-page .course-menu-enter-from,.knowledge-qa-page.qa-page .course-menu-leave-to{opacity:0;transform:translateY(-6px)}.knowledge-qa-page.qa-page .mode-toggle{margin-left:auto;display:inline-flex;align-items:stretch;gap:0;padding:4px;border-radius:10px;background:var(--color-bg-elevated);border:1px solid var(--color-border-light)}.knowledge-qa-page.qa-page .mode-toggle button{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:600;background:transparent;color:var(--color-text-secondary)}.knowledge-qa-page.qa-page .mode-toggle button:hover{color:var(--color-text-primary)}.knowledge-qa-page.qa-page .mode-toggle button.active{color:var(--color-text-primary);background:var(--color-bg-card);box-shadow:0 1px 3px #00000014}.knowledge-qa-page.qa-page [data-theme=dark] .knowledge-qa-page.qa-page .mode-toggle button.active,.knowledge-qa-page.qa-page :root[data-theme=dark] .knowledge-qa-page.qa-page .mode-toggle button.active{background:var(--color-primary-bg);color:var(--color-text-primary);border:1px solid rgba(96,165,250,.35);box-shadow:0 1px 4px #00000059}@media(prefers-color-scheme:dark){.knowledge-qa-page.qa-page :root:not([data-theme=light]) .knowledge-qa-page.qa-page .mode-toggle button.active{background:var(--color-primary-bg);color:var(--color-text-primary);border:1px solid rgba(96,165,250,.35);box-shadow:0 1px 4px #00000059}}.knowledge-qa-page.qa-page .messages-area{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.knowledge-qa-page.qa-page .messages-area::-webkit-scrollbar{width:6px}.knowledge-qa-page.qa-page .messages-area::-webkit-scrollbar-track{background:transparent}.knowledge-qa-page.qa-page .messages-area::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:9999px}.knowledge-qa-page.qa-page .messages-area::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.knowledge-qa-page.qa-page .messages-area{padding:72px 40px 40px}.knowledge-qa-page.qa-page .messages-list{display:flex;flex-direction:column;gap:24px}.knowledge-qa-page.qa-page .message-wrapper{display:flex;gap:16px;width:auto;max-width:85%;min-width:0}.knowledge-qa-page.qa-page .message-wrapper.ai{align-self:flex-start}.knowledge-qa-page.qa-page .message-wrapper.user{align-self:flex-end;flex-direction:row-reverse}.knowledge-qa-page.qa-page .chat-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.knowledge-qa-page.qa-page .chat-avatar--initial{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-bg);color:var(--color-primary);font-size:16px;font-weight:700}.knowledge-qa-page.qa-page .message-bubble{display:flex;flex-direction:column;align-items:flex-start;width:auto;max-width:100%;min-width:0}.knowledge-qa-page.qa-page .msg-confidence{margin-bottom:6px;padding:2px 10px;border-radius:999px;font-size:12px;line-height:1.6;border:1px solid var(--color-border-light);color:var(--color-text-secondary);background:var(--color-bg-card)}.knowledge-qa-page.qa-page .msg-confidence--high{color:#15803d;background:#22c55e24;border-color:#22c55e59}.knowledge-qa-page.qa-page .msg-confidence--medium{color:#a16207;background:#f59e0b24;border-color:#f59e0b59}.knowledge-qa-page.qa-page .msg-confidence--low{color:#b91c1c;background:#ef444424;border-color:#ef444459}.knowledge-qa-page.qa-page .msg-text{padding:14px 20px;border-radius:20px;font-size:17px;line-height:1.7}.knowledge-qa-page.qa-page .user .msg-text{background:var(--color-primary);color:#fff;border-top-right-radius:4px;white-space:pre-wrap}.knowledge-qa-page.qa-page .ai .msg-text{display:flex;flex-direction:column;align-items:flex-start;width:auto;max-width:100%;background:var(--color-bg-elevated);color:var(--color-text-primary);border-top-left-radius:4px;overflow-wrap:anywhere;min-width:0;box-sizing:border-box}.knowledge-qa-page.qa-page .qa-md-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0;width:100%;max-width:100%}.knowledge-qa-page.qa-page .qa-md-body>p{width:100%;max-width:100%}.knowledge-qa-page.qa-page .qa-md-body>p:has(.qa-md-figure){display:table;width:auto;max-width:min(520px,100%)}.knowledge-qa-page.qa-page .qa-md-body>pre{width:max-content;max-width:100%;overflow-x:auto}.knowledge-qa-page.qa-page .msg-reasoning{margin-bottom:10px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-bg);overflow:hidden;width:100%;max-width:100%;min-width:0}.knowledge-qa-page.qa-page .msg-reasoning-summary{cursor:pointer;padding:8px 12px;font-size:13px;font-weight:600;color:var(--color-text-secondary);list-style:none}.knowledge-qa-page.qa-page .msg-reasoning-summary::-webkit-details-marker{display:none}.knowledge-qa-page.qa-page .msg-reasoning[open] .msg-reasoning-summary{border-bottom:1px solid var(--color-border-light)}.knowledge-qa-page.qa-page .msg-reasoning-pre{margin:0;padding:10px 12px 12px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--color-text-secondary);font-family:ui-monospace,SF Mono,Consolas,monospace}.knowledge-qa-page.qa-page .msg-image{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px}.knowledge-qa-page.qa-page .msg-image-list{flex-direction:row;flex-wrap:wrap;gap:10px}.knowledge-qa-page.qa-page .msg-image-item{display:inline-flex;flex-direction:column;gap:6px;align-items:center}.knowledge-qa-page.qa-page .message-wrapper.user .msg-image{align-items:flex-end;margin-bottom:8px}.knowledge-qa-page.qa-page .msg-image img{display:block;width:auto;height:auto;max-width:min(520px,100%);max-height:min(72vh,520px);object-fit:contain;border-radius:12px}.knowledge-qa-page.qa-page .msg-image-container{position:relative;width:140px;height:140px;border-radius:12px;overflow:hidden;cursor:zoom-in;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 12px #0000001a}.knowledge-qa-page.qa-page .msg-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.knowledge-qa-page.qa-page .msg-image-container:hover img{transform:scale(1.05)}.knowledge-qa-page.qa-page .msg-image-overlay{position:absolute;inset:0;background:#0003;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.knowledge-qa-page.qa-page .msg-image-container:hover .msg-image-overlay{opacity:1}.knowledge-qa-page.qa-page .msg-image-download-icon{flex-shrink:0;background:var(--color-bg-elevated, #f5f5f5);border:1px solid var(--color-border-light, #ddd)}.knowledge-qa-page.qa-page .qa-md-figure{display:block;width:fit-content;max-width:min(520px,100%);margin:6px 0 10px}.knowledge-qa-page.qa-page .qa-md-img{display:block;width:auto;height:auto;max-width:min(520px,100%);max-height:min(72vh,520px);object-fit:contain;border-radius:12px;cursor:zoom-in}.knowledge-qa-page.qa-page .qa-mermaid-block{margin:10px 0;width:100%;max-width:100%;border:1px solid var(--color-border-light);border-radius:10px;background:var(--color-bg-card);overflow:hidden}.knowledge-qa-page.qa-page .qa-mermaid-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:12px}.knowledge-qa-page.qa-page .qa-mermaid-mount{padding:12px;overflow:auto;max-width:100%}.knowledge-qa-page.qa-page .qa-mermaid-svg-wrap{display:flex;justify-content:flex-start;overflow:auto;max-width:100%}.knowledge-qa-page.qa-page .qa-mermaid-svg-wrap :where(svg){max-width:100%;height:auto}.knowledge-qa-page.qa-page .qa-mermaid-err{margin:0;padding:8px;font-size:12px;color:var(--color-danger, #b91c1c);white-space:pre-wrap;word-break:break-word}.knowledge-qa-page.qa-page .qa-code-block{margin:10px 0;width:100%;border:1px solid var(--color-border-light);border-radius:10px;background:var(--color-bg);overflow:hidden}.knowledge-qa-page.qa-page .qa-code-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;border-bottom:1px solid transparent;color:var(--color-text-secondary);font-size:12px}.knowledge-qa-page.qa-page .qa-code-block:not(.is-collapsed) .qa-code-summary{border-bottom-color:var(--color-border-light)}.knowledge-qa-page.qa-page .qa-code-lang{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.knowledge-qa-page.qa-page .qa-code-copy-btn{border:1px solid var(--color-border-light);background:var(--color-bg-card);color:var(--color-text-secondary);border-radius:6px;width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.knowledge-qa-page.qa-page .qa-code-copy-btn:hover{color:var(--color-text-primary);border-color:var(--color-border)}.knowledge-qa-page.qa-page .qa-code-copy-btn svg{width:14px;height:14px}.knowledge-qa-page.qa-page .qa-code-copy-btn .icon-check,.knowledge-qa-page.qa-page .qa-code-copy-btn.is-copied .icon-copy{display:none}.knowledge-qa-page.qa-page .qa-code-copy-btn.is-copied .icon-check{display:block}.knowledge-qa-page.qa-page .qa-code-actions{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.knowledge-qa-page.qa-page .qa-code-toggle-btn{border:1px solid var(--color-border-light);background:var(--color-bg-card);color:var(--color-text-secondary);border-radius:6px;height:24px;padding:0 8px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:12px}.knowledge-qa-page.qa-page .qa-code-toggle-btn:hover{color:var(--color-text-primary);border-color:var(--color-border)}.knowledge-qa-page.qa-page .qa-code-toggle-icon{width:12px;height:12px;transition:transform .2s ease}.knowledge-qa-page.qa-page .qa-code-block:not(.is-collapsed) .qa-code-toggle-icon{transform:rotate(180deg)}.knowledge-qa-page.qa-page .hljs-container{margin:0;padding:12px 14px;overflow-x:auto;max-width:100%}.knowledge-qa-page.qa-page .hljs-container code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.7}.knowledge-qa-page.qa-page .qa-code-block.is-collapsible.is-collapsed .hljs-container{max-height:calc(25.5em + 24px);overflow:hidden;position:relative}.knowledge-qa-page.qa-page .qa-code-block.is-collapsible.is-collapsed .hljs-container:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42px;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,0),var(--color-bg))}.knowledge-qa-page.qa-page .image-gen-placeholder{margin:0}.knowledge-qa-page.qa-page .image-gen-skeleton{width:min(520px,100%);max-width:min(520px,100%);max-height:min(72vh,520px);border-radius:12px;background:linear-gradient(90deg,var(--color-border-light) 0%,var(--color-bg) 50%,var(--color-border-light) 100%);background-size:200% 100%;animation:image-gen-shimmer 1.2s ease-in-out infinite}.knowledge-qa-page.qa-page .image-gen-hint{margin:0 0 10px;font-size:14px;color:var(--color-text-secondary)}@keyframes image-gen-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.knowledge-qa-page.qa-page .chat-input-area{padding:20px 40px 40px}.knowledge-qa-page.qa-page .image-preview-bar{padding:0 16px 12px;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:8px}.knowledge-qa-page.qa-page .preview-item{position:relative;width:64px;height:64px;background:var(--color-bg-card, #fff);border-radius:10px;padding:4px;box-shadow:0 4px 12px #00000014;border:1px solid var(--color-border-light, #eee)}.knowledge-qa-page.qa-page .image-wrapper{width:100%;height:100%;border-radius:6px;overflow:hidden;cursor:zoom-in;position:relative}.knowledge-qa-page.qa-page .image-wrapper img{width:100%;height:100%;object-fit:cover}.knowledge-qa-page.qa-page .image-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.knowledge-qa-page.qa-page .image-wrapper:hover .image-overlay{opacity:1}.knowledge-qa-page.qa-page .remove-btn{position:absolute;top:-8px;right:-8px;background:#ff4d4f;color:#fff;border:2px solid #fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #00000026;z-index:10;transition:transform .2s}.knowledge-qa-page.qa-page .remove-btn:hover{transform:scale(1.1);background:#ff7875}.knowledge-qa-page.qa-page .full-screen-preview,.knowledge-qa-page.qa-page .image-zoom-overlay{position:fixed;inset:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.knowledge-qa-page.qa-page .zoom-container{display:flex;flex-direction:column;align-items:center;max-width:90vw}.knowledge-qa-page.qa-page .zoom-container img,.knowledge-qa-page.qa-page .zoom-img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px;box-shadow:0 0 30px #00000080}.knowledge-qa-page.qa-page .zoom-close-hint{color:#ffffff8c;margin-top:20px;font-size:14px}.knowledge-qa-page.qa-page .input-toolbar{margin-bottom:12px;display:flex;align-items:center;gap:16px}.knowledge-qa-page.qa-page .selected-file-name{font-size:12px;color:var(--color-text-muted)}.knowledge-qa-page.qa-page .remove-file{cursor:pointer;margin-left:4px;color:var(--color-primary);font-weight:700}.knowledge-qa-page.qa-page .input-box--stacked{display:flex;flex-direction:column;gap:10px;background:var(--color-bg-elevated);padding:12px;border-radius:16px;border:1px solid var(--color-border-light)}.knowledge-qa-page.qa-page .input-box-textarea{width:100%;box-sizing:border-box;border:none;background:transparent;outline:none;resize:vertical;min-height:48px;height:56px;font-family:inherit;font-size:15px;line-height:1.5;color:var(--color-text-primary)}.knowledge-qa-page.qa-page .input-box-textarea::placeholder{color:var(--color-text-muted)}.knowledge-qa-page.qa-page .input-box-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.knowledge-qa-page.qa-page .input-box-bottom-left{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.knowledge-qa-page.qa-page .input-box-bottom-right{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.knowledge-qa-page.qa-page .custom-select{display:flex;align-items:center;gap:8px;margin-left:12px;position:relative}.knowledge-qa-page.qa-page .select-label{font-size:13px;color:var(--color-text-secondary);font-weight:500}.knowledge-qa-page.qa-page .select-trigger{display:flex;align-items:center;justify-content:space-between;min-width:68px;height:32px;padding:0 10px;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:8px;cursor:pointer}.knowledge-qa-page.qa-page .trigger-text{font-size:13px;color:var(--color-text-primary);font-weight:600}.knowledge-qa-page.qa-page .trigger-chevron{width:0;height:0;margin-left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--color-text-muted);transition:transform .3s}.knowledge-qa-page.qa-page .trigger-chevron.is-active{transform:rotate(180deg)}.knowledge-qa-page.qa-page .select-options-list{position:absolute;bottom:calc(100% + 8px);left:0;width:80px;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:10px;list-style:none;padding:6px 0;margin:0;box-shadow:0 -4px 16px #0000001a;z-index:1000}.knowledge-qa-page.qa-page .select-options-list li{padding:8px 12px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;text-align:center}.knowledge-qa-page.qa-page .select-options-list li:hover{background:var(--color-bg-elevated);color:var(--color-primary)}.knowledge-qa-page.qa-page .select-options-list li.active{color:var(--color-primary);font-weight:700;background:var(--color-primary-bg)}.knowledge-qa-page.qa-page .pill-btn{padding:6px 14px;border-radius:20px;border:1px solid var(--color-border-light);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;margin-right:8px;transition:background .2s,border-color .2s,color .2s}.knowledge-qa-page.qa-page .pill-btn:hover{color:var(--color-text-primary);border-color:var(--color-border)}.knowledge-qa-page.qa-page .pill-btn--on{background:#22c55e2e;border-color:#22c55e73;color:#15803d}.knowledge-qa-page.qa-page .send-btn{width:44px;height:44px;background:var(--color-primary);border:none;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.knowledge-qa-page.qa-page .send-btn img{width:18px;height:18px}.knowledge-qa-page.qa-page .send-btn:disabled{opacity:.35;cursor:not-allowed}.knowledge-qa-page.qa-page .icon-btn{width:44px;height:44px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-primary)}.knowledge-qa-page.qa-page .upload-btn{font-size:28px;line-height:1}.knowledge-qa-page.qa-page .typing-indicator{display:inline-flex;align-items:center;gap:8px}.knowledge-qa-page.qa-page .spinner{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.knowledge-qa-page.qa-page .history-img-btn{width:36px;height:36px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.knowledge-qa-page.qa-page .history-img-btn img{width:18px;height:18px;object-fit:contain}.knowledge-qa-page.qa-page .history-arrow-btn{width:36px;height:36px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.knowledge-qa-page.qa-page .qa-markdown p{margin:0 0 6px;font-size:17px;line-height:1.7}.knowledge-qa-page.qa-page .qa-markdown p:last-child{margin-bottom:0}.knowledge-qa-page.qa-page .qa-markdown ul,.knowledge-qa-page.qa-page .qa-markdown ol{margin:4px 0 8px 20px;width:fit-content;max-width:100%}.knowledge-qa-page.qa-page .qa-markdown code{background:var(--color-bg);border-radius:6px;padding:2px 6px;font-family:Consolas,monospace}.knowledge-qa-page.qa-page .qa-markdown table{border-collapse:collapse;width:auto;max-width:100%;margin:8px 0;background:transparent;display:table}.knowledge-qa-page.qa-page .qa-markdown th,.knowledge-qa-page.qa-page .qa-markdown td{border:1px solid var(--color-border-light);padding:7px 10px;text-align:left;font-size:16px;background:var(--color-bg-card);color:var(--color-text-primary)}.knowledge-qa-page.qa-page .qa-markdown .katex-display{margin:8px 0;overflow-x:auto;overflow-y:hidden}.knowledge-qa-page.qa-page .message-actions{align-self:flex-end;margin-top:6px;display:flex;justify-content:flex-end;align-items:center;gap:2px;box-sizing:border-box}.knowledge-qa-page.qa-page .action-btn{width:28px;height:28px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);padding:0}.knowledge-qa-page.qa-page .action-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.knowledge-qa-page.qa-page .copy-success-capsule{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.2);border-radius:8px;font-size:11px;font-weight:600}.knowledge-qa-page.qa-page .message-wrapper.user .copy-success-capsule{background:#fff3;color:#fff;border-color:#ffffff4d}.knowledge-qa-page.qa-page .fade-enter-active,.knowledge-qa-page.qa-page .fade-leave-active{transition:opacity .3s ease}.knowledge-qa-page.qa-page .fade-enter-from,.knowledge-qa-page.qa-page .fade-leave-to{opacity:0}.knowledge-qa-page.qa-page .slide-up-enter-active,.knowledge-qa-page.qa-page .slide-up-leave-active{transition:all .3s ease}.knowledge-qa-page.qa-page .slide-up-enter-from,.knowledge-qa-page.qa-page .slide-up-leave-to{opacity:0;transform:translateY(10px)}.knowledge-qa-page.qa-page .menu-fade-enter-active,.knowledge-qa-page.qa-page .menu-fade-leave-active{transition:all .2s cubic-bezier(.4,0,.2,1)}.knowledge-qa-page.qa-page .menu-fade-enter-from,.knowledge-qa-page.qa-page .menu-fade-leave-to{opacity:0;transform:translateY(10px) scale(.95)}.knowledge-qa-page.qa-page .mobile-sidebar-toggle,.knowledge-qa-page.qa-page .mobile-sidebar-overlay{display:none}@media(max-width:640px){.knowledge-qa-page.qa-page .qa-main-layout,.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-right,.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-collapsed,.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-right.is-sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.knowledge-qa-page.qa-page .qa-main-layout>.history-sidebar,.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-right>.history-sidebar{grid-column:1;grid-row:1}.knowledge-qa-page.qa-page .qa-main-layout>.chat-container,.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-right>.chat-container{grid-column:2;grid-row:1;width:100%;min-width:0}.knowledge-qa-page.qa-page .qa-main-layout.is-sidebar-collapsed>.history-sidebar{pointer-events:auto}.knowledge-qa-page.qa-page .sidebar-header-mobile{display:flex;align-items:center;gap:8px;width:100%}.knowledge-qa-page.qa-page .sidebar-header-mobile .search-box{flex:1;min-width:0}.knowledge-qa-page.qa-page .sidebar-header-desktop{display:none}.knowledge-qa-page.qa-page .history-sidebar{position:absolute;left:0;right:auto;top:0;z-index:100;width:min(280px,88vw);max-width:min(280px,88vw);height:100%;box-shadow:10px 0 20px #0000001f;transition:transform var(--knowledge-layout-ease);pointer-events:none}.knowledge-qa-page.qa-page .history-sidebar:not(.is-mobile-open){transform:translate(-100%)}.knowledge-qa-page.qa-page .history-sidebar.is-mobile-open{transform:translate(0);pointer-events:auto}.knowledge-qa-page.qa-page .chat-header{align-items:stretch;gap:8px;padding:8px 12px;min-height:0}.knowledge-qa-page.qa-page .chat-header-leading{display:none!important;max-width:0!important;opacity:0!important;pointer-events:none!important}.knowledge-qa-page.qa-page .chat-header-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.knowledge-qa-page.qa-page .chat-header .course-selector{min-width:0;width:100%}.knowledge-qa-page.qa-page .chat-header .course-selector .course-select-label{display:none!important}.knowledge-qa-page.qa-page .chat-header .course-selector .course-select-custom{width:100%;min-width:0;max-width:none}.knowledge-qa-page.qa-page .chat-header .course-selector .course-select-trigger{padding:5px 8px;height:32px;font-size:12px}.knowledge-qa-page.qa-page .chat-header .course-selector .course-select-trigger-text{max-width:100%}.knowledge-qa-page.qa-page .messages-area{padding:12px 10px 16px}.knowledge-qa-page.qa-page .message-wrapper{max-width:100%;gap:0}.knowledge-qa-page.qa-page .message-wrapper .chat-avatar,.knowledge-qa-page.qa-page .message-wrapper .chat-avatar--initial{display:none}.knowledge-qa-page.qa-page .message-actions,.knowledge-qa-page.qa-page .msg-image-download-icon{display:none!important}.knowledge-qa-page.qa-page .msg-text{padding:8px 12px;font-size:13px;line-height:1.55}.knowledge-qa-page.qa-page .qa-markdown p{font-size:13px;line-height:1.55}.knowledge-qa-page.qa-page .chat-input-area{padding:8px 10px 14px}.knowledge-qa-page.qa-page .input-box--stacked{padding:6px 8px;gap:6px;border-radius:12px}.knowledge-qa-page.qa-page .input-box-textarea{min-height:36px;height:40px;font-size:14px;line-height:1.45}.knowledge-qa-page.qa-page .input-box-bottom{gap:6px}.knowledge-qa-page.qa-page .input-box-bottom-left .pill-btn{padding:3px 8px;font-size:11px}.knowledge-qa-page.qa-page .icon-btn{width:36px;height:36px}.knowledge-qa-page.qa-page .qa-mermaid-block,.knowledge-qa-page.qa-page .qa-code-block{width:100%;font-size:12px}.knowledge-qa-page.qa-page .mobile-sidebar-overlay{display:block;position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:99}}[data-theme=dark] .knowledge-qa-page.qa-page,:root[data-theme=dark] .knowledge-qa-page.qa-page{background-color:#000}[data-theme=dark] .knowledge-qa-page.qa-page .qa-main-layout,[data-theme=dark] .knowledge-qa-page.qa-page .chat-container,[data-theme=dark] .knowledge-qa-page.qa-page .messages-area,[data-theme=dark] .knowledge-qa-page.qa-page .chat-input-area,[data-theme=dark] .knowledge-qa-page.qa-page .history-sidebar,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-main-layout,:root[data-theme=dark] .knowledge-qa-page.qa-page .chat-container,:root[data-theme=dark] .knowledge-qa-page.qa-page .messages-area,:root[data-theme=dark] .knowledge-qa-page.qa-page .chat-input-area,:root[data-theme=dark] .knowledge-qa-page.qa-page .history-sidebar{background:#000}[data-theme=dark] .knowledge-qa-page.qa-page .history-sidebar,:root[data-theme=dark] .knowledge-qa-page.qa-page .history-sidebar{border-color:#242424}[data-theme=dark] .knowledge-qa-page.qa-page .history-sidebar .icon-btn,:root[data-theme=dark] .knowledge-qa-page.qa-page .history-sidebar .icon-btn{background:#111;border-color:#2f2f2f;color:#d9d9d9}[data-theme=dark] .knowledge-qa-page.qa-page .history-sidebar .icon-btn img,[data-theme=dark] .knowledge-qa-page.qa-page .history-img-btn img,:root[data-theme=dark] .knowledge-qa-page.qa-page .history-sidebar .icon-btn img,:root[data-theme=dark] .knowledge-qa-page.qa-page .history-img-btn img{filter:brightness(0) invert(1);opacity:.92}[data-theme=dark] .knowledge-qa-page.qa-page .arrow-icon,:root[data-theme=dark] .knowledge-qa-page.qa-page .arrow-icon{color:#c5ccda}[data-theme=dark] .knowledge-qa-page.qa-page .search-icon,:root[data-theme=dark] .knowledge-qa-page.qa-page .search-icon{color:#9ba4b3}[data-theme=dark] .knowledge-qa-page.qa-page .search-input,:root[data-theme=dark] .knowledge-qa-page.qa-page .search-input{background:#0d0d0d;border-color:#2f2f2f;color:#eef2fb}[data-theme=dark] .knowledge-qa-page.qa-page .search-input::placeholder,:root[data-theme=dark] .knowledge-qa-page.qa-page .search-input::placeholder{color:#8f9cb3}[data-theme=dark] .knowledge-qa-page.qa-page .history-item:hover,:root[data-theme=dark] .knowledge-qa-page.qa-page .history-item:hover{background:#171717}[data-theme=dark] .knowledge-qa-page.qa-page .history-item.active,:root[data-theme=dark] .knowledge-qa-page.qa-page .history-item.active{background:#1f1f1f}[data-theme=dark] .knowledge-qa-page.qa-page .history-title,:root[data-theme=dark] .knowledge-qa-page.qa-page .history-title{color:#dbe3f1}[data-theme=dark] .knowledge-qa-page.qa-page .dots-icon,[data-theme=dark] .knowledge-qa-page.qa-page .action-item,:root[data-theme=dark] .knowledge-qa-page.qa-page .dots-icon,:root[data-theme=dark] .knowledge-qa-page.qa-page .action-item{color:#b8c2d4}[data-theme=dark] .knowledge-qa-page.qa-page .action-item:hover,:root[data-theme=dark] .knowledge-qa-page.qa-page .action-item:hover{background:#2a2a2a;color:#fff}[data-theme=dark] .knowledge-qa-page.qa-page .action-dropdown,:root[data-theme=dark] .knowledge-qa-page.qa-page .action-dropdown{background:#111;border-color:#2f2f2f;box-shadow:0 8px 20px #00000059}[data-theme=dark] .knowledge-qa-page.qa-page .more-options-trigger,:root[data-theme=dark] .knowledge-qa-page.qa-page .more-options-trigger{color:#b8c2d4}[data-theme=dark] .knowledge-qa-page.qa-page .more-options-trigger:hover,:root[data-theme=dark] .knowledge-qa-page.qa-page .more-options-trigger:hover{background:#2a2a2a;color:#fff}[data-theme=dark] .knowledge-qa-page.qa-page .dots-ellipsis,:root[data-theme=dark] .knowledge-qa-page.qa-page .dots-ellipsis{color:currentColor}[data-theme=dark] .knowledge-qa-page.qa-page .empty-state,:root[data-theme=dark] .knowledge-qa-page.qa-page .empty-state{color:#8e99ad}[data-theme=dark] .knowledge-qa-page.qa-page .ai .msg-text,:root[data-theme=dark] .knowledge-qa-page.qa-page .ai .msg-text{background:#0d0d0d;border:1px solid #2c2c2c;color:#e6edf7}[data-theme=dark] .knowledge-qa-page.qa-page .user .msg-text,:root[data-theme=dark] .knowledge-qa-page.qa-page .user .msg-text{background:#1859d6;color:#fff}[data-theme=dark] .knowledge-qa-page.qa-page .qa-md-body,[data-theme=dark] .knowledge-qa-page.qa-page .qa-md-body :where(p,li,blockquote,strong,em,h1,h2,h3,h4,h5,h6),:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-md-body,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-md-body :where(p,li,blockquote,strong,em,h1,h2,h3,h4,h5,h6){color:#e4ecfa}[data-theme=dark] .knowledge-qa-page.qa-page .qa-md-body a,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-md-body a{color:#9cc7ff}[data-theme=dark] .knowledge-qa-page.qa-page .qa-markdown code,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-markdown code{background:#141414;color:#dce9ff}[data-theme=dark] .knowledge-qa-page.qa-page .qa-markdown th,[data-theme=dark] .knowledge-qa-page.qa-page .qa-markdown td,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-markdown th,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-markdown td{background:#101010;border-color:#323232;color:#dce5f5}[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-block,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-block{background:#0b0b0b;border-color:#2f2f2f}[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-summary,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-summary{color:#b8c2d4}[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-block:not(.is-collapsed) .qa-code-summary,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-block:not(.is-collapsed) .qa-code-summary{border-bottom-color:#2f2f2f}[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-copy-btn,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-copy-btn{background:#131313;border-color:#2f2f2f;color:#d4ddec}[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-copy-btn:hover,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-copy-btn:hover{border-color:#4a4a4a;color:#fff}[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-toggle-btn,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-toggle-btn{background:#131313;border-color:#2f2f2f;color:#d4ddec}[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-toggle-btn:hover,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-toggle-btn:hover{border-color:#4a4a4a;color:#fff}[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-block.is-collapsible.is-collapsed .hljs-container:after,:root[data-theme=dark] .knowledge-qa-page.qa-page .qa-code-block.is-collapsible.is-collapsed .hljs-container:after{background:linear-gradient(to bottom,#0000,#0b0b0b)}[data-theme=dark] .knowledge-qa-page.qa-page .pill-btn,:root[data-theme=dark] .knowledge-qa-page.qa-page .pill-btn{background:#111;border-color:#2f2f2f;color:#c5cede}[data-theme=dark] .knowledge-qa-page.qa-page .pill-btn--on,:root[data-theme=dark] .knowledge-qa-page.qa-page .pill-btn--on{background:#22c55e33;border-color:#4ade8073;color:#86efac}[data-theme=dark] .knowledge-qa-page.qa-page .select-label,:root[data-theme=dark] .knowledge-qa-page.qa-page .select-label{color:#adb7ca}[data-theme=dark] .knowledge-qa-page.qa-page .select-trigger,:root[data-theme=dark] .knowledge-qa-page.qa-page .select-trigger{background:#111;border-color:#2f2f2f}[data-theme=dark] .knowledge-qa-page.qa-page .trigger-text,:root[data-theme=dark] .knowledge-qa-page.qa-page .trigger-text{color:#e7edf9}[data-theme=dark] .knowledge-qa-page.qa-page .select-options-list,:root[data-theme=dark] .knowledge-qa-page.qa-page .select-options-list{background:#111;border-color:#2f2f2f}[data-theme=dark] .knowledge-qa-page.qa-page .select-options-list li,:root[data-theme=dark] .knowledge-qa-page.qa-page .select-options-list li{color:#c7d1e2}[data-theme=dark] .knowledge-qa-page.qa-page .select-options-list li:hover,:root[data-theme=dark] .knowledge-qa-page.qa-page .select-options-list li:hover{background:#202020;color:#fff}[data-theme=dark] .knowledge-qa-page.qa-page .input-box--stacked,:root[data-theme=dark] .knowledge-qa-page.qa-page .input-box--stacked{background:#212121;border-color:#454545}[data-theme=dark] .knowledge-qa-page.qa-page .chat-input-area .icon-btn,:root[data-theme=dark] .knowledge-qa-page.qa-page .chat-input-area .icon-btn{background:#212121;border-color:#4d4d4d;color:#f2f2f2}[data-theme=dark] .knowledge-qa-page.qa-page .send-btn,:root[data-theme=dark] .knowledge-qa-page.qa-page .send-btn{background:#2563eb}[data-theme=dark] .knowledge-qa-page.qa-page .send-btn img,:root[data-theme=dark] .knowledge-qa-page.qa-page .send-btn img{filter:brightness(0) invert(1)}[data-theme=dark] .knowledge-qa-page.qa-page .msg-image-container,:root[data-theme=dark] .knowledge-qa-page.qa-page .msg-image-container{border-color:#ffffff24;box-shadow:0 4px 16px #0006}[data-theme=dark] .knowledge-qa-page.qa-page .msg-image-download-icon,:root[data-theme=dark] .knowledge-qa-page.qa-page .msg-image-download-icon{background:#ffffff14;border-color:#ffffff2e;color:#ffffffe6}[data-theme=dark] .knowledge-qa-page.qa-page .preview-item,:root[data-theme=dark] .knowledge-qa-page.qa-page .preview-item{background:#101010;border-color:#2c2c2c}[data-theme=dark] .knowledge-qa-page.qa-page .message-wrapper.user .copy-success-capsule,:root[data-theme=dark] .knowledge-qa-page.qa-page .message-wrapper.user .copy-success-capsule{background:#ffffff24;border-color:#fff3}.image-zoom-overlay,.full-screen-preview{position:fixed;inset:0;background:#000000eb;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.image-zoom-overlay .zoom-container,.full-screen-preview .zoom-container{display:flex;flex-direction:column;align-items:center;max-width:90vw}.image-zoom-overlay .zoom-container img,.full-screen-preview .zoom-container img,.full-screen-preview .zoom-img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px;box-shadow:0 0 30px #00000080}.image-zoom-overlay .zoom-close-hint,.full-screen-preview .zoom-close-hint{color:#ffffff8c;margin-top:20px;font-size:14px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tools-page{max-width:800px;margin:0 auto;padding:32px 24px}.tools-page__title{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--color-text-primary)}.tools-page__subtitle{font-size:14px;color:var(--color-text-muted);margin:0 0 24px;line-height:1.5}.image-bed-page.tools-page{max-width:1280px;padding-top:20px}.image-bed-split{display:grid;grid-template-columns:minmax(380px,460px) minmax(0,1fr);gap:22px;align-items:start}@media(max-width:960px){.image-bed-split{grid-template-columns:1fr}}.image-bed-upload-pane{position:sticky;top:12px}@media(max-width:960px){.image-bed-upload-pane{position:static}}.image-bed-page-title{font-size:20px;font-weight:600;margin:0 0 6px;color:var(--color-text-primary)}.image-bed-page-lead{font-size:13px;color:var(--color-text-muted);margin:0 0 18px;line-height:1.45}.image-bed-upload-pane .image-bed-dropzone{min-height:300px;padding:48px 20px;display:flex;align-items:center;justify-content:center}.image-bed-list-pane{min-width:0;display:flex;flex-direction:column;gap:12px}.image-bed-toolbar{background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a;padding:12px 16px}.image-bed-toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.image-bed-filter-box{display:flex;align-items:center;gap:10px;flex:0 0 auto;flex-shrink:0}.image-bed-filter-select-wrap{flex:0 0 108px;width:108px;min-width:108px;max-width:108px;box-sizing:border-box}.image-bed-filter-unit{flex-shrink:0;min-width:1.25em;font-size:14px;font-weight:600;color:var(--color-text-primary);-webkit-user-select:none;user-select:none}.image-bed-toolbar-count{margin-left:auto;font-size:13px;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;padding-bottom:4px}.image-bed-list-shell{background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a;padding:0;min-height:200px;max-height:min(560px,100vh - 140px);display:flex;flex-direction:column;overflow:hidden}@media(max-width:960px){.image-bed-list-shell{max-height:none}}.image-bed-list-scroll-inner{flex:1;min-height:0;overflow:auto;padding:0 12px 12px}.image-bed-card--upload{margin-bottom:0}.image-bed-error{color:var(--color-danger, #c0392b);font-size:13px;margin:0;padding:12px 16px}.image-bed-empty{padding:40px 16px;text-align:center;color:var(--color-text-muted);font-size:14px}.image-bed-table{table-layout:fixed;width:100%;border-collapse:collapse;font-size:13px}.image-bed-table__th{position:sticky;top:0;z-index:1;text-align:left;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);padding:10px 8px;white-space:nowrap}.image-bed-table__th--thumb{width:56px}.image-bed-table__th--time{width:124px;max-width:124px;white-space:nowrap}.image-bed-table__th--url{width:auto}.image-bed-table__th--size{width:76px;max-width:76px}.image-bed-table__td--size{width:76px;max-width:76px;font-size:12px;color:var(--color-text-muted);white-space:nowrap}.image-bed-table__th--act,.image-bed-table__td--act{width:52px;max-width:52px;text-align:center}.image-bed-table__row{border-bottom:1px solid var(--color-border)}.image-bed-table__row:last-child{border-bottom:none}.image-bed-table__row:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.image-bed-table__td{padding:8px;vertical-align:middle;color:var(--color-text-primary)}.image-bed-table__td--thumb{width:56px}.image-bed-thumb-preview{position:relative;display:block;width:44px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:4px;overflow:hidden;background:var(--color-bg-subtle);cursor:zoom-in;transition:all .15s ease}.image-bed-thumb-preview img{display:block;width:100%;height:100%;object-fit:cover}.image-bed-thumb-preview__glass{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:color-mix(in srgb,#0f172a 42%,transparent);opacity:0;transition:opacity .15s ease;pointer-events:none}.image-bed-thumb-preview:hover .image-bed-thumb-preview__glass,.image-bed-thumb-preview:focus-visible .image-bed-thumb-preview__glass{opacity:1}.image-bed-thumb-preview:hover{border-color:var(--color-primary)}.image-bed-thumb-preview:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.image-bed-table__td--time{width:124px;max-width:124px;font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.image-bed-table__td--url{min-width:0}.image-bed-table__url-input{width:100%;max-width:100%;box-sizing:border-box;font-size:11px;font-family:SF Mono,Cascadia Code,Consolas,monospace;padding:5px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text-muted)}.image-bed-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.image-bed-icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg)}.image-bed-more-wrap{display:flex;justify-content:center;padding:12px 0 8px}.image-bed-card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a;padding:24px}.image-bed-dropzone{border:2px dashed var(--color-border);border-radius:8px;padding:40px 24px;text-align:center;cursor:default;transition:all .15s ease;background:var(--color-bg-elevated)}.image-bed-dropzone.is-dragover{border-color:var(--color-primary);background:var(--color-primary-bg)}.image-bed-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.image-bed-dropzone-text{font-size:15px;color:var(--color-text-primary)}.image-bed-dropzone-hint{font-size:13px;color:var(--color-text-muted)}.image-bed-actions{display:flex;justify-content:center;margin-top:16px;gap:8px}.image-bed-doc-panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border);max-width:100%}.image-bed-doc-panel__title{font-size:17px;font-weight:600;margin:0 0 16px;color:var(--color-text-primary)}.image-bed-doc-loading{padding:20px 0;font-size:14px;color:var(--color-text-muted)}.image-bed-doc-error{margin:0;font-size:14px;color:var(--color-danger, #c0392b)}.typora-doc-md{font-size:14px;line-height:1.65;color:var(--color-text-primary)}.typora-doc-md h1,.typora-doc-md h2,.typora-doc-md h3{margin:1.1em 0 .5em;font-weight:700;color:var(--color-text-primary);line-height:1.35}.typora-doc-md h1{font-size:1.35rem}.typora-doc-md h2{font-size:1.15rem}.typora-doc-md h3{font-size:1.05rem}.typora-doc-md p{margin:.65em 0;color:var(--color-text-secondary)}.typora-doc-md ul,.typora-doc-md ol{margin:.5em 0 .75em;padding-left:1.35em;color:var(--color-text-secondary)}.typora-doc-md li{margin:.25em 0}.typora-doc-md pre{margin:0;padding:14px 16px;border-radius:8px;background:var(--color-bg-subtle, #f6f8fa);overflow-x:auto;font-size:13px;line-height:1.55;border:1px solid var(--color-border)}.typora-doc-md pre:has(>code.hljs){padding:0;background:transparent}.typora-doc-md pre code.hljs{display:block;padding:14px 16px;font-size:13px;line-height:1.55;border-radius:8px;overflow-x:auto}.typora-doc-md code{font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace}.typora-doc-md p code,.typora-doc-md li code{background:var(--color-bg-subtle, #f0f0f0);padding:2px 6px;border-radius:4px;font-size:.9em;border:1px solid var(--color-border)}.typora-doc-md a{color:var(--color-primary);text-decoration:none}.typora-doc-md a:hover{text-decoration:underline}.typora-doc-md blockquote{margin:.75em 0;padding:8px 14px;border-left:3px solid var(--color-border);color:var(--color-text-muted);background:var(--color-bg-elevated);border-radius:0 8px 8px 0}.typora-doc-md img{display:block;max-width:min(100%,784px);width:auto;height:auto;max-height:min(59vh,644px);margin:.45em auto .45em 0;object-fit:contain;border-radius:4px;border:1px solid var(--color-border);cursor:zoom-in;transition:border-color .15s,box-shadow .15s}.typora-doc-md img:hover{border-color:var(--color-primary);box-shadow:0 3px 14px color-mix(in srgb,var(--color-primary) 16%,transparent)}.typora-doc-md__img-row{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-start;justify-content:flex-start;margin:.5em 0;width:100%}.typora-doc-md__img-row>p{margin:0;flex:1 1 224px;max-width:min(504px,100%)}.typora-doc-md__img-row img{width:100%;max-width:100%;max-height:min(56vh,336px);margin:0}.image-bed-codefence{margin:.85em 0;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-elevated);overflow:hidden}.image-bed-codefence__toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:8px 10px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.image-bed-codefence__meta{margin-right:auto;font-size:12px;font-weight:600;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.image-bed-codefence__toggle{padding:4px 12px;font-size:12px;font-weight:600;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.image-bed-codefence__toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.image-bed-codefence__dl{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.image-bed-codefence__dl:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg)}.image-bed-codefence__dl svg{display:block}.image-bed-codefence__scroll{overflow:hidden;transition:max-height .25s ease}.image-bed-codefence.is-collapsed .image-bed-codefence__scroll{max-height:31em}.image-bed-codefence:not(.is-collapsed) .image-bed-codefence__scroll{max-height:none}.image-bed-codefence pre{border:none;border-radius:0;background:transparent;padding:0}.image-bed-codefence pre code.hljs{border-radius:0}.image-bed-preview-lightbox{position:fixed;inset:0;z-index:20010;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:color-mix(in srgb,#0f172a 78%,transparent);cursor:zoom-out;animation:image-bed-preview-lb-in .2s ease}@keyframes image-bed-preview-lb-in{0%{opacity:0}to{opacity:1}}.image-bed-preview-lightbox__img{max-width:min(96vw,1400px);max-height:min(92vh,900px);width:auto;height:auto;object-fit:contain;border-radius:8px;cursor:default;box-shadow:0 16px 56px #00000073}.image-bed-preview-lightbox__close{position:absolute;top:14px;right:14px;z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid color-mix(in srgb,#fff 35%,transparent);border-radius:9999px;font-size:26px;line-height:1;color:#fff;background:color-mix(in srgb,#000 35%,transparent);cursor:pointer;transition:all .15s ease}.image-bed-preview-lightbox__close:hover{background:color-mix(in srgb,#000 55%,transparent);border-color:color-mix(in srgb,#fff 55%,transparent)}.tool-shell{display:flex;flex-direction:row;flex:1;align-items:stretch;min-width:0;min-height:0;overflow:hidden}.tool-shell-body{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;align-items:stretch}.tool-shell__main{flex:1;min-width:0;min-height:0;overflow:auto}.tool-sub-nav{width:88px;flex-shrink:0;background:var(--color-bg-card);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;align-items:stretch;padding:20px 8px 24px;gap:6px;overflow-y:auto}.tool-sub-nav__item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:none;border-radius:12px;background:transparent;cursor:pointer;color:var(--color-text-muted);font-family:inherit;font-size:11px;line-height:1.2;text-align:center;transition:color .15s,background .15s}.tool-sub-nav__item:hover{color:var(--color-text-secondary);background:var(--color-bg-elevated)}.tool-sub-nav__item--active{color:var(--color-primary);font-weight:600;background:var(--color-primary-bg)}.tool-sub-nav__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.tool-sub-nav__label{white-space:nowrap}@media(max-width:640px){.tool-sub-nav{width:100%;height:56px;flex-direction:row;padding:0;border-right:none;border-top:1px solid var(--color-border-light);position:fixed;bottom:0;left:0;right:0;z-index:300;justify-content:space-around;align-items:stretch;gap:0;overflow:visible}.tool-sub-nav__item{flex:1;padding:4px 2px;border-radius:0;gap:3px;height:56px;justify-content:center}.tool-sub-nav__label{font-size:10px}.tool-shell__main{padding-bottom:56px}.tools-page{padding:16px 12px 20px}.image-bed-page.tools-page{padding-top:12px}.image-bed-split{gap:12px}.image-bed-upload-pane .image-bed-dropzone{min-height:140px;padding:16px}.image-bed-dropzone-hint{display:none}.image-bed-page-title{font-size:18px}.image-bed-toolbar{padding:10px 8px}.image-bed-toolbar-filters{flex-wrap:wrap;gap:8px}.image-bed-filter-box{flex:1 1 calc(33.33% - 8px);min-width:0}.image-bed-filter-select-wrap{flex:1;width:auto;min-width:0;max-width:none}.image-bed-toolbar-count{width:100%;margin-left:0;text-align:right}.image-bed-table__th--time,.image-bed-table__td--time,.image-bed-table__th--size,.image-bed-table__td--size{display:none}.image-bed-table__th--thumb{width:44px}.image-bed-table__td{padding:6px 4px}.image-bed-table__url-input{font-size:10px;padding:4px;height:28px}.image-bed-doc-panel{margin:12px 0 0;padding:16px}.image-bed-codefence pre,.image-bed-codefence code{white-space:pre-wrap;word-break:break-all;font-size:11px}.typora-doc-md{font-size:13px}.typora-doc-md__img-row{flex-direction:column}.typora-doc-md__img-row p{max-width:100%}.class-diagram-page{padding:12px 12px 20px}.class-diagram-card{padding:16px}}[data-theme=dark] .image-bed-toolbar,[data-theme=dark] .image-bed-list-shell,[data-theme=dark] .image-bed-card,[data-theme=dark] .image-bed-codefence{background:#050505;border-color:var(--color-border-light);box-shadow:none}[data-theme=dark] .image-bed-table__th,[data-theme=dark] .image-bed-codefence__toolbar{background:#090909}[data-theme=dark] .image-bed-table__row:hover{background:#60a5fa14}[data-theme=dark] .image-bed-thumb-preview,[data-theme=dark] .image-bed-table__url-input,[data-theme=dark] .image-bed-icon-btn,[data-theme=dark] .image-bed-dropzone,[data-theme=dark] .image-bed-codefence__toggle,[data-theme=dark] .image-bed-codefence__dl,[data-theme=dark] .typora-doc-md blockquote{background:#050505;border-color:var(--color-border)}[data-theme=dark] .image-bed-dropzone.is-dragover{background:var(--color-primary-bg)}[data-theme=dark] .typora-doc-md pre,[data-theme=dark] .typora-doc-md p code,[data-theme=dark] .typora-doc-md li code,[data-theme=dark] .typora-doc-md pre code.hljs,[data-theme=dark] .image-bed-codefence pre code.hljs{background:#0b1220;color:var(--color-text-secondary)}[data-theme=dark] .typora-doc-md img{background:#050505}[data-theme=dark] .hljs-comment,[data-theme=dark] .hljs-quote{color:#8b949e}[data-theme=dark] .hljs-keyword,[data-theme=dark] .hljs-selector-tag,[data-theme=dark] .hljs-subst{color:#ff7b72}[data-theme=dark] .hljs-string,[data-theme=dark] .hljs-doctag{color:#a5d6ff}[data-theme=dark] .hljs-title,[data-theme=dark] .hljs-section,[data-theme=dark] .hljs-selector-id{color:#d2a8ff}[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-literal,[data-theme=dark] .hljs-variable,[data-theme=dark] .hljs-template-variable,[data-theme=dark] .hljs-attr{color:#79c0ff}.class-diagram-page{max-width:1040px}.class-diagram-card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a;padding:20px 22px;margin-bottom:20px}.class-diagram-dropzone{border:2px dashed var(--color-border);border-radius:8px;padding:28px 18px;text-align:center;background:var(--color-bg-elevated);transition:all .15s ease}.class-diagram-dropzone.is-dragover{border-color:var(--color-primary);background:var(--color-primary-bg)}.class-diagram-dropzone__text{margin:0 0 8px;font-size:15px;color:var(--color-text-primary);word-break:break-all}.class-diagram-dropzone__hint{margin:0;font-size:13px;color:var(--color-text-muted)}.class-diagram-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.class-diagram-output{display:flex;flex-direction:column;gap:14px}.class-diagram-downloads{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.class-diagram-no-preview{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-muted)}.class-diagram-fence{background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a;padding:0;overflow:hidden}.class-diagram-fence__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 8px 14px;background:var(--color-bg-subtle, #f0f2f5);border-bottom:1px solid var(--color-border)}.class-diagram-fence__lang{flex-shrink:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:lowercase;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.class-diagram-fence__tabs{display:inline-flex;align-items:center;gap:4px;padding:2px}.class-diagram-fence__tab{padding:6px 18px;font-size:14px;font-weight:500;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.class-diagram-fence__tab:hover:not(:disabled){color:var(--color-text-primary)}.class-diagram-fence__tab--active{background:var(--color-bg-elevated, #fff);color:var(--color-text-primary);box-shadow:0 1px 3px #0f172a14}.class-diagram-fence__tab:disabled{opacity:.42;cursor:not-allowed}.class-diagram-fence__body{background:var(--color-bg-elevated, #fff);min-height:200px}.class-diagram-fence__pane{width:100%;max-height:min(60vh,560px);min-height:200px;overflow:auto;box-sizing:border-box;overscroll-behavior:contain}.class-diagram-fence__pane--diagram{padding:12px 14px;background:var(--color-bg-subtle);border-top:none}.class-diagram-fence__diagram{display:block;width:100%;max-width:none;height:auto;margin:0}.class-diagram-fence__diagram-err{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-error, #c0392b)}.class-diagram-fence__diagram-hint{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-muted)}.class-diagram-fence__pane--code{padding:0}.class-diagram-fence__pre{margin:0;padding:14px 16px;min-height:200px;font-size:12px;line-height:1.55;font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;background:var(--color-bg-elevated, #fff)}.class-diagram-fence__pre code.hljs{display:block;padding:0;font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre-wrap;word-break:break-word;background:transparent}[data-theme=dark] .class-diagram-card,[data-theme=dark] .class-diagram-fence{background:#050505;border-color:var(--color-border-light);box-shadow:none}[data-theme=dark] .class-diagram-dropzone,[data-theme=dark] .class-diagram-fence__head,[data-theme=dark] .class-diagram-fence__body,[data-theme=dark] .class-diagram-fence__pane--diagram,[data-theme=dark] .class-diagram-fence__pre{background:#050505;border-color:var(--color-border)}[data-theme=dark] .class-diagram-dropzone.is-dragover{background:var(--color-primary-bg)}[data-theme=dark] .class-diagram-fence__tab--active{background:#0b1220;box-shadow:none}[data-theme=dark] .class-diagram-fence__pre,[data-theme=dark] .class-diagram-fence__pre code.hljs{background:#0b1220;color:var(--color-text-secondary)}[data-theme=dark] .class-diagram-fence__diagram{background:#fff;border-radius:4px}.role-modal-mask{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;background:#09142a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.role-modal{width:100%;max-width:640px;max-height:min(80vh,720px);display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:12px;background:var(--color-bg-card);border:1px solid var(--color-border-light);box-shadow:0 8px 24px #0f172a1f,0 3px 8px #0f172a12}.role-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.role-modal-header h3{margin:0;font-size:18px;font-weight:700;color:var(--color-text-primary)}.role-modal-close-btn{width:36px;height:36px;background:var(--color-bg-card);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:22px;line-height:1;cursor:pointer;transition:all .15s ease}.role-modal-close-btn:hover{background:var(--color-primary-bg);border-color:var(--color-primary-light);color:var(--color-text-primary)}.role-modal-impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:8px;background:var(--color-primary-bg);border:1px solid var(--color-primary-light);font-size:13px;color:var(--color-text-primary)}.role-modal-search-input{width:100%;box-sizing:border-box;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-primary);font-size:14px;outline:none;transition:all .15s ease}.role-modal-search-input::placeholder{color:var(--color-text-muted)}.role-modal-search-input:focus{border-color:var(--color-primary)}.role-modal-list-wrap{flex:1;min-height:200px;max-height:360px;overflow:auto;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-elevated)}.role-modal-user-row{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px 16px;text-align:left;border:none;border-bottom:1px solid var(--color-border-light);background:transparent;cursor:pointer;transition:all .15s ease}.role-modal-user-row:last-child{border-bottom:none}.role-modal-user-row:hover{background:var(--color-primary-bg)}.role-modal-user-row.active{background:var(--color-primary-bg);border-left:3px solid var(--color-primary);padding-left:14px}.role-modal-user-avatar{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:9999px;object-fit:cover;flex-shrink:0;border:1px solid var(--color-border-light)}.role-modal-user-avatar--initial{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-bg);color:var(--color-primary);font-size:13px;font-weight:700}.role-modal-user-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.role-modal-user-name{font-weight:600;font-size:14px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-modal-user-email{font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-modal-user-meta{flex-shrink:0;font-size:12px;color:var(--color-text-secondary);white-space:nowrap;margin-left:auto}.role-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;padding-top:4px}.role-modal-plain-btn,.role-modal-primary-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.role-modal-plain-btn{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-primary)}.role-modal-plain-btn:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary-light)}.role-modal-plain-btn:disabled{opacity:.6;cursor:not-allowed}.role-modal-primary-btn{border:1px solid transparent;background:var(--color-primary);color:var(--color-text-invert)}.role-modal-primary-btn:hover:not(:disabled){background:var(--color-primary-hover)}.role-modal-primary-btn:disabled{opacity:.65;cursor:not-allowed}.role-modal-empty-tip{padding:16px;font-size:13px;color:var(--color-text-muted);line-height:1.6}:root{--color-primary: #3B82F6;--color-primary-hover: #2563EB;--color-primary-active: #1D4ED8;--color-primary-light: #BFDBFE;--color-primary-bg: #EFF6FF;--color-bg: #F7F8FA;--color-bg-card: #FFFFFF;--color-bg-elevated: #F3F4F6;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-muted: #6B7280;--color-text-link: #2563EB;--color-text-invert: #F9FAFB;--color-border: #D1D5DB;--color-border-light: #E5E7EB;--color-error: #B54040;--color-error-bg: #FAEAEA;--color-success: #4A7C59;--color-success-bg: #EAF4EE;--color-info: #4A6E8B;--color-info-bg: #EAF1F8;--shadow-md: 0 4px 12px rgba(15, 23, 42, .09), 0 2px 4px rgba(15, 23, 42, .05);--header-height: 64px}[data-theme=dark]{--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-primary-active: #2563eb;--color-primary-light: #1d4ed8;--color-primary-bg: #0f1f3a;--color-bg: #000000;--color-bg-card: #000000;--color-bg-elevated: #000000;--color-text-primary: #f9fafb;--color-text-secondary: #d7deea;--color-text-muted: #9aa4b5;--color-text-link: #93c5fd;--color-text-invert: #000000;--color-border: #2b2b2b;--color-border-light: #202020;--color-error: #f87171;--color-error-bg: #2a0f0f;--color-success: #4ade80;--color-success-bg: #0a1f12;--color-info: #93c5fd;--color-info-bg: #0f1f3a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-primary-active: #2563eb;--color-primary-light: #1d4ed8;--color-primary-bg: #0f1f3a;--color-bg: #000000;--color-bg-card: #000000;--color-bg-elevated: #000000;--color-text-primary: #f9fafb;--color-text-secondary: #d7deea;--color-text-muted: #9aa4b5;--color-text-link: #93c5fd;--color-text-invert: #000000;--color-border: #2b2b2b;--color-border-light: #202020;--color-error: #f87171;--color-error-bg: #2a0f0f;--color-success: #4ade80;--color-success-bg: #0a1f12;--color-info: #93c5fd;--color-info-bg: #0f1f3a}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-text-link);text-decoration:none;transition:all .15s ease}a:hover{color:var(--color-primary-hover)}img{max-width:100%;display:block}button,input,select,textarea{font-family:inherit}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;height:40px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-decoration:none;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;height:40px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-decoration:none;outline:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #0f172a17,0 2px 4px #0f172a0d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0f172a0d}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;height:40px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-decoration:none;outline:none}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:#3b82f6;border-color:#3b82f6;background:transparent}.btn-outline:hover:not(:disabled){background:#eff6ff}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;height:40px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-decoration:none;outline:none}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:#374151;border-color:#d1d5db;background:#fff}.btn-ghost:hover:not(:disabled){border-color:#bfdbfe;color:#3b82f6;background:#eff6ff}.btn-sm{height:32px;padding:0 16px;font-size:13px;border-radius:4px}.btn-lg{height:48px;padding:0 32px;font-size:16px;border-radius:12px}.btn-block{width:100%}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:500;color:#374151}.form-group .form-control{width:100%;height:42px;padding:0 16px;background:#f7f8fa;border:1.5px solid #D1D5DB;border-radius:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;color:#111827;transition:all .15s ease;outline:none}.form-group .form-control::placeholder{color:#6b7280}.form-group .form-control:hover{border-color:#bfdbfe}.form-group .form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.form-group textarea.form-control{height:auto;min-height:90px;padding:12px 16px;resize:vertical;line-height:1.6}.form-group .form-error{font-size:12px;color:#b54040}.form-group .form-hint{font-size:12px;color:#6b7280}.card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 1px 4px #0f172a12,0 1px 2px #0f172a0a;padding:24px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;background:#eff6ff;color:#2563eb;border:1px solid #BFDBFE}.divider{border:none;border-top:1px solid #E5E7EB;margin:24px 0}.tag{display:inline-flex;align-items:center;padding:2px 12px;border-radius:9999px;font-size:12px;background:#eff6ff;color:#374151;border:1px solid #D1D5DB}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}@media(max-width:768px){.container{padding:0 16px}}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #BFDBFE;border-top-color:#3b82f6;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-bg-elevated) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:skeleton-wave 1.4s ease infinite;border-radius:4px}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:500;padding:12px 24px;border-radius:9999px;font-size:13px;font-weight:500;box-shadow:0 8px 24px #0f172a1f,0 3px 8px #0f172a12;animation:fadeIn .3s ease}.toast-success{background:#4a7c59;color:#fff}.toast-error{background:#b54040;color:#fff}.toast-info{background:#3b82f6;color:#fff}
