.confirm-overlay[data-v-fc6e963c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.confirm-dialog[data-v-fc6e963c]{width:400px;max-width:100%;padding:28px;background:#fffffffa;border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);transform-origin:center bottom}.confirm-dialog[data-v-fc6e963c]:hover{transform:none;box-shadow:var(--shadow-lg);border-color:var(--glass-border);background:#fffffffa}.confirm-header[data-v-fc6e963c]{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.confirm-icon[data-v-fc6e963c]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;flex-shrink:0;background:var(--primary-light);color:var(--primary);box-shadow:inset 0 0 0 1px #3b6cf41f}.tone-danger .confirm-icon[data-v-fc6e963c]{background:var(--danger-light);color:var(--danger);box-shadow:inset 0 0 0 1px #ef444424}.tone-warning .confirm-icon[data-v-fc6e963c]{background:var(--warning-light);color:var(--warning);box-shadow:inset 0 0 0 1px #f59e0b29}.confirm-copy h3[data-v-fc6e963c]{margin:0 0 6px;font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.35;color:var(--text)}.confirm-message[data-v-fc6e963c]{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.confirm-actions[data-v-fc6e963c]{display:flex;justify-content:flex-end;gap:10px}.confirm-actions .btn[data-v-fc6e963c]{min-width:96px}.btn-confirm-danger[data-v-fc6e963c]{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;box-shadow:0 2px 10px #ef444447}.btn-confirm-danger[data-v-fc6e963c]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 4px 16px #ef444459;transform:translateY(-1px)}.confirm-fade-enter-active[data-v-fc6e963c],.confirm-fade-leave-active[data-v-fc6e963c]{transition:opacity .2s ease}.confirm-fade-enter-active .confirm-dialog[data-v-fc6e963c],.confirm-fade-leave-active .confirm-dialog[data-v-fc6e963c]{transition:opacity .22s ease,transform .22s cubic-bezier(.4,0,.2,1)}.confirm-fade-enter-from[data-v-fc6e963c],.confirm-fade-leave-to[data-v-fc6e963c]{opacity:0}.confirm-fade-enter-from .confirm-dialog[data-v-fc6e963c],.confirm-fade-leave-to .confirm-dialog[data-v-fc6e963c]{opacity:0;transform:translateY(10px) scale(.97)}.layout[data-v-f7f9f222]{display:flex;min-height:100vh}.sidebar-backdrop[data-v-f7f9f222]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:90;animation:fadeIn .2s ease}.sidebar[data-v-f7f9f222]{width:var(--sidebar-width);background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;padding:24px 16px;position:fixed;top:0;left:0;bottom:0;z-index:100;box-shadow:var(--shadow-sm)}.brand[data-v-f7f9f222]{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid var(--border);margin-bottom:20px}.brand-logo[data-v-f7f9f222]{width:42px;height:42px;border-radius:12px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 12px #0a1f4440}.brand-text[data-v-f7f9f222]{flex:1;min-width:0}.brand h1[data-v-f7f9f222]{font-size:17px;font-weight:700;letter-spacing:-.01em}.brand p[data-v-f7f9f222]{font-size:11px;color:var(--text-muted);margin-top:1px}.close-btn[data-v-f7f9f222]{display:none;background:none;border:none;color:var(--text-secondary);padding:6px;border-radius:8px;cursor:pointer;transition:background var(--transition-fast)}.close-btn[data-v-f7f9f222]:hover{background:var(--primary-light);color:var(--primary)}.nav[data-v-f7f9f222]{flex:1;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-item[data-v-f7f9f222]{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:450;color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast);position:relative}.nav-icon[data-v-f7f9f222]{flex-shrink:0;opacity:.7;transition:opacity var(--transition-fast)}.nav-item[data-v-f7f9f222]:hover{background:#3b6cf40f;color:var(--text)}.nav-item:hover .nav-icon[data-v-f7f9f222]{opacity:1}.nav-item.active[data-v-f7f9f222]{background:var(--primary-light);color:var(--primary);font-weight:600}.nav-item.active .nav-icon[data-v-f7f9f222]{opacity:1}.nav-item.active[data-v-f7f9f222]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--primary);border-radius:0 3px 3px 0}.user-panel[data-v-f7f9f222]{width:100%;box-sizing:border-box;padding:10px 0;margin-bottom:8px;border-top:1px solid var(--border)}.user-link[data-v-f7f9f222]{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:10px 12px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.user-link[data-v-f7f9f222]:hover{background:#3b6cf40f}.logout-icon-btn[data-v-f7f9f222]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.logout-icon-btn[data-v-f7f9f222]:hover{background:var(--danger-light);color:var(--danger)}.user-avatar[data-v-f7f9f222]{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.user-info[data-v-f7f9f222]{min-width:0;display:flex;flex-direction:column}.user-name[data-v-f7f9f222]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-scope[data-v-f7f9f222]{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-bar[data-v-f7f9f222]{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;margin-top:auto;transition:background var(--transition)}.status-bar.online[data-v-f7f9f222]{background:var(--success-light);color:var(--success)}.status-bar.offline[data-v-f7f9f222]{background:var(--warning-light);color:var(--warning)}.status-dot[data-v-f7f9f222]{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 2s infinite;margin-left:auto;flex-shrink:0}.main-wrapper[data-v-f7f9f222]{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-width:0}.mobile-header[data-v-f7f9f222]{display:none;align-items:center;gap:12px;padding:12px 16px;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.menu-btn[data-v-f7f9f222]{background:none;border:none;color:var(--text);padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.menu-btn[data-v-f7f9f222]:hover{background:var(--primary-light);color:var(--primary)}.mobile-brand[data-v-f7f9f222]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.mobile-logo[data-v-f7f9f222]{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0}.mobile-title[data-v-f7f9f222]{font-size:16px;font-weight:700}.mobile-status[data-v-f7f9f222]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.mobile-status.online[data-v-f7f9f222]{background:var(--success-light)}.mobile-status.offline[data-v-f7f9f222]{background:var(--warning-light)}.mobile-status .status-dot[data-v-f7f9f222]{margin-left:0}.main[data-v-f7f9f222]{flex:0 1 auto;padding:36px 40px;width:100%;max-width:calc(var(--content-max) + var(--sidebar-width) + 80px)}@media(max-width:1024px){.main[data-v-f7f9f222]{padding:28px 24px}}@media(max-width:768px){.sidebar-backdrop[data-v-f7f9f222]{display:block}.sidebar[data-v-f7f9f222]{transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-lg)}.sidebar.open[data-v-f7f9f222]{transform:translate(0)}.close-btn[data-v-f7f9f222]{display:flex}.main-wrapper[data-v-f7f9f222]{margin-left:0}.mobile-header[data-v-f7f9f222]{display:flex}.main[data-v-f7f9f222]{padding:20px 16px}}.toast-container[data-v-91d818be]{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast[data-v-91d818be]{pointer-events:auto;display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:var(--radius);background:#fffffff0;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);font-size:13px;line-height:1.5;color:var(--text)}.toast-icon[data-v-91d818be]{flex-shrink:0}.toast-message[data-v-91d818be]{flex:1;min-width:0;word-break:break-word}.toast-close[data-v-91d818be]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.toast-close[data-v-91d818be]:hover{background:#0000000f;color:var(--text)}.toast-success .toast-icon[data-v-91d818be]{color:var(--success)}.toast-error .toast-icon[data-v-91d818be]{color:var(--danger)}.toast-warning .toast-icon[data-v-91d818be]{color:var(--warning)}.toast-info .toast-icon[data-v-91d818be],.toast-loading .toast-icon[data-v-91d818be]{color:var(--primary)}.spinning[data-v-91d818be]{animation:spin-91d818be .8s linear infinite}@keyframes spin-91d818be{to{transform:rotate(360deg)}}.toast-enter-active[data-v-91d818be],.toast-leave-active[data-v-91d818be]{transition:all .28s cubic-bezier(.4,0,.2,1)}.toast-enter-from[data-v-91d818be],.toast-leave-to[data-v-91d818be]{opacity:0;transform:translateY(-12px) scale(.96)}.toast-move[data-v-91d818be]{transition:transform .28s cubic-bezier(.4,0,.2,1)}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;flex-wrap:nowrap}.page-btn{flex-shrink:0;height:40px;min-height:40px;padding:0 18px;border-radius:var(--radius-sm);background:#3b6cf414;color:var(--primary);border:1px solid rgba(59,108,244,.15);font-size:13px;font-weight:500;line-height:40px;text-align:center;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.page-btn:not(:disabled):hover{background:#3b6cf41f;border-color:#3b6cf447;box-shadow:0 2px 8px #3b6cf41f}.page-btn:not(:disabled):active{transform:scale(.98)}.page-btn:disabled{opacity:.45;cursor:not-allowed}.page-info{flex-shrink:1;min-width:0;font-size:13px;color:var(--text-secondary);line-height:1.5;text-align:center;white-space:nowrap}.page-jump{flex-shrink:0;padding-left:16px;margin-left:4px;border-left:1px solid rgba(59,108,244,.1)}.page-jump__inner{display:flex;align-items:center;gap:10px;padding:5px 5px 5px 14px;border-radius:999px;background:linear-gradient(145deg,#fffffff5,#f6faffeb);border:1px solid rgba(59,108,244,.12);box-shadow:0 2px 10px #3b6cf40f,inset 0 1px #ffffffd9}.page-jump__label{font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.04em;white-space:nowrap}.page-jump__control{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--radius-sm);background:#3b6cf40d;border:1px solid rgba(59,108,244,.1);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.page-jump__control:focus-within{background:#fffffff2;border-color:#3b6cf452;box-shadow:0 0 0 3px #3b6cf41a}.page-jump__input{width:40px;min-width:0;height:100%;border:none;outline:none;background:transparent;font-size:12px;font-weight:400;color:var(--primary);text-align:center}.page-jump__input::placeholder{color:var(--text-muted)}.page-jump__input:disabled{opacity:.45}.page-jump__range{font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.page-jump__btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;box-shadow:0 2px 8px #3b6cf447;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.page-jump__btn:not(:disabled):hover{transform:scale(1.06);box-shadow:0 4px 14px #3b6cf461}.page-jump__btn:not(:disabled):active{transform:scale(.96)}.page-jump__btn:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}@media(max-width:768px){.pagination{flex-wrap:wrap;gap:12px}.page-jump{padding-left:0;margin-left:0;border-left:none}}@media(max-width:480px){.pagination{flex-direction:column;gap:10px}.page-btn{width:100%;min-height:44px;line-height:44px}.page-info{white-space:normal}.page-jump{width:100%}.page-jump__inner{width:100%;justify-content:center;padding:6px 6px 6px 16px;box-sizing:border-box}.page-jump__control{flex:1;min-width:0;max-width:160px;height:44px;padding:0 12px}.page-jump__input{flex:1;width:auto;min-width:48px}.page-jump__btn{width:44px;height:44px;min-width:44px;min-height:44px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #3b6cf4;--primary-hover: #2d5ae0;--primary-light: rgba(59, 108, 244, .1);--primary-glow: rgba(59, 108, 244, .25);--success: #10b981;--success-light: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .12);--bg: #f0f2f8;--bg-gradient: linear-gradient(135deg, #eef1f8 0%, #f5f0f8 50%, #eef4f8 100%);--card: rgba(255, 255, 255, .92);--card-solid: #ffffff;--glass: rgba(255, 255, 255, .88);--glass-border: rgba(255, 255, 255, .7);--text: #1a1f36;--text-secondary: #64748b;--text-muted: #94a3b8;--border: rgba(148, 163, 184, .25);--border-strong: rgba(148, 163, 184, .4);--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow: 0 4px 16px rgba(15, 23, 42, .06);--shadow-md: 0 8px 32px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 48px rgba(15, 23, 42, .12);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--content-max: 1080px;--blur: blur(12px)}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-gradient);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a,a:hover,a:focus,a:active{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:14px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);padding:24px;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition),background var(--transition)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);background:#fffffffa}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#3b6cf438;background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:500;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);white-space:nowrap;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#5b7ff7 100%);color:#fff;box-shadow:0 2px 8px var(--primary-glow)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary) 100%);box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-outline{background:#ffffffb8;border:1px solid var(--border-strong);color:var(--text)}.btn-outline:hover:not(:disabled){background:#fff;border-color:var(--primary);color:var(--primary);box-shadow:0 2px 10px #3b6cf41f;transform:translateY(-1px)}.btn-outline:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;border:none;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{background:var(--primary-light);color:var(--primary)}.btn-sm{padding:6px 14px;font-size:13px;gap:6px}.btn-danger{color:var(--danger)!important;border-color:#ef44444d!important}.btn-danger:hover{background:var(--danger-light)!important}.form-group{margin-bottom:18px}.form-group label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;margin-bottom:8px;color:var(--text-secondary)}.form-group input,.form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none;background:#ffffffb3;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:#fffffff2}.form-group select,select.native-select{width:100%;padding:10px 36px 10px 14px;border:1px solid rgba(59,108,244,.15);border-radius:var(--radius-sm);outline:none;background:linear-gradient(180deg,#fffffffa,#f8fafceb);color:var(--text);font-size:14px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233b6cf4' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.form-group select:hover,select.native-select:hover{border-color:#3b6cf447;box-shadow:0 0 0 1px #3b6cf40f}.form-group select:focus,select.native-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500;background:var(--primary-light);color:var(--primary);margin-right:4px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px}.badge.ok{background:var(--success-light);color:var(--success)}.badge.warn{background:var(--warning-light);color:var(--warning)}.difficulty{font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px}.difficulty.easy{background:var(--success-light);color:var(--success)}.difficulty.medium{background:var(--warning-light);color:var(--warning)}.difficulty.hard{background:var(--danger-light);color:var(--danger)}.question-level-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;letter-spacing:.05em;padding:3px 9px 3px 6px;border-radius:6px;line-height:1.3;white-space:nowrap}.question-level-badge__mark{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 3px;border-radius:4px;font-size:9px;font-weight:700;line-height:1;flex-shrink:0}.question-level-badge--sub{background:linear-gradient(135deg,#fbbf241f,#f59e0b0d);color:#92400e;border:1px solid rgba(217,119,6,.16);box-shadow:inset 0 1px #ffffff8c}.question-level-badge--sub .question-level-badge__mark{background:linear-gradient(145deg,#fbbf24,#d97706);color:#fff;box-shadow:0 1px 3px #d9770647}.question-level-badge--parent{background:linear-gradient(135deg,#a78bfa24,#7c3aed0d);color:#5b21b6;border:1px solid rgba(124,58,237,.16);box-shadow:inset 0 1px #ffffff8c}.question-level-badge--parent .question-level-badge__mark{background:linear-gradient(145deg,#a78bfa,#7c3aed);color:#fff;box-shadow:0 1px 3px #7c3aed40}.markdown-body{font-size:14px;line-height:1.85;color:var(--text);word-break:break-word}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body .md-p{margin:0 0 .75em}.markdown-body .md-p:last-child{margin-bottom:0}.markdown-body .md-h2{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text);margin:1.25em 0 .5em;padding-bottom:.35em;border-bottom:1px solid var(--border)}.markdown-body .md-h2:first-child{margin-top:0}.markdown-body .md-h3{font-size:15px;font-weight:600;color:var(--text);margin:1em 0 .4em}.markdown-body .md-h3:first-child{margin-top:0}.markdown-body .md-h4{font-size:14px;font-weight:600;color:var(--primary);margin:.85em 0 .35em}.markdown-body .md-h4:first-child{margin-top:0}.markdown-body .md-list{margin:.5em 0 .85em;padding-left:1.4em}.markdown-body .md-list li{margin:.25em 0}.markdown-body .md-quote{margin:.75em 0;padding:.5em .85em;border-left:3px solid rgba(59,108,244,.35);background:#3b6cf40a;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary)}.markdown-body .md-code{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:.9em;padding:.1em .35em;border-radius:4px;background:#0f172a0f;color:#334155}.markdown-body strong{font-weight:600;color:var(--text)}.markdown-body .md-link{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.markdown-body .md-link:hover{color:var(--primary-hover)}.markdown-body .md-table-wrap{overflow-x:auto;margin:.85em 0;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff73}.markdown-body .md-table{width:100%;min-width:480px;border-collapse:collapse;font-size:13px;line-height:1.65}.markdown-body .md-table th,.markdown-body .md-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:9px 12px;text-align:left;vertical-align:top}.markdown-body .md-table th:last-child,.markdown-body .md-table td:last-child{border-right:none}.markdown-body .md-table tbody tr:last-child td{border-bottom:none}.markdown-body .md-table th{background:#3b6cf412;font-weight:600;color:var(--text);white-space:nowrap}.markdown-body .md-table tbody tr:nth-child(2n) td{background:#f8fafca6}.markdown-body--answer .md-h4{color:#047857}.markdown-body--answer strong{color:#065f46}.markdown-body--answer .md-table th{background:#10b9811a}@keyframes keyword-breathe{0%,to{background-color:#fbbf2447;box-shadow:0 0 #fbbf2440}50%{background-color:#fbbf248c;box-shadow:0 0 10px 2px #fbbf244d}}mark.keyword-highlight{color:inherit;padding:0 3px;margin:0 1px;border-radius:4px;animation:keyword-breathe 2.2s ease-in-out infinite}.page-header{margin-bottom:28px}.page-header h2{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.page-header p{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px 18px;margin-bottom:20px}.filter-search{position:relative;flex:1;min-width:160px}.filter-search .filter-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;z-index:1}.filter-bar input{width:100%;min-width:0;min-height:38px;padding:0 12px 0 36px;border:1px solid rgba(59,108,244,.15);border-radius:var(--radius-sm);outline:none;font-size:14px;background:#ffffffb8;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.filter-bar input:hover{border-color:#3b6cf447;box-shadow:0 0 0 1px #3b6cf40f;background:#ffffffe0}.filter-bar input:focus{border-color:#3b6cf459;box-shadow:0 0 0 3px var(--primary-light);background:#fffffff2}.filter-bar input::placeholder{color:var(--text-muted)}.filter-bar .app-select,.panel-filters .app-select{flex-shrink:0}.empty-state{text-align:center;padding:64px 24px;color:var(--text-secondary)}.empty-state .empty-icon{width:56px;height:56px;margin:0 auto 16px;opacity:.35}.empty-state p{margin-bottom:6px}.empty-state .hint{font-size:13px;color:var(--text-muted);margin-bottom:20px}.loading-state{text-align:center;padding:64px 24px;color:var(--text-secondary)}.async-shell{position:relative}.async-shell.is-busy{pointer-events:none}.async-shell.is-busy>.async-overlay{opacity:1;visibility:visible}.async-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:inherit;background:#f8fbffd1;color:var(--text-secondary);font-size:13px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.async-overlay .spinner{width:22px;height:22px;border-width:2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;animation:fadeIn .2s ease}.modal{width:440px;max-width:100%;animation:slideUp .25s ease}.modal h3{font-size:17px;font-weight:600;margin-bottom:8px}.modal .hint{font-size:13px;color:var(--text-secondary);margin-bottom:20px}.modal-actions{display:flex;gap:12px;margin-top:8px}.choice-label,.checkbox-label,.radio-label{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.4;transition:color var(--transition-fast)}.choice-label:hover,.checkbox-label:hover,.radio-label:hover{color:var(--text)}.choice-label input,.checkbox-label input,.radio-label input{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;flex-shrink:0;cursor:pointer;position:relative;border:2px solid rgba(148,163,184,.55);background:linear-gradient(180deg,#fffffffa,#f8fafceb);box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0a;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.choice-label input:hover,.checkbox-label input:hover,.radio-label input:hover{border-color:#3b6cf473;box-shadow:inset 0 1px #fffffff2,0 0 0 4px var(--primary-light)}.choice-label input:focus-visible,.checkbox-label input:focus-visible,.radio-label input:focus-visible{outline:none;border-color:var(--primary);box-shadow:inset 0 1px #fffffff2,0 0 0 4px var(--primary-light)}.choice-label input:active,.checkbox-label input:active,.radio-label input:active{transform:scale(.94)}.choice-label input[type=checkbox],.checkbox-label input[type=checkbox]{width:20px;height:20px;border-radius:6px}.choice-label input[type=checkbox]:checked,.checkbox-label input[type=checkbox]:checked{border-color:transparent;background:linear-gradient(145deg,var(--primary) 0%,#5b7ff7 100%);box-shadow:inset 0 1px #ffffff38,0 2px 10px var(--primary-glow)}.choice-label input[type=checkbox]:checked:after,.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(.6);opacity:0;animation:choiceCheckIn .22s cubic-bezier(.34,1.4,.64,1) forwards}.choice-label input[type=radio],.radio-label input[type=radio]{width:20px;height:20px;border-radius:50%}.choice-label input[type=radio]:checked,.radio-label input[type=radio]:checked{border-color:var(--primary);background:linear-gradient(180deg,#fffffffa,#f8fafceb);box-shadow:inset 0 1px #ffffffe6,0 0 0 4px var(--primary-light),0 2px 8px var(--primary-glow)}.choice-label input[type=radio]:checked:after,.radio-label input[type=radio]:checked:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:linear-gradient(145deg,var(--primary) 0%,#5b7ff7 100%);transform:scale(0);animation:choiceRadioIn .24s cubic-bezier(.34,1.4,.64,1) forwards}.choice-label input:disabled,.checkbox-label input:disabled,.radio-label input:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}@keyframes choiceCheckIn{0%{opacity:0;transform:rotate(45deg) scale(.4)}to{opacity:1;transform:rotate(45deg) scale(1)}}@keyframes choiceRadioIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px;display:flex;align-items:flex-start;gap:10px}.alert-warning{background:var(--warning-light);color:var(--warning);border:1px solid rgba(245,158,11,.2)}.alert-error{background:var(--danger-light);color:var(--danger);border:1px solid rgba(239,68,68,.2)}.alert-success{background:var(--success-light);color:var(--success);border:1px solid rgba(16,185,129,.2)}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.thinking-dots span{animation:blink 1.4s infinite both}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-tooltip{position:fixed;top:0;left:0;z-index:10050;max-width:min(280px,calc(100vw - 16px));padding:6px 10px;border-radius:8px;background:#1a1f36eb;color:#fff;font-size:12px;font-weight:500;line-height:1.45;letter-spacing:.01em;box-shadow:0 8px 24px #0f172a2e;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .12s ease,visibility .12s ease,transform .12s ease;white-space:normal;word-break:break-word}.app-tooltip.is-measuring{opacity:0!important;visibility:hidden!important;transition:none!important}.app-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.app-tooltip[data-placement=bottom]{transform:translateY(-4px)}.app-tooltip[data-placement=bottom].is-visible{transform:translateY(0)}@media(max-width:768px){.page-header h2{font-size:22px}.page-header-row{flex-direction:column}.header-actions{width:100%}.header-actions .btn{flex:1;justify-content:center}.filter-bar{flex-direction:column;align-items:stretch}.filter-search{min-width:unset}.filter-bar .app-select{width:100%}.card{padding:18px}}@media(max-width:480px){.btn{padding:9px 14px;font-size:13px}}
