@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:local("Inter Regular"),local("Inter-Regular"),local("Inter")}@font-face{font-family:Inter;font-style:normal;font-weight:600 700;font-display:swap;src:local("Inter SemiBold"),local("Inter-SemiBold"),local("Inter Medium"),local("Inter-Medium")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:local("JetBrains Mono Regular"),local("JetBrainsMono-Regular"),local("JetBrains Mono")}:root{--brand-ocean: #2496ed;--brand: #1d63ed;--brand-hover: #1557d0;--brand-light: #3b82f6;--brand-bg: rgba(59, 130, 246, .16);--navy: #09101f;--sp-xxs: 2px;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--sp-2xl: 48px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-full: 9999px;--sh-none: none;--sh-sm: 0 1px 2px rgba(0, 0, 0, .05);--sh-md: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--sh-lg: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--sh-xl: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "SF Mono", "Fira Code", Consolas, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 20px;--fs-3xl: 24px;--fs-4xl: 28px;--fw-reg: 400;--fw-med: 500;--fw-sb: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-normal: 1.5;--tr-fast: .15s cubic-bezier(.4, 0, .2, 1);--tr-normal: .2s cubic-bezier(.4, 0, .2, 1);--bg-page: #0b1929;--bg-card: #0d1117;--bg-header: #09101f;--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(29, 99, 237, .15);--bg-input: #0d1117;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .15);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--success: #2ecc71;--success-bg: rgba(46, 204, 113, .12);--danger: #e74c3c;--danger-bg: rgba(231, 76, 60, .12);--warning: #f39c12;--warning-bg: rgba(243, 156, 18, .12);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .12);--sh-card: 0 1px 3px rgba(0, 0, 0, .3);--sh-modal: 0 10px 25px rgba(0, 0, 0, .5);--sidebar-bg: #09101f;--sidebar-text: rgba(255, 255, 255, .65);--sidebar-text-active: #ffffff;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(255, 255, 255, .08)}[data-theme=dark]{--bg-page: #0b1929;--bg-card: #0d1117;--bg-header: #09101f;--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(29, 99, 237, .15);--bg-input: #0d1117;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .15);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--success: #2ecc71;--success-bg: rgba(46, 204, 113, .12);--danger: #e74c3c;--danger-bg: rgba(231, 76, 60, .12);--warning: #f39c12;--warning-bg: rgba(243, 156, 18, .12);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .12);--sh-card: 0 1px 3px rgba(0, 0, 0, .3);--sh-modal: 0 10px 25px rgba(0, 0, 0, .5);--sidebar-bg: #09101f;--sidebar-text: rgba(255, 255, 255, .65);--sidebar-text-active: #ffffff;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(255, 255, 255, .08)}html:root{--bg-page: #0b1929 !important;--bg-card: #0d1117 !important;--bg-header: #09101f !important;--bg-primary: #0b1929 !important;--bg-input: #0d1117 !important;--bg-hover: rgba(255, 255, 255, .06) !important;--bg-active: rgba(29, 99, 237, .15) !important;--border: rgba(255, 255, 255, .08) !important;--border-strong: rgba(255, 255, 255, .15) !important;--text-primary: #f1f5f9 !important;--text-secondary: #94a3b8 !important;--text-muted: #64748b !important;--text-inverse: #0f172a !important;--sidebar-bg: #09101f !important;--sidebar-text: rgba(255, 255, 255, .65) !important;--sidebar-text-active: #ffffff !important;--sidebar-hover: rgba(255, 255, 255, .06) !important;--sidebar-active: rgba(255, 255, 255, .08) !important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}html,body{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--tr-normal),color var(--tr-normal)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit}code,pre,kbd,samp,.mono{font-family:var(--font-mono)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;flex-direction:column;height:100vh}.header{height:52px;background:var(--bg-header);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 var(--sp-md);gap:var(--sp-md);flex-shrink:0;transition:background var(--tr-normal),border-color var(--tr-normal);z-index:100}.header-brand{display:flex;align-items:center;gap:var(--sp-sm);font-weight:var(--fw-bold);font-size:var(--fs-lg);color:var(--text-primary);min-width:168px;text-decoration:none}.header-brand .logo{width:32px;height:32px;background:transparent;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;overflow:hidden}.header-brand .logo img{width:100%;height:100%;object-fit:cover;display:block}.header-brand .logo svg{width:20px;height:20px;fill:#fff}.header-brand .brand-text{font-weight:var(--fw-sb);font-size:var(--fs-lg)}.header-brand .brand-cloud{font-weight:var(--fw-reg);color:var(--text-secondary);font-size:var(--fs-sm)}.search-box{flex:1;max-width:480px;display:flex;align-items:center;gap:var(--sp-sm);height:36px;padding:0 var(--sp-lg) 0 36px;position:relative;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-secondary);font:inherit;font-size:var(--fs-sm);cursor:pointer;text-align:left;transition:border-color var(--tr-fast),background var(--tr-fast),box-shadow var(--tr-fast)}.search-box:hover{background:var(--bg-card);border-color:var(--border-strong)}.search-box:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #1d63ed26}.search-placeholder{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-box .search-icon{position:absolute;left:var(--sp-sm);top:50%;transform:translateY(-50%);color:var(--text-muted);width:18px;height:18px;pointer-events:none}.search-box .kbd{flex-shrink:0;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 6px}.header-actions{display:flex;align-items:center;gap:var(--sp-xs);margin-left:auto}.icon-btn{width:36px;height:36px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--tr-fast),color var(--tr-fast);position:relative}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn svg{width:20px;height:20px}.icon-btn .badge-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:var(--brand);border-radius:var(--r-full);border:2px solid var(--bg-header)}.main{display:flex;flex:1;overflow:hidden;min-height:0}.sidebar{background:var(--sidebar-bg);flex-shrink:0;display:flex;flex-direction:column;padding:var(--sp-sm) 0;overflow-y:auto;overflow-x:hidden;transition:background var(--tr-normal)}.sidebar-section{padding:var(--sp-sm) 0}.sidebar-label{font-size:11px;font-weight:var(--fw-sb);text-transform:uppercase;letter-spacing:.5px;color:#fff6;padding:var(--sp-sm) var(--sp-md) var(--sp-xs)}.sidebar-item{display:flex;align-items:center;gap:var(--sp-sm);padding:0 var(--sp-md);height:40px;color:var(--sidebar-text);font-size:var(--fs-sm);font-weight:var(--fw-med);text-decoration:none;position:relative;transition:color var(--tr-fast),background var(--tr-fast);border-left:3px solid transparent;cursor:pointer;width:100%;text-align:left;flex-shrink:0}.sidebar-item:hover{color:var(--sidebar-text-active);background:var(--sidebar-hover)}.sidebar-item.active{color:var(--sidebar-text-active);background:var(--sidebar-active);border-left-color:var(--brand)}.sidebar-item svg{width:20px;height:20px;flex-shrink:0}.sidebar-item .count{margin-left:auto;font-size:11px;background:#ffffff1a;color:#ffffffb3;padding:1px 7px;border-radius:var(--r-full);font-weight:var(--fw-med)}.sidebar-divider{height:1px;background:#ffffff14;margin:var(--sp-xs) var(--sp-md)}.version-footer{margin-top:auto;padding:var(--sp-sm) var(--sp-md);font-size:11px;color:#ffffff59;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:var(--sp-xs);font-family:var(--font-mono)}.version-footer .dot{width:8px;height:8px;background:var(--success);border-radius:var(--r-full)}.resizer{width:5px;flex-shrink:0;cursor:col-resize;background:var(--border);transition:background var(--tr-fast)}.resizer:hover,.resizer.dragging{background:var(--brand)}.content{flex:1;min-width:0;overflow-y:auto;padding:var(--sp-lg) var(--sp-xl)}.page-header{margin-bottom:var(--sp-lg)}.page-title{font-size:var(--fs-3xl);font-weight:var(--fw-sb);color:var(--text-primary);line-height:var(--lh-tight)}.page-subtitle{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--sp-xs)}.breadcrumb{display:flex;align-items:center;gap:var(--sp-xs);font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:var(--sp-sm)}.breadcrumb a{color:var(--text-secondary);text-decoration:none}.breadcrumb a:hover{color:var(--brand)}.breadcrumb .sep{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);box-shadow:var(--sh-card);transition:border-color var(--tr-fast),box-shadow var(--tr-fast),background var(--tr-normal)}[data-theme=dark] .card{background:linear-gradient(180deg,#131b2e,#0d1117)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-md)}.card-title{font-size:var(--fs-xl);font-weight:var(--fw-sb);color:var(--text-primary)}.card-actions{display:flex;gap:var(--sp-xs)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-md);margin-bottom:var(--sp-lg)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-md) var(--sp-lg);display:flex;align-items:center;gap:var(--sp-md);transition:border-color var(--tr-fast),box-shadow var(--tr-fast),transform var(--tr-fast);cursor:pointer}[data-theme=dark] .stat-card{background:linear-gradient(180deg,#131b2e,#0d1117)}.stat-card:hover{border-color:var(--brand);box-shadow:var(--sh-md);transform:translateY(-1px)}.stat-icon{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:22px;height:22px}.stat-icon.blue{background:var(--info-bg);color:var(--brand)}.stat-icon.green{background:var(--success-bg);color:var(--success)}.stat-icon.orange{background:var(--warning-bg);color:var(--warning)}.stat-icon.red{background:var(--danger-bg);color:var(--danger)}.stat-info{flex:1;min-width:0}.stat-value{font-size:var(--fs-3xl);font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.1}.stat-label{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:2px;text-transform:uppercase;letter-spacing:.3px;font-weight:var(--fw-med)}.btn,.btn-primary,.btn-secondary,.btn-text,.btn-success,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-xs);height:36px;padding:0 var(--sp-md);font-size:var(--fs-sm);font-weight:var(--fw-med);border-radius:var(--r-sm);border:1px solid transparent;transition:background var(--tr-fast),color var(--tr-fast),border-color var(--tr-fast),box-shadow var(--tr-fast);white-space:nowrap;text-decoration:none;line-height:1;cursor:pointer;background:transparent;color:var(--text-primary);-webkit-user-select:none;user-select:none}.btn svg{width:18px;height:18px}.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-text:focus-visible,.btn-success:focus-visible,.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 3px #1d63ed26}.btn-sm{height:28px;padding:0 var(--sp-sm);font-size:var(--fs-xs)}.btn-lg{height:42px;padding:0 var(--sp-lg);font-size:var(--fs-base)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover);box-shadow:var(--sh-sm)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn-text{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-text:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{filter:brightness(.9)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.9)}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-text:disabled,.btn-success:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-group{display:flex;gap:var(--sp-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--sp-sm);font-size:var(--fs-xs);font-weight:var(--fw-med);border-radius:var(--r-sm);line-height:1.6}.badge:before{content:"";width:6px;height:6px;border-radius:var(--r-full);flex-shrink:0}.badge-success{background:var(--success-bg);color:var(--success)}.badge-success:before{background:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-danger:before{background:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-warning:before{background:var(--warning)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-info:before{background:var(--info)}.badge-neutral{background:var(--bg-hover);color:var(--text-secondary)}.badge-neutral:before{background:var(--text-muted)}.badge-plain{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:1px var(--sp-sm)}.form-group{margin-bottom:var(--sp-md)}.form-label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--text-primary);margin-bottom:var(--sp-xs)}.form-hint{font-size:var(--fs-xs);color:var(--text-muted);margin-top:var(--sp-xs)}.input{width:100%;height:40px;padding:0 var(--sp-sm) 0 36px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--fs-sm);outline:none;transition:border-color var(--tr-fast),box-shadow var(--tr-fast)}.input-noicon{padding-left:var(--sp-sm)}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1d63ed26}.input-sm{height:32px;font-size:var(--fs-xs)}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:var(--sp-sm);top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted)}textarea.input{height:auto;padding:var(--sp-sm);min-height:80px;resize:vertical;font-family:var(--font-sans)}select.input{padding-right:var(--sp-lg);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.select-wrap{position:relative}.select-wrap:after{content:"";position:absolute;right:var(--sp-sm);top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-muted);pointer-events:none}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}[data-theme=dark] .table-wrap{background:linear-gradient(180deg,#131b2e,#0d1117)}.table{width:100%;border-collapse:collapse}.table thead th{text-align:left;padding:var(--sp-sm) var(--sp-md);font-size:11px;font-weight:var(--fw-sb);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg-hover);border-bottom:1px solid var(--border)}.table tbody td{padding:var(--sp-sm) var(--sp-md);font-size:var(--fs-sm);border-bottom:1px solid var(--border);color:var(--text-primary);height:48px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--tr-fast)}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr.selected{background:var(--bg-active)}.table .cell-name{display:flex;align-items:center;gap:var(--sp-sm);font-weight:var(--fw-med)}.table .cell-name .item-icon{width:32px;height:32px;border-radius:var(--r-sm);background:var(--info-bg);color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}.table .cell-name .item-icon svg{width:16px;height:16px}.table .cell-meta{font-size:var(--fs-xs);color:var(--text-muted);font-family:var(--font-mono)}.table .cell-actions{text-align:right;white-space:nowrap}.table .cell-actions .icon-btn{width:32px;height:32px;opacity:0;transition:opacity var(--tr-fast)}.table tbody tr:hover .cell-actions .icon-btn{opacity:1}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:var(--sp-lg)}.tab{padding:var(--sp-sm) var(--sp-md);font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--text-secondary);border-bottom:2px solid transparent;transition:color var(--tr-fast),border-color var(--tr-fast);background:none;cursor:pointer}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.toggle{position:relative;width:40px;height:22px;background:var(--border-strong);border-radius:var(--r-full);cursor:pointer;transition:background var(--tr-fast);flex-shrink:0}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:var(--r-full);transition:transform var(--tr-fast);box-shadow:0 1px 3px #0003}.toggle.on{background:var(--brand)}.toggle.on:after{transform:translate(18px)}.section-title{font-size:var(--fs-2xl);font-weight:var(--fw-sb);color:var(--text-primary);margin:var(--sp-xl) 0 var(--sp-md);padding-bottom:var(--sp-sm);border-bottom:1px solid var(--border)}.section-title:first-child{margin-top:0}.toast{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--success);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-primary);box-shadow:var(--sh-lg);margin-top:var(--sp-md)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}.toast.info{border-left-color:var(--brand)}.empty-state{text-align:center;padding:var(--sp-2xl) var(--sp-xl);color:var(--text-secondary)}.empty-state svg{width:64px;height:64px;color:var(--text-muted);margin-bottom:var(--sp-md)}.empty-state .empty-title{font-size:var(--fs-lg);font-weight:var(--fw-sb);color:var(--text-primary);margin-bottom:var(--sp-xs)}.empty-state .empty-desc{font-size:var(--fs-sm);margin-bottom:var(--sp-md)}.code-block{font-family:var(--font-mono);font-size:var(--fs-xs);background:#0d1117;color:#e6edf3;border-radius:var(--r-md);padding:var(--sp-md);overflow-x:auto;line-height:1.6;border:1px solid rgba(255,255,255,.08)}.code-block .kw{color:#ff7b72}.code-block .str{color:#a5d6ff}.code-block .cm{color:#8b949e}.code-block .fn{color:#d2a8ff}.code-block .num{color:#79c0ff}.toolbar{display:flex;align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-md);flex-wrap:wrap}.toolbar-spacer{flex:1}.user-avatar{width:32px;height:32px;border-radius:var(--r-full);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-sb);cursor:pointer;transition:box-shadow var(--tr-fast)}.user-avatar:hover{box-shadow:0 0 0 3px #1d63ed33}.conn-status{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);padding:4px var(--sp-sm);border-radius:var(--r-sm);background:var(--success-bg);color:var(--success)}.conn-status .dot{width:6px;height:6px;background:currentColor;border-radius:var(--r-full)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md) 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:none}.setting-info h4{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--text-primary)}.setting-info p{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:root{--bg-primary: var(--bg-page);--bg-inverse: var(--navy);--spacing-xs: var(--sp-xs);--spacing-sm: var(--sp-sm);--spacing-md: var(--sp-md);--spacing-lg: var(--sp-lg);--spacing-xl: var(--sp-xl);--spacing-2xl: var(--sp-2xl);--card-padding: var(--sp-md);--card-padding-lg: var(--sp-lg);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--radius-xl: var(--r-xl);--radius-full: var(--r-full);--shadow-sm: var(--sh-sm);--shadow-md: var(--sh-md);--shadow-lg: var(--sh-lg);--shadow-xl: var(--sh-xl);--text-xs: var(--fs-xs);--text-sm: var(--fs-sm);--text-base: var(--fs-base);--text-lg: var(--fs-lg);--text-xl: var(--fs-xl);--text-2xl: var(--fs-2xl);--font-normal: var(--fw-reg);--font-medium: var(--fw-med);--font-semibold: var(--fw-sb);--leading-tight: var(--lh-tight);--leading-heading: var(--lh-tight);--leading-body: var(--lh-normal);--leading-mono: 1.4;--transition-fast: var(--tr-fast);--transition-normal: var(--tr-normal);--transition-slow: var(--tr-normal);--focus-ring: 0 0 0 3px rgba(29, 99, 237, .15);--topbar-height: 52px;--bottom-bar-height: 90px;--brand-dim: var(--brand-hover)}.llm-settings.svelte-94203o{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-header.svelte-94203o h2:where(.svelte-94203o){margin:0 0 var(--spacing-xs);font-size:var(--text-xl);font-weight:600;color:var(--text-primary)}.section-desc.svelte-94203o{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.form-row.svelte-94203o{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-row.svelte-94203o label:where(.svelte-94203o){font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.form-row.svelte-94203o input:where(.svelte-94203o),.form-row.svelte-94203o select:where(.svelte-94203o){width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-mono);background:var(--bg-page);box-sizing:border-box}.form-row.svelte-94203o input:where(.svelte-94203o):focus,.form-row.svelte-94203o select:where(.svelte-94203o):focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #667eea33}.form-row.svelte-94203o input:where(.svelte-94203o):disabled,.form-row.svelte-94203o select:where(.svelte-94203o):disabled{background:var(--bg-hover);color:var(--text-secondary);cursor:not-allowed}.switch-label.svelte-94203o{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;cursor:pointer}.switch-label.svelte-94203o input:where(.svelte-94203o){width:auto;padding:0;margin:0}.api-key-row.svelte-94203o{display:flex;gap:var(--spacing-xs)}.api-key-row.svelte-94203o input:where(.svelte-94203o){flex:1}.toggle-visibility.svelte-94203o{padding:var(--spacing-sm) var(--spacing-md);background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base)}.toggle-visibility.svelte-94203o:hover{background:var(--border)}.hint.svelte-94203o{font-size:var(--text-xs);color:var(--text-secondary)}.hint.muted.svelte-94203o{color:var(--text-secondary);font-style:italic}.help-link.svelte-94203o{font-size:var(--text-xs);color:var(--brand);text-decoration:none;align-self:flex-start}.help-link.svelte-94203o:hover{text-decoration:underline}.form-actions.svelte-94203o{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.btn.svelte-94203o{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:all var(--transition-fast)}.btn.svelte-94203o:disabled{opacity:.5;cursor:not-allowed}.btn-primary.svelte-94203o{background:var(--brand);color:#fff}.btn-primary.svelte-94203o:hover:not(:disabled){background:var(--brand-hover)}.btn-secondary.svelte-94203o{background:var(--border);color:var(--text-primary)}.btn-secondary.svelte-94203o:hover:not(:disabled){background:var(--border)}.alert.svelte-94203o{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm)}.alert-success.svelte-94203o{background:var(--success);color:#fff}.alert-error.svelte-94203o{background:var(--danger);color:#fff}.alert-info.svelte-94203o{background:var(--info);color:#fff}.divider.svelte-94203o{border:none;border-top:1px solid var(--border);margin:var(--spacing-md) 0}.l2-placeholder.svelte-94203o h3:where(.svelte-94203o){margin:0 0 var(--spacing-xs);font-size:var(--text-base);color:var(--text-secondary)}.l2-placeholder.svelte-94203o p:where(.svelte-94203o){margin:var(--spacing-xs) 0}.settings-page.svelte-d2xhpt{max-width:800px;margin:0 auto;padding:var(--spacing-xl)}.settings-header.svelte-d2xhpt{margin-bottom:var(--spacing-lg)}.header-row.svelte-d2xhpt{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.settings-header.svelte-d2xhpt h1:where(.svelte-d2xhpt){margin:0;font-size:var(--text-2xl);color:var(--text-primary)}.subtitle.svelte-d2xhpt{margin:var(--spacing-xs) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.btn-close.svelte-d2xhpt{padding:var(--spacing-sm) var(--spacing-md);background:var(--border);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500}.btn-close.svelte-d2xhpt:hover{background:var(--border)}.settings-tabs.svelte-d2xhpt{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--border);margin-bottom:var(--spacing-lg)}.settings-tab.svelte-d2xhpt{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:all var(--transition-fast)}.settings-tab.svelte-d2xhpt:hover{color:var(--text-primary)}.settings-tab.active.svelte-d2xhpt{color:var(--brand);border-bottom-color:var(--brand)}.settings-content.svelte-d2xhpt{background:var(--bg-page);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.section-header.svelte-d2xhpt h2:where(.svelte-d2xhpt){margin:0 0 var(--spacing-xs);font-size:var(--text-xl);color:var(--text-primary)}.section-desc.svelte-d2xhpt{margin:0 0 var(--spacing-md);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.mode-toggle.svelte-d2xhpt{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.mode-btn.svelte-d2xhpt{flex:1;padding:var(--spacing-md);background:var(--bg-hover);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);transition:all var(--transition-fast)}.mode-btn.svelte-d2xhpt:hover{background:var(--border)}.mode-btn.active.svelte-d2xhpt{background:var(--brand);color:#fff;border-color:var(--brand-hover)}.form-row.svelte-d2xhpt{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-row.svelte-d2xhpt label:where(.svelte-d2xhpt){font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.form-row.svelte-d2xhpt input:where(.svelte-d2xhpt){width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-mono);box-sizing:border-box}.form-row.svelte-d2xhpt input:where(.svelte-d2xhpt):focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #667eea33}.hint.svelte-d2xhpt{font-size:var(--text-xs);color:var(--text-secondary)}.form-actions.svelte-d2xhpt{display:flex;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.btn.svelte-d2xhpt{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500}.btn.svelte-d2xhpt:disabled{opacity:.5;cursor:not-allowed}.btn-secondary.svelte-d2xhpt{background:var(--border);color:var(--text-primary)}.btn-secondary.svelte-d2xhpt:hover:not(:disabled){background:var(--border)}.alert.svelte-d2xhpt{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm);margin:var(--spacing-sm) 0}.alert-success.svelte-d2xhpt{background:var(--success);color:#fff}.alert-error.svelte-d2xhpt{background:var(--danger);color:#fff}.current-status.svelte-d2xhpt{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-hover);border-radius:var(--radius-md)}.current-status.svelte-d2xhpt h3:where(.svelte-d2xhpt){margin:0 0 var(--spacing-sm);font-size:var(--text-base);color:var(--text-primary)}.current-status.svelte-d2xhpt dl:where(.svelte-d2xhpt){margin:0;display:grid;grid-template-columns:max-content 1fr;gap:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm)}.current-status.svelte-d2xhpt dt:where(.svelte-d2xhpt){font-weight:500;color:var(--text-secondary)}.current-status.svelte-d2xhpt dd:where(.svelte-d2xhpt){margin:0;color:var(--text-primary)}.current-status.svelte-d2xhpt code:where(.svelte-d2xhpt){font-family:var(--font-mono);background:var(--border);padding:0 var(--spacing-xs);border-radius:var(--radius-sm)}.ob-reshow-list.svelte-d2xhpt{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.ob-reshow-row.svelte-d2xhpt{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md)}.ob-danger.svelte-d2xhpt{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius-md)}.ob-reshow-info.svelte-d2xhpt{min-width:0}.ob-reshow-info.svelte-d2xhpt h4:where(.svelte-d2xhpt){margin:0 0 4px;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.ob-reshow-info.svelte-d2xhpt p:where(.svelte-d2xhpt){margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.ob-danger.svelte-d2xhpt .ob-reshow-info:where(.svelte-d2xhpt) h4:where(.svelte-d2xhpt){color:var(--danger)}.toast-container.svelte-19y9ob7{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast.svelte-19y9ob7{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;border-radius:6px;box-shadow:0 4px 12px #00000026;animation:svelte-19y9ob7-slide-in .3s ease-out}.toast-success.svelte-19y9ob7{background:var(--success-bg, #f0fdf4);border-left:4px solid var(--success, #22c55e)}.toast-error.svelte-19y9ob7{background:var(--danger-bg, #fef2f2);border-left:4px solid var(--danger, #ef4444)}.toast-warning.svelte-19y9ob7{background:var(--warning-bg, #fffbeb);border-left:4px solid var(--warning, #f59e0b)}.toast-info.svelte-19y9ob7{background:var(--info-bg, #f0f9ff);border-left:4px solid var(--info, #3b82f6)}.toast-icon.svelte-19y9ob7{font-size:16px}.toast-content.svelte-19y9ob7{flex:1}.toast-title.svelte-19y9ob7{font-weight:600;margin-bottom:2px}.toast-message.svelte-19y9ob7{font-size:14px;color:var(--text-secondary, #6b7280)}.toast-close.svelte-19y9ob7{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-secondary, #6b7280);padding:0;line-height:1}.toast-close.svelte-19y9ob7:hover{color:var(--text-primary, #1f2937)}@keyframes svelte-19y9ob7-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.user-menu.svelte-1uqluxl{position:relative}.user-trigger.svelte-1uqluxl{display:flex;align-items:center;gap:8px;padding:4px 10px;background:transparent;border:1px solid var(--text-primary, #334155);border-radius:var(--radius-md, 6px);cursor:pointer;color:var(--border, #e2e8f0);transition:background .15s ease}.user-trigger.svelte-1uqluxl:hover{background:#ffffff14}.user-avatar.svelte-1uqluxl{width:24px;height:24px;border-radius:50%;background:var(--brand, #2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.user-meta.svelte-1uqluxl{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-name.svelte-1uqluxl{font-size:13px;font-weight:600}.user-role.svelte-1uqluxl{font-size:11px;color:var(--text-secondary, #94a3b8)}.caret.svelte-1uqluxl{font-size:10px;transition:transform .15s ease}.caret.open.svelte-1uqluxl{transform:rotate(180deg)}.menu-dropdown.svelte-1uqluxl{position:absolute;top:100%;right:0;margin-top:4px;min-width:240px;background:var(--bg-card);border:1px solid var(--border, #e2e8f0);border-radius:6px;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));z-index:100;overflow:hidden}.profile-section.svelte-1uqluxl{padding:10px 14px;border-bottom:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;gap:4px}.profile-row.svelte-1uqluxl{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5}.profile-row.svelte-1uqluxl .k:where(.svelte-1uqluxl){color:var(--text-secondary, #94a3b8);flex-shrink:0}.profile-row.svelte-1uqluxl .v:where(.svelte-1uqluxl){color:var(--text-primary, #1e293b);word-break:break-all;text-align:right}.menu-item.svelte-1uqluxl{display:block;width:100%;padding:10px 14px;background:transparent;border:none;text-align:left;cursor:pointer;font-size:13px;color:var(--text-primary, #1e293b);transition:background .1s ease}.menu-item.svelte-1uqluxl:hover{background:var(--bg-page, #f8fafc)}.menu-danger.svelte-1uqluxl{color:var(--danger, #dc2626)}.menu-divider.svelte-1uqluxl{height:1px;background:var(--border, #e2e8f0);margin:4px 0}.pw-form.svelte-1uqluxl{display:flex;flex-direction:column;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border, #e2e8f0)}.pw-form.svelte-1uqluxl input:where(.svelte-1uqluxl){padding:8px 10px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--bg-page, #f8fafc);color:var(--text-primary, #1e293b);font-size:13px}.pw-form.svelte-1uqluxl input:where(.svelte-1uqluxl):focus{outline:none;border-color:var(--brand, #2563eb)}.pw-actions.svelte-1uqluxl{display:flex;gap:8px}.pw-actions.svelte-1uqluxl .menu-item:where(.svelte-1uqluxl){flex:1;padding:8px 10px;text-align:center;border:1px solid var(--border, #e2e8f0);border-radius:4px}.login-btn.svelte-1uqluxl{padding:6px 14px;background:var(--brand, #2563eb);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.login-btn.svelte-1uqluxl:hover{opacity:.9}.notification-bell.svelte-17zslpn{position:relative}.bell-trigger.svelte-17zslpn{position:relative;padding:6px 10px;background:transparent;border:1px solid var(--text-primary, #334155);border-radius:6px;cursor:pointer;color:var(--border, #e2e8f0);font-size:16px;line-height:1}.bell-trigger.svelte-17zslpn:hover{background:#ffffff14}.unread-badge.svelte-17zslpn{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--danger, #dc2626);color:#fff;border-radius:8px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.bell-dropdown.svelte-17zslpn{position:absolute;top:100%;right:0;margin-top:4px;width:360px;max-height:480px;background:var(--bg-card);border:1px solid var(--border, #e2e8f0);border-radius:8px;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));z-index:100;overflow:hidden;display:flex;flex-direction:column}.bell-header.svelte-17zslpn{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.bell-title.svelte-17zslpn{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.mark-all-btn.svelte-17zslpn{background:transparent;border:none;color:var(--brand, #2563eb);cursor:pointer;font-size:12px}.mark-all-btn.svelte-17zslpn:hover{text-decoration:underline}.bell-list.svelte-17zslpn{overflow-y:auto;flex:1}.bell-empty.svelte-17zslpn{padding:32px 16px;text-align:center;color:var(--text-secondary, #64748b);font-size:13px}.bell-item.svelte-17zslpn{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid var(--bg-hover, #f1f5f9);text-align:left;cursor:pointer;transition:background .1s ease}.bell-item.svelte-17zslpn:hover{background:var(--bg-page, #f8fafc)}.bell-item.unread.svelte-17zslpn{background:var(--info-bg, #eff6ff)}.bell-item.unread.svelte-17zslpn:hover{background:var(--info-bg, #dbeafe)}.item-icon.svelte-17zslpn{font-size:18px;flex-shrink:0}.item-content.svelte-17zslpn{flex:1;min-width:0}.item-title.svelte-17zslpn{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:2px}.item-body.svelte-17zslpn{font-size:12px;color:var(--text-secondary, #64748b);line-height:1.4;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-time.svelte-17zslpn{font-size:11px;color:var(--text-secondary, #94a3b8)}.unread-dot.svelte-17zslpn{width:8px;height:8px;border-radius:50%;background:var(--brand, #2563eb);flex-shrink:0;margin-top:6px}.tf-dropdown.svelte-opiocs{position:relative}.tf-trigger.svelte-opiocs{display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--border, #d1d5db);border:1px solid var(--text-primary, #374151);border-radius:var(--radius-md, 6px);padding:6px 12px;cursor:pointer;font-size:13px;transition:all .15s ease}.tf-trigger.svelte-opiocs:hover{background:#ffffff14;color:#fff}.tf-icon.svelte-opiocs{font-size:14px}.tf-caret.svelte-opiocs{font-size:10px;opacity:.7;transition:transform .15s ease}.tf-caret.open.svelte-opiocs{transform:rotate(180deg)}.tf-menu.svelte-opiocs{position:absolute;top:calc(100% + 4px);right:0;min-width:360px;background:var(--bg-card);border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:100;overflow:hidden}.tf-menu-header.svelte-opiocs{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg-page, #f9fafb);border-bottom:1px solid var(--border, #e5e7eb);font-size:13px;font-weight:600;color:var(--text-primary, #1f2937)}.tf-hint.svelte-opiocs{font-size:11px;font-weight:400;color:var(--text-secondary, #6b7280)}.tf-item.svelte-opiocs{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid var(--bg-hover, #f3f4f6);cursor:pointer;text-align:left;transition:background .15s ease}.tf-item.svelte-opiocs:last-child{border-bottom:none}.tf-item.svelte-opiocs:hover{background:var(--info-bg, #eff6ff)}.tf-item-icon.svelte-opiocs{font-size:20px;flex-shrink:0;margin-top:2px}.tf-item-body.svelte-opiocs{flex:1;min-width:0}.tf-item-name.svelte-opiocs{font-size:14px;font-weight:600;color:var(--text-primary, #1f2937);margin-bottom:2px}.tf-item-desc.svelte-opiocs{font-size:12px;color:var(--text-secondary, #6b7280);line-height:1.4}.tf-item-time.svelte-opiocs{font-size:11px;color:var(--text-secondary, #6b7280);flex-shrink:0;margin-top:2px}.tf-menu-footer.svelte-opiocs{padding:8px 16px;background:var(--bg-page, #f9fafb);border-top:1px solid var(--border, #e5e7eb);display:flex;gap:8px;flex-wrap:wrap}.tf-mode-tag.svelte-opiocs,.tf-demo-tag.svelte-opiocs{font-size:11px;padding:2px 8px;border-radius:10px}.tf-mode-tag.svelte-opiocs{background:var(--info-bg, #dbeafe);color:var(--info, var(--info, #1e40af))}.tf-demo-tag.svelte-opiocs{background:var(--warning-bg, #fef3c7);color:var(--warning, var(--warning, #92400e))}@media (max-width: 768px){.tf-label.svelte-opiocs{display:none}.tf-menu.svelte-opiocs{min-width:280px;right:-40px}}.tfw-bar.svelte-1myhquy{display:flex;align-items:center;gap:16px;padding:10px 20px;background:linear-gradient(135deg,#1e3a5f,#2563eb);color:#fff;box-shadow:0 2px 8px #00000026;flex-wrap:wrap}.tfw-info.svelte-1myhquy{display:flex;align-items:center;gap:10px;flex-shrink:0}.tfw-icon.svelte-1myhquy{font-size:24px}.tfw-text.svelte-1myhquy{display:flex;flex-direction:column;gap:2px}.tfw-title.svelte-1myhquy{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}.tfw-demo-badge.svelte-1myhquy{font-size:10px;padding:1px 6px;background:#fff3;border-radius:8px;font-weight:400}.tfw-instruction.svelte-1myhquy{font-size:11px;opacity:.85}.tfw-progress.svelte-1myhquy{display:flex;align-items:center;gap:4px;flex:1;justify-content:center;flex-wrap:wrap}.tfw-step.svelte-1myhquy{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:14px;cursor:pointer;color:#ffffffb3;font-size:12px;transition:all .15s ease}.tfw-step.svelte-1myhquy:hover{background:#fff3;color:#fff}.tfw-step.active.svelte-1myhquy{background:var(--bg-card);color:#2563eb;font-weight:600;border-color:#fff}.tfw-step.done.svelte-1myhquy{background:#22c55e4d;border-color:#22c55e99;color:#bbf7d0}.tfw-step-num.svelte-1myhquy{font-size:11px;font-weight:600}.tfw-step-name.svelte-1myhquy{font-size:11px}.tfw-step-line.svelte-1myhquy{width:16px;height:2px;background:#fff3}.tfw-step-line.done.svelte-1myhquy{background:#22c55e99}.tfw-actions.svelte-1myhquy{display:flex;gap:6px;flex-shrink:0}.tfw-btn.svelte-1myhquy{padding:5px 12px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:4px;color:#fff;cursor:pointer;font-size:12px;transition:all .15s ease}.tfw-btn.svelte-1myhquy:disabled{opacity:.4;cursor:not-allowed}.tfw-btn.svelte-1myhquy:hover:not(:disabled){background:#ffffff40}.tfw-btn.primary.svelte-1myhquy{background:var(--brand);color:#fff;font-weight:600}.tfw-btn.primary.svelte-1myhquy:hover:not(:disabled){background:var(--brand-hover)}.tfw-btn.success.svelte-1myhquy{background:#22c55e;border-color:#22c55e;font-weight:600}.tfw-btn.success.svelte-1myhquy:hover:not(:disabled){background:#16a34a}.tfw-btn.ghost.svelte-1myhquy{padding:5px 8px;background:transparent;border-color:#ffffff4d}.tfw-hint-bar.svelte-1myhquy{display:flex;align-items:center;gap:8px;padding:6px 20px;background:#fef9c3;border-bottom:1px solid var(--warning, #fde68a);font-size:12px;color:var(--warning, #92400e);flex-wrap:wrap}.tfw-hint-icon.svelte-1myhquy{font-size:14px}.tfw-hint-text.svelte-1myhquy{flex:1}.tfw-hint-goal.svelte-1myhquy{color:var(--warning, #78350f);font-size:11px}@media (max-width: 768px){.tfw-bar.svelte-1myhquy{padding:8px 12px;gap:8px}.tfw-step-name.svelte-1myhquy,.tfw-instruction.svelte-1myhquy,.tfw-hint-goal.svelte-1myhquy{display:none}}.llm-sidebar.svelte-31w5ly{height:100%;display:flex;flex-direction:column;background:var(--sidebar-bg);color:var(--sidebar-text)}.llm-header.svelte-31w5ly{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.llm-title.svelte-31w5ly{font-size:var(--fs-xs);font-weight:var(--fw-sb);text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3}.llm-clear.svelte-31w5ly{font-size:var(--fs-xs);color:#ffffff80;padding:2px var(--sp-sm);border-radius:var(--r-sm);transition:background var(--tr-fast),color var(--tr-fast)}.llm-clear.svelte-31w5ly:hover{background:var(--sidebar-hover);color:#fff}.llm-messages.svelte-31w5ly{flex:1;overflow-y:auto;padding:var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-sm);min-height:0}.llm-empty.svelte-31w5ly{margin:auto;text-align:center;padding:var(--sp-lg) var(--sp-sm)}.empty-title.svelte-31w5ly{color:#fffc;font-size:var(--fs-sm);font-weight:var(--fw-med)}.empty-hint.svelte-31w5ly{color:#fff6;font-size:var(--fs-xs);margin-top:var(--sp-xs);line-height:1.5}.msg.svelte-31w5ly{display:flex}.msg.user.svelte-31w5ly{justify-content:flex-end}.msg.assistant.svelte-31w5ly{justify-content:flex-start}.bubble.svelte-31w5ly{max-width:85%;padding:var(--sp-sm) var(--sp-md);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:1.5;white-space:pre-wrap;word-break:break-word}.msg.user.svelte-31w5ly .bubble:where(.svelte-31w5ly){background:var(--brand);color:#fff;border-bottom-right-radius:var(--r-sm)}.msg.assistant.svelte-31w5ly .bubble:where(.svelte-31w5ly){background:#ffffff14;color:#ffffffe6;border-bottom-left-radius:var(--r-sm)}.bubble.typing.svelte-31w5ly{opacity:.6;font-style:italic}.llm-error.svelte-31w5ly{padding:var(--sp-sm);border-radius:var(--r-sm);background:var(--danger-bg);color:var(--danger);font-size:var(--fs-xs);line-height:1.4;word-break:break-word}.llm-input.svelte-31w5ly{display:flex;gap:var(--sp-xs);padding:var(--sp-sm);border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.llm-input.svelte-31w5ly input:where(.svelte-31w5ly){flex:1;height:34px;padding:0 var(--sp-sm);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-sm);background:#ffffff0f;color:#fff;font-size:var(--fs-sm);outline:none;min-width:0;transition:border-color var(--tr-fast),background var(--tr-fast)}.llm-input.svelte-31w5ly input:where(.svelte-31w5ly)::placeholder{color:#ffffff59}.llm-input.svelte-31w5ly input:where(.svelte-31w5ly):focus{border-color:var(--brand);background:#ffffff1a}.llm-input.svelte-31w5ly input:where(.svelte-31w5ly):disabled{opacity:.5;cursor:not-allowed}.llm-send.svelte-31w5ly{height:34px;padding:0 var(--sp-md);border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-med);flex-shrink:0;transition:background var(--tr-fast)}.llm-send.svelte-31w5ly:hover:not(:disabled){background:var(--brand-hover)}.llm-send.svelte-31w5ly:disabled{opacity:.5;cursor:not-allowed}.glossary-backdrop.svelte-qnogf4{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;background:#02061799;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:var(--sp-md)}.glossary-modal.svelte-qnogf4{width:100%;max-width:680px;max-height:88vh;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-xl);box-shadow:var(--sh-modal);overflow:hidden}.gl-header.svelte-qnogf4{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-md);padding:var(--sp-lg) var(--sp-lg) var(--sp-md);border-bottom:1px solid var(--border)}.gl-title.svelte-qnogf4{display:flex;gap:var(--sp-sm);align-items:flex-start}.gl-emoji.svelte-qnogf4{font-size:24px;line-height:1.2}.gl-title.svelte-qnogf4 h2:where(.svelte-qnogf4){margin:0;font-size:var(--fs-xl);font-weight:var(--fw-sb);color:var(--text-primary)}.gl-sub.svelte-qnogf4{margin:2px 0 0;font-size:var(--fs-xs);color:var(--text-secondary)}.gl-close.svelte-qnogf4{width:32px;height:32px;flex-shrink:0;border-radius:var(--r-sm);font-size:15px;color:var(--text-secondary);background:transparent;cursor:pointer;transition:background var(--tr-fast),color var(--tr-fast)}.gl-close.svelte-qnogf4:hover{background:var(--bg-hover);color:var(--text-primary)}.gl-search.svelte-qnogf4{position:relative;display:flex;align-items:center;gap:var(--sp-xs);margin:var(--sp-md) var(--sp-lg) 0}.gl-search-icon.svelte-qnogf4{position:absolute;left:12px;width:18px;height:18px;color:var(--text-muted);pointer-events:none}.gl-search.svelte-qnogf4 input:where(.svelte-qnogf4){flex:1;min-width:0;height:40px;padding:0 90px 0 38px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-primary);font-size:var(--fs-sm);outline:none;transition:border-color var(--tr-fast),box-shadow var(--tr-fast)}.gl-search.svelte-qnogf4 input:where(.svelte-qnogf4)::placeholder{color:var(--text-muted)}.gl-search.svelte-qnogf4 input:where(.svelte-qnogf4):focus{border-color:var(--brand);box-shadow:0 0 0 3px #1d63ed26}.gl-clear.svelte-qnogf4{position:absolute;right:76px;width:24px;height:24px;border-radius:var(--r-sm);font-size:12px;color:var(--text-muted);background:transparent;cursor:pointer}.gl-clear.svelte-qnogf4:hover{background:var(--bg-hover);color:var(--text-primary)}.gl-ask.svelte-qnogf4{position:absolute;right:6px;height:30px;padding:0 var(--sp-md);border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-med);white-space:nowrap;transition:background var(--tr-fast)}.gl-ask.svelte-qnogf4:hover:not(:disabled){background:var(--brand-hover)}.gl-ask.svelte-qnogf4:disabled{opacity:.6;cursor:not-allowed}.gl-count.svelte-qnogf4{padding:var(--sp-sm) var(--sp-lg) 0;font-size:var(--fs-xs);color:var(--text-muted)}.gl-ai.svelte-qnogf4{margin:var(--sp-sm) var(--sp-lg) 0;padding:var(--sp-md);border:1px solid var(--brand-bg, rgba(29, 99, 237, .25));border-radius:var(--r-md);background:#1d63ed14}.gl-ai-error.svelte-qnogf4{border-color:var(--danger);background:var(--danger-bg);color:var(--danger);font-size:var(--fs-sm)}.gl-ai-head.svelte-qnogf4{font-size:var(--fs-xs);font-weight:var(--fw-sb);color:var(--brand);margin-bottom:6px}.gl-ai-body.svelte-qnogf4{margin:0;font-size:var(--fs-sm);line-height:1.65;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.gl-list.svelte-qnogf4{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-sm) var(--sp-lg) var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-sm)}.gl-empty.svelte-qnogf4{text-align:center;color:var(--text-secondary);padding:var(--sp-2xl) 0;font-size:var(--fs-sm)}.gl-section-label.svelte-qnogf4{margin-top:var(--sp-xs);font-size:11px;font-weight:var(--fw-sb);text-transform:uppercase;letter-spacing:.5px;color:#fff6}.gl-item.svelte-qnogf4{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-md);transition:border-color var(--tr-fast)}.gl-item.svelte-qnogf4:hover{border-color:var(--border-strong)}.gl-term.svelte-qnogf4{margin:0 0 6px;font-size:var(--fs-base);font-weight:var(--fw-sb);color:var(--text-primary)}.gl-alias.svelte-qnogf4{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.gl-chip.svelte-qnogf4{font-size:11px;padding:1px 8px;border-radius:var(--r-full);background:var(--bg-active);color:var(--brand-light);border:1px solid transparent}.gl-def.svelte-qnogf4{margin:0;font-size:var(--fs-sm);line-height:1.65;color:var(--text-secondary)}.gl-doc.svelte-qnogf4{background:var(--bg-page);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--r-md);padding:var(--sp-sm) var(--sp-md)}.gl-doc-title.svelte-qnogf4{margin:0 0 4px;font-size:var(--fs-sm);font-weight:var(--fw-sb);color:var(--text-primary)}.gl-doc-snippet.svelte-qnogf4{margin:0;font-size:var(--fs-xs);line-height:1.6;color:var(--text-secondary)}.tour-overlay.svelte-1i9fcb2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;pointer-events:none}.tour-spot.svelte-1i9fcb2{position:fixed;border-radius:8px;box-shadow:0 0 0 9999px #020617b8;border:2px solid var(--brand);pointer-events:none;transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}.tour-card.svelte-1i9fcb2{position:fixed;pointer-events:auto;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh-modal)}.tour-count.svelte-1i9fcb2{font-size:11px;font-weight:600;color:var(--brand);letter-spacing:.5px;margin-bottom:6px}.tour-title.svelte-1i9fcb2{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--text-primary)}.tour-desc.svelte-1i9fcb2{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--text-secondary)}.tour-actions.svelte-1i9fcb2{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-skip.svelte-1i9fcb2{background:transparent;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 2px}.tour-skip.svelte-1i9fcb2:hover{color:var(--text-secondary);text-decoration:underline}.tour-nav.svelte-1i9fcb2{display:flex;gap:8px}.tour-btn.svelte-1i9fcb2{height:32px;padding:0 14px;border-radius:var(--r-sm);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent}.tour-btn.primary.svelte-1i9fcb2{background:var(--brand);color:#fff}.tour-btn.primary.svelte-1i9fcb2:hover{background:var(--brand-hover)}.tour-btn.ghost.svelte-1i9fcb2{background:transparent;color:var(--text-secondary);border-color:var(--border)}.tour-btn.ghost.svelte-1i9fcb2:hover{background:var(--bg-hover);color:var(--text-primary)}.palette-backdrop.svelte-1y7pqk{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1350;background:#0206178c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.palette.svelte-1y7pqk{width:100%;max-width:560px;max-height:70vh;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-xl);box-shadow:var(--sh-modal);overflow:hidden}.palette-search.svelte-1y7pqk{position:relative;display:flex;align-items:center;padding:0 var(--sp-md);border-bottom:1px solid var(--border)}.palette-search-icon.svelte-1y7pqk{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.palette-search.svelte-1y7pqk input:where(.svelte-1y7pqk){flex:1;height:48px;padding:0 var(--sp-sm);background:transparent;border:none;color:var(--text-primary);font-size:var(--fs-base);outline:none}.palette-search.svelte-1y7pqk input:where(.svelte-1y7pqk)::placeholder{color:var(--text-muted)}.palette-esc.svelte-1y7pqk{font-size:11px;color:var(--text-muted);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 6px;flex-shrink:0}.palette-list.svelte-1y7pqk{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-xs)}.palette-empty.svelte-1y7pqk{text-align:center;color:var(--text-secondary);padding:var(--sp-2xl) 0;font-size:var(--fs-sm)}.palette-group.svelte-1y7pqk{font-size:11px;font-weight:var(--fw-sb);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:var(--sp-sm) var(--sp-sm) var(--sp-xxs)}.palette-item.svelte-1y7pqk{display:flex;align-items:center;gap:var(--sp-sm);width:100%;text-align:left;padding:9px var(--sp-sm);border-radius:var(--r-sm);background:transparent;border:none;cursor:pointer;color:var(--text-primary);font-size:var(--fs-sm)}.palette-item.active.svelte-1y7pqk{background:var(--bg-active)}.palette-item-title.svelte-1y7pqk{flex-shrink:0;font-weight:var(--fw-med)}.palette-item-hint.svelte-1y7pqk{flex:1;min-width:0;color:var(--text-muted);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item-enter.svelte-1y7pqk{flex-shrink:0;font-size:12px;color:var(--brand)}.palette-footer.svelte-1y7pqk{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);border-top:1px solid var(--border);font-size:11px;color:var(--text-muted)}.palette-footer.svelte-1y7pqk kbd:where(.svelte-1y7pqk){font-family:var(--font-mono);background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;padding:1px 5px;margin-right:3px}.palette-footer-tip.svelte-1y7pqk{margin-left:auto}.app.svelte-12qhfyh{display:flex;flex-direction:column;height:100vh}.nav-icon.svelte-12qhfyh{width:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1}.nav-label.svelte-12qhfyh{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llm-rail.svelte-12qhfyh{padding:0;overflow:hidden;background:var(--sidebar-bg);border-left:1px solid var(--border)}.header-actions.svelte-12qhfyh .icon-btn:where(.svelte-12qhfyh){font-size:var(--fs-base)}.conn-status.svelte-12qhfyh{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);padding:4px var(--sp-sm);border-radius:var(--r-sm);background:var(--success-bg);color:var(--success);white-space:nowrap;flex-shrink:0}.conn-status.offline.svelte-12qhfyh{background:var(--danger-bg);color:var(--danger)}.conn-status.checking.svelte-12qhfyh{background:var(--warning-bg);color:var(--warning)}.llm-collapsed.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--sp-sm) 0;background:var(--sidebar-bg)}.llm-collapse-btn.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;height:100%;padding:var(--sp-md) 2px;background:transparent;border:none;color:var(--sidebar-text);cursor:pointer;border-radius:var(--r-sm);transition:background var(--tr-fast),color var(--tr-fast)}.llm-collapse-btn.svelte-12qhfyh:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.llm-collapse-emoji.svelte-12qhfyh{font-size:18px;line-height:1}.llm-collapse-text.svelte-12qhfyh{font-size:11px;writing-mode:vertical-rl;letter-spacing:1px}.hamburger.svelte-12qhfyh,.header-chat-btn.svelte-12qhfyh{display:none}.header.svelte-12qhfyh{z-index:1300}.drawer-mask.svelte-12qhfyh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0206178c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}@media (max-width: 900px){.hamburger.svelte-12qhfyh,.header-chat-btn.svelte-12qhfyh{display:inline-flex}.sidebar-left.svelte-12qhfyh{position:fixed;top:52px;left:0;bottom:0;width:280px!important;max-width:82vw;z-index:1200;transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--sh-modal);border-right:1px solid var(--border)}.sidebar-left.drawer-open.svelte-12qhfyh{transform:translate(0)}.llm-rail.svelte-12qhfyh{position:fixed;top:52px;right:0;bottom:0;width:320px!important;max-width:88vw;z-index:1200;transform:translate(100%);transition:transform .25s ease;box-shadow:var(--sh-modal);border-left:1px solid var(--border)}.llm-rail.drawer-open.svelte-12qhfyh{transform:translate(0)}.resizer.svelte-12qhfyh{display:none}}
