*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#050505;--surface:#080808;--border:#1a1a1a;--border2:#333;--green:#00ffb2;--green-dim:#00ffb21f;--text:#f8fafc;--text-dim:#cbd5e1;--text-muted:#94a3b8;--red:#ff4f4f;--amber:#ffb347;--sidebar:260px}html,body{background:var(--bg);height:100%;color:var(--text);font-family:Inter,sans-serif;font-size:14px;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#00ffb20a 1px,#0000 1px),linear-gradient(90deg,#00ffb20a 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}#root{z-index:1;height:100vh;display:flex;position:relative}.app{z-index:1;width:100%;height:100%;display:flex;position:relative}.sidebar{width:var(--sidebar);min-width:var(--sidebar);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:#080808f7;flex-direction:column;gap:16px;height:100vh;padding:20px 14px;transition:width .28s cubic-bezier(.4,0,.2,1),min-width .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.sidebar-top{flex-shrink:0;align-items:center;gap:6px;display:flex}.new-chat-btn{color:var(--green);cursor:pointer;white-space:nowrap;background:#00ffb20a;border:1px solid #00ffb259;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;padding:9px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .3s;display:flex;overflow:hidden}.new-chat-btn:hover{background:#00ffb21a;border-color:#00ffb2b3;box-shadow:0 0 18px #00ffb22e}.new-chat-icon{flex-shrink:0;font-size:15px}.new-chat-text{max-width:140px;transition:opacity .2s,max-width .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.collapse-btn{border:1px solid var(--border2);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;place-items:center;font-family:serif;font-size:16px;line-height:1;transition:all .18s;display:grid}.collapse-btn:hover{color:var(--green);background:#00ffb20f;border-color:#00ffb266}.sidebar-section-label{letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;padding:0 6px;font-size:10px;font-weight:600}.history-list{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.history-list::-webkit-scrollbar{width:3px}.history-list::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}.history-item{cursor:pointer;color:var(--text-dim);border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;transition:all .18s;display:flex;position:relative;overflow:hidden}.history-item:before{content:"";background:var(--green);opacity:0;width:2px;box-shadow:0 0 8px var(--green);border-radius:99px;transition:opacity .18s;position:absolute;top:20%;bottom:20%;left:0}.history-item.active{color:var(--text);background:#00ffb20d;border-color:#00ffb21f;padding-left:16px}.history-item.active:before{opacity:1}.history-item:hover:not(.active){color:var(--text);background:#ffffff08}.history-icon{opacity:.5;flex-shrink:0;font-size:12px}.history-title{white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:12.5px;transition:opacity .2s,max-width .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;padding-top:14px;display:flex}.footer-item{cursor:pointer;color:var(--text-dim);white-space:nowrap;border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;transition:all .15s;display:flex;overflow:hidden}.footer-icon{flex-shrink:0;font-size:14px}.footer-text{max-width:120px;transition:opacity .2s,max-width .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.footer-item:hover{color:var(--text);background:#ffffff08}.sidebar.collapsed{width:52px;min-width:52px;padding:0}.rail{flex-direction:column;align-items:center;gap:4px;height:100%;padding:10px 0;display:flex}.rail-divider{background:var(--border2);opacity:.5;flex-shrink:0;width:24px;height:1px;margin:4px 0}.rail-chats{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;max-height:280px;display:flex;overflow:hidden}.rail-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;place-items:center;font-family:serif;font-size:15px;line-height:1;transition:all .18s;display:grid}.rail-btn:hover{border-color:var(--border2);color:var(--text);background:#ffffff0d}.rail-expand{color:var(--text-muted);margin-bottom:2px;font-size:18px}.rail-expand:hover{color:var(--green);background:#00ffb20f;border-color:#00ffb266}.rail-new{color:var(--green);background:#00ffb20a;border:1px solid #00ffb259;font-family:Inter,sans-serif;font-size:17px}.rail-new:hover{background:#00ffb21f;border-color:#00ffb2b3;box-shadow:0 0 14px #00ffb22e}.rail-chat-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:8px;flex-shrink:0;place-items:center;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:all .18s;display:grid}.rail-chat-btn:hover{border-color:var(--border2);color:var(--text);background:#ffffff0d}.rail-chat-btn.active{color:var(--green);background:#00ffb21a;border-color:#00ffb259;box-shadow:0 0 8px #00ffb226}.rail-chat-char{font-size:12px;font-weight:700;line-height:1}.history-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 4px;font-size:10px;line-height:1;transition:all .15s;display:none}.history-delete-btn:hover{color:var(--red);background:#ff4f4f1a}.history-item:hover .history-delete-btn,.history-item.active .history-delete-btn{display:block}.show-more-btn{border:1px dashed var(--border2);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;width:100%;margin-top:2px;padding:7px 10px;font-family:Inter,sans-serif;font-size:11.5px;transition:all .18s;display:flex}.show-more-btn:hover{color:var(--green);background:#00ffb20a;border-color:#00ffb259}.show-more-icon{flex-shrink:0;font-size:11px}.show-more-text{white-space:nowrap;max-width:120px;transition:opacity .2s,max-width .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.collapsed .show-more-btn{justify-content:center;padding:7px 4px}.sidebar.collapsed .show-more-text{opacity:0;max-width:0}.main{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.hero{z-index:5;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:transform .55s cubic-bezier(.4,0,.2,1),opacity .45s;display:flex;position:absolute;inset:0}.hero.hidden{opacity:0;pointer-events:none;transform:translateY(-60px)}.hero:not(.hidden){pointer-events:auto}.hero-eyebrow,.hero-eyebrow .dot{display:none}.hero-badge{color:#00ffb2cc;letter-spacing:.06em;background:#00ffb20f;border:1px solid #00ffb240;border-radius:99px;align-items:center;gap:6px;margin-bottom:4px;padding:5px 14px;font-family:JetBrains Mono,monospace;font-size:12px;display:inline-flex}.hero-title{letter-spacing:-.03em;text-align:center;background:linear-gradient(135deg,#fff 0%,silver 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:52px;font-weight:700;line-height:1}.hero-title .accent{background:linear-gradient(135deg,#00ffb2 0%,#00c88a 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-sub{color:var(--text-dim);letter-spacing:.15em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:17px;font-weight:300}.hero-chips{flex-wrap:wrap;justify-content:center;gap:10px;max-width:1100px;margin-top:16px;display:flex}.chip{border:1px solid var(--border2);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:#ffffff05;border-radius:10px;flex:0 auto;align-items:center;gap:8px;padding:9px 16px;font-family:Inter,sans-serif;font-size:13px;transition:all .18s;display:flex}.chip:hover{color:var(--green);background:#00ffb20d;border-color:#00ffb259;box-shadow:0 0 12px #00ffb214}.chip-icon{flex-shrink:0;font-size:15px}.conversation{flex-direction:column;flex:1;align-items:center;padding:40px 0 220px;display:flex;overflow-y:auto}.conversation::-webkit-scrollbar{width:4px}.conversation::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}.thread{flex-direction:column;width:100%;max-width:800px;padding:0 24px;display:flex}.message{animation:.4s cubic-bezier(.2,0,0,1) both msg-in}@keyframes msg-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.msg-user{justify-content:flex-end;padding:16px 0 6px;display:flex}.msg-user-bubble{white-space:pre-wrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:18px 18px 4px;max-width:80%;padding:12px 18px;font-size:14.5px;line-height:1.7;box-shadow:0 2px 12px #00000040}.msg-user-bubble.fix-bubble{background:#ffb3470a;border-color:#ffb34733}.fix-bubble-tag{color:var(--amber);margin-bottom:4px;font-size:11px;display:block}.msg-ai{flex-direction:column;gap:14px;padding:18px 0 8px;display:flex}.msg-ai-header{align-items:center;gap:10px;margin-bottom:4px;display:flex}.ai-avatar{background:var(--green-dim);border:1px solid #00ffb240;border-radius:8px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;display:grid;box-shadow:0 0 10px #00ffb21f}.loading-avatar{animation:1.4s ease-in-out infinite avatar-pulse}@keyframes avatar-pulse{0%,to{box-shadow:0 0 10px #00ffb21f}50%{box-shadow:0 0 20px #00ffb280,0 0 8px #00ffb266}}.ai-name{color:var(--green);letter-spacing:.04em;font-size:12px;font-weight:600}.ai-model-tag{color:#00ffb2b3;background:#00ffb214;border:1px solid #00ffb226;border-radius:99px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:10px}.regen-badge{color:var(--green);background:#00ffb214;border:1px solid #00ffb233;border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.auto-fix-badge{color:#fbbf24;cursor:default;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.token-badge{border:1px solid var(--border2);cursor:default;background:#ffffff08;border-radius:99px;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.token-in{color:#00ffb2a6}.token-out{color:#cbd5e18c}.token-sep{color:var(--border2)}.token-cost{color:var(--amber)}.token-badge-hover{cursor:pointer;position:relative}.token-badge-hover:hover{background:#00ffb20a;border-color:#00ffb259}.token-popover{z-index:200;background:var(--surface);border:1px solid var(--border2);border-radius:12px;min-width:340px;padding:14px 16px;font-family:Inter,sans-serif;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #00000080}.token-badge-hover:hover .token-popover{display:block}.tp-title{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.tp-model{color:var(--green);opacity:.8;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:11px}.tp-table{border-collapse:collapse;width:100%;font-size:11.5px}.tp-table th{color:var(--text-muted);text-align:right;border-bottom:1px solid var(--border);letter-spacing:.04em;padding:3px 8px 6px;font-size:10px;font-weight:500}.tp-table th:first-child{text-align:left;padding-left:0}.tp-table td{text-align:right;color:var(--text-dim);padding:5px 8px;font-family:JetBrains Mono,monospace;font-size:11px}.tp-table td:first-child{text-align:left;padding-left:0;font-family:Inter,sans-serif}.tp-table tbody tr:hover td{color:var(--text);background:#ffffff05}.tp-table tfoot td{border-top:1px solid var(--border);padding-top:7px}.tp-label{color:var(--text-dim)}.tp-total{font-weight:600;color:var(--amber)!important;font-size:12px!important}.whisper-think{border:1px solid var(--border);background:#ffffff04;border-radius:12px;overflow:hidden}.whisper-think-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.whisper-think-header:hover{background:#ffffff05}.think-pulse{align-items:center;gap:3px;display:flex}.think-pulse span{background:#00ffb299;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite think-bounce}.think-pulse span:nth-child(2){animation-delay:.15s}.think-pulse span:nth-child(3){animation-delay:.3s}@keyframes think-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.think-label{color:var(--text-dim);flex:1;font-size:12px;font-weight:500}.think-toggle-icon{color:var(--text-muted);font-size:11px;transition:transform .2s}.whisper-think.open .think-toggle-icon{transform:rotate(180deg)}.think-body{max-height:0;transition:max-height .35s;overflow:hidden}.whisper-think.open .think-body{max-height:500px}.think-body-inner{color:var(--text-muted);border-top:1px solid var(--border);padding:12px 14px 14px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.7}.whisper-query{background:#050505;border:1px solid #ffffff12;border-radius:12px;transition:border-color .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 2px 16px #0000004d}.whisper-query.edit-mode{border-color:#00ffb266;box-shadow:0 0 0 1px #00ffb214,0 0 28px #00ffb212}.query-header{background:#ffffff06;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.query-lang{color:var(--green);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;display:flex}.edited-mark{color:var(--amber);opacity:.85;text-transform:none;letter-spacing:0;font-family:Inter,sans-serif;font-size:9px;font-weight:500}.query-actions{align-items:center;gap:6px;display:flex}.query-btn{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:#ffffff05;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-family:Inter,sans-serif;font-size:11px;transition:all .18s;display:flex}.query-btn:hover{color:var(--green);background:#00ffb20f;border-color:#00ffb266;box-shadow:0 0 10px #00ffb21a}.query-btn.btn-active{color:var(--green);background:#00ffb21a;border-color:#00ffb280}.query-code{color:var(--text);white-space:pre-wrap;padding:18px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7;display:block;overflow-x:auto}.query-edit-textarea{color:#d4e8ff;white-space:pre-wrap;width:100%;min-height:80px;caret-color:var(--green);resize:none;background:#00ffb206;border:none;outline:none;padding:18px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7;display:block;overflow-x:auto}.edit-bar{background:#00ffb20a;border-top:1px solid #00ffb21f;align-items:center;gap:8px;padding:9px 14px;display:flex}.edit-bar-label{color:#00ffb299;flex:1;font-family:JetBrains Mono,monospace;font-size:11px}.edit-bar-hint{color:var(--text-muted);margin-right:4px;font-size:10px}.edit-bar-hint kbd{border:1px solid var(--border2);background:#ffffff0a;border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px}.save-btn{color:var(--green);cursor:pointer;background:#00ffb21a;border:1px solid #00ffb266;border-radius:7px;padding:5px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.save-btn:hover{background:#00ffb22e;box-shadow:0 0 12px #00ffb226}.cancel-btn{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;padding:5px 12px;font-family:Inter,sans-serif;font-size:12px;transition:all .15s}.cancel-btn:hover{color:var(--text)}.fix-panel{background:#ffb34708;border:1px solid #ffb34733;border-radius:12px;animation:.3s both msg-in;overflow:hidden}.fix-panel-header{border-bottom:1px solid #ffb3471a;align-items:center;gap:10px;padding:10px 14px;display:flex}.fix-icon{font-size:14px}.fix-title{color:var(--amber);font-size:12.5px;font-weight:500}.fix-body{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.fix-textarea{border:1px solid var(--border2);width:100%;color:var(--text);resize:none;background:#ffffff08;border-radius:8px;outline:none;min-height:70px;padding:10px 12px;font-family:Inter,sans-serif;font-size:13px;line-height:1.6;transition:border-color .2s}.fix-textarea:focus{background:#ffb34705;border-color:#ffb34759}.fix-textarea::placeholder{color:var(--text-muted)}.fix-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.fix-hint{color:var(--text-muted);margin-right:auto;font-size:11px}.fix-hint kbd{border:1px solid var(--border2);background:#ffffff0a;border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px}.fix-close-btn{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;padding:6px 12px;font-family:Inter,sans-serif;font-size:12px;transition:all .15s}.fix-close-btn:hover{color:var(--text)}.fix-regen-btn{color:var(--amber);cursor:pointer;background:#ffb3471a;border:1px solid #ffb34766;border-radius:7px;align-items:center;gap:6px;padding:6px 16px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:all .18s;display:flex}.fix-regen-btn:hover{background:#ffb3472e;box-shadow:0 0 14px #ffb34726}.fix-regen-btn.loading{opacity:.65;pointer-events:none}.whisper-explain{color:var(--text-dim);font-size:14px;line-height:1.75}.whisper-explain p+p{margin-top:10px}.whisper-explain code{color:var(--green);background:#00ffb214;border:1px solid #00ffb226;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:12px}.msg-divider{background:linear-gradient(90deg,transparent,var(--border2) 30%,var(--border2) 70%,transparent);opacity:.4;height:1px;margin:6px 0}.rating-row{flex-wrap:wrap;align-items:center;gap:12px;padding-top:4px;display:flex}.rating-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.stars{gap:3px;display:flex}.star{cursor:pointer;color:var(--text-muted);filter:grayscale();-webkit-user-select:none;user-select:none;font-size:18px;line-height:1;transition:all .12s}.star.preview{color:var(--green);filter:grayscale(0)drop-shadow(0 0 4px #00ffb266);transform:scale(1.12)}.star.lit{color:var(--green);filter:grayscale(0)drop-shadow(0 0 5px #00ffb28c);transform:scale(1.15)}.score-label{min-width:76px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;transition:all .2s}.score-label.s1,.score-label.s2{color:var(--red)}.score-label.s3{color:var(--amber)}.score-label.s4{color:#a3e635}.score-label.s5{color:var(--green)}.action-btns{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.action-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:4px 9px;font-family:Inter,sans-serif;font-size:11px;transition:all .15s}.action-btn:hover{border-color:var(--border2);color:var(--text-dim);background:#ffffff05}.rating-feedback{width:100%;margin-top:10px;animation:.25s both msg-in;display:block}.rfb-label-row{color:var(--text-muted);margin-bottom:8px;padding-left:1px;font-size:11px}.rfb-options{border:1px solid var(--border2);border-radius:10px;display:flex;overflow:hidden}.rfb-option{cursor:pointer;border-right:1px solid var(--border);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:11px 8px;transition:background .15s;display:flex;position:relative}.rfb-option:last-child{border-right:none}.rfb-option:hover{background:#ffffff06}.rfb-option.chosen{background:#00ffb20d}.rfb-option.chosen:after{content:"";background:var(--green);height:2px;box-shadow:0 0 6px var(--green);border-radius:99px;position:absolute;bottom:0;left:20%;right:20%}.rfb-icon{font-size:15px;line-height:1}.rfb-name{color:var(--text);white-space:nowrap;font-size:12px;font-weight:500}.rfb-sub{color:var(--text-muted);white-space:nowrap;font-size:10px}.kw{color:#7dd3fc}.fn{color:var(--green)}.str{color:#fca5a5}.num{color:#fdba74}.cmt{color:var(--text-muted);font-style:italic}.tbl{color:#c084fc}[data-theme=light] .kw{color:#7c3aed}[data-theme=light] .fn{color:#2563eb}[data-theme=light] .str{color:#b91c1c}[data-theme=light] .num{color:#d97706}[data-theme=light] .tbl{color:#0f766e}.input-dock{z-index:20;background:linear-gradient(to top,var(--bg) 60%,transparent);justify-content:center;padding:20px 24px 32px;display:flex;position:absolute;bottom:0;left:0;right:0}.input-container{width:100%;max-width:880px}.input-console{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:#0a0a0af2;border:1.5px solid #00ffb21f;border-radius:18px;flex-direction:column;gap:0;width:100%;padding:14px 18px 16px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 0 0 1px #00ffb20d,0 0 48px #00ffb20a,0 12px 48px #0006}.input-console.focused{border-color:#00ffb259;box-shadow:0 0 0 1.5px #00ffb226,0 0 48px #00ffb21f,0 12px 48px #00000080}.input-row{align-items:flex-end;gap:10px;display:flex}.upload-btn{border:1px solid var(--border2);width:34px;height:34px;color:var(--text-dim);cursor:pointer;background:#ffffff05;border-radius:10px;flex-shrink:0;place-items:center;font-size:15px;transition:all .18s;display:none}.upload-btn:hover{color:var(--green);background:#00ffb20d;border-color:#00ffb24d}.textarea-wrap{flex:1}.input-textarea{resize:none;width:100%;color:var(--text);background:0 0;border:none;outline:none;min-height:44px;max-height:180px;padding:10px 4px;font-family:Inter,sans-serif;font-size:15px;line-height:1.6;overflow-y:auto}.input-textarea::placeholder{color:#cbd5e1a6;font-weight:400}.input-actions{flex-shrink:0;align-self:flex-end;align-items:center;gap:8px;display:flex}.model-pill{position:relative}.model-pill-btn{color:var(--text-dim);cursor:pointer;background:#00ffb20f;border:1.5px solid #00ffb240;border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:all .18s;display:flex}.model-pill-btn:hover,.model-pill-btn.open{color:var(--text);background:#00ffb21f;border-color:#00ffb280}.model-dot{background:var(--green);width:6px;height:6px;box-shadow:0 0 5px var(--green);border-radius:50%}.model-chevron{opacity:.5;font-size:9px;transition:transform .2s}.model-pill-btn.open .model-chevron{transform:rotate(180deg)}.model-dropdown{border:1px solid var(--border2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50;background:#0a0a0af7;border-radius:14px;width:240px;animation:.2s cubic-bezier(.2,0,0,1) ddIn;position:absolute;bottom:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 -8px 32px #00000080,0 0 0 1px #00ffb20f}@keyframes ddIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dd-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:10px 14px 6px;font-size:10px;font-weight:600}.model-opt{cursor:pointer;align-items:center;gap:10px;padding:9px 14px;transition:background .15s;display:flex}.model-opt:hover{background:#ffffff08}.model-opt.selected{background:#00ffb20a}.model-ico{border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.model-opt-name{color:var(--text);font-size:12.5px;font-weight:500}.model-opt-sub{color:var(--text-muted);font-size:11px}.model-chk{color:var(--green);margin-left:auto;font-size:12px}.dd-divider{background:var(--border);height:1px;margin:6px 0}.think-toggle{cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex}.toggle-info{flex:1}.toggle-name{color:var(--text);font-size:12.5px;font-weight:500}.toggle-sub{color:var(--text-muted);margin-top:1px;font-size:11px}.toggle-sw{background:var(--border2);border-radius:99px;flex-shrink:0;width:32px;height:18px;transition:background .2s;position:relative}.toggle-sw.on{background:#00ffb266}.toggle-knob{background:var(--text-muted);border-radius:50%;width:12px;height:12px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.toggle-sw.on .toggle-knob{background:var(--green);box-shadow:0 0 6px var(--green);transform:translate(14px)}.send-btn{cursor:pointer;width:42px;height:42px;color:var(--green);background:linear-gradient(135deg,#00ffb247 0%,#00ffb226 100%);border:1.5px solid #00ffb273;border-radius:12px;flex-shrink:0;place-items:center;font-size:18px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:grid;box-shadow:0 0 16px #00ffb240,0 4px 12px #0000004d}.send-btn:hover{background:linear-gradient(135deg,#00ffb261 0%,#00ffb238 100%);border-color:#00ffb2bf;transform:scale(1.08);box-shadow:0 0 24px #00ffb266,0 0 8px #00ffb280,0 4px 16px #0006}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.35;cursor:default;pointer-events:none;box-shadow:none}.send-icon{color:#000;font-size:15px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#0009;justify-content:center;align-items:center;animation:.2s ddIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border:1px solid var(--border2);border-radius:16px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 10px 40px #00000080}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-header h2{color:var(--text);margin:0;font-size:16px;font-weight:600}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:18px;transition:color .2s}.modal-close-btn:hover{color:var(--text)}.modal-body{flex-direction:column;gap:24px;padding:20px;display:flex}.settings-section h3{color:var(--text);margin:0 0 6px;font-size:13px;font-weight:600}.settings-desc{color:var(--text-dim);margin:0 0 12px;font-size:12px;line-height:1.5}.connection-box{border:1px solid var(--border);background:#ffffff05;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.connection-status{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.status-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.connected{background:var(--green);box-shadow:0 0 6px var(--green);animation:2.5s ease-in-out infinite dot-pulse}@keyframes dot-pulse{0%,to{box-shadow:0 0 4px var(--green)}50%{box-shadow:0 0 10px var(--green),0 0 4px var(--green)}}.test-btn{border:1px solid var(--border2);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-family:Inter,sans-serif;font-size:12px;transition:all .2s}.test-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.test-btn:disabled{opacity:.7;cursor:default}.test-btn.testing{color:var(--amber);border-color:#ffb34766}.toggle-row{border:1px solid var(--border);cursor:pointer;background:#ffffff04;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .2s;display:flex}.toggle-row:hover{background:#ffffff08}.toggle-info h4{color:var(--text);margin:0;font-size:13px;font-weight:500}.toggle-info p{color:var(--text-dim);margin:2px 0 0;font-size:11.5px}.switch-mod{background:var(--border2);border-radius:99px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.switch-mod.on{background:var(--green)}.knob-mod{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch-mod.on .knob-mod{transform:translate(16px)}.input-console.compact{gap:8px;padding:10px 12px 12px 16px}.dock-compact .input-textarea{min-height:24px;padding:2px 0;line-height:1.4}.toast{color:var(--green);opacity:0;pointer-events:none;z-index:99;white-space:nowrap;background:#00ffb21f;border:1px solid #00ffb24d;border-radius:8px;padding:8px 18px;font-size:12.5px;transition:all .3s;position:fixed;bottom:110px;left:50%;transform:translate(-50%)translateY(10px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:99px}.students-list{flex-direction:column;gap:8px;max-height:300px;display:flex;overflow-y:auto}.student-item{border:1px solid var(--border);background:#ffffff05;border-radius:8px;padding:10px 12px;transition:all .2s}.student-item:hover{background:#00ffb20d;border-color:#00ffb233}.student-name{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:500}.student-time{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.4}.whisper-answer{background:linear-gradient(135deg,#00ffb20d 0%,#00ffb205 100%);border:1px solid #00ffb233;border-radius:12px;padding:16px 18px;box-shadow:inset 0 0 0 1px #00ffb20a}.answer-header{color:var(--green);text-transform:uppercase;letter-spacing:.08em;opacity:.8;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.answer-icon{font-size:14px}.answer-text{color:var(--text);font-size:14.5px;font-weight:400;line-height:1.85}.markdown-content{flex-direction:column;gap:6px;display:flex}.markdown-content p{margin:0;font-size:14.5px;line-height:1.85}.markdown-content strong{color:var(--green);font-weight:600}.markdown-content em{color:var(--text-dim);font-style:italic}.markdown-content code{color:#00ffb2d9;background:#00ffb21a;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:12.5px}.answer-heading{color:var(--text);letter-spacing:.01em;margin:8px 0 3px;font-size:14px;font-weight:700}.answer-list{flex-direction:column;gap:4px;margin:4px 0;padding-left:18px;display:flex}.answer-list li{color:var(--text);padding-left:4px;font-size:14.5px;line-height:1.8}.answer-list li::marker{color:var(--green)}.answer-spacer{height:8px}.whisper-data{background:#080808;border:1px solid #00ffb21f;border-radius:12px;overflow:hidden;box-shadow:0 2px 20px #0000004d}.data-header{color:var(--text);letter-spacing:.02em;background:#00ffb205;border-bottom:1px solid #00ffb214;align-items:center;gap:8px;padding:12px 16px;font-size:12px;font-weight:600;display:flex}.data-icon{font-size:14px}.show-all-btn{color:#00ffb2a6;cursor:pointer;background:0 0;border:1px solid #00ffb240;border-radius:6px;padding:4px 11px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;transition:all .2s}.show-all-btn:hover{color:var(--green);background:#00ffb20f;border-color:#00ffb299}.show-all-btn.active{color:var(--green);background:#00ffb21f;border-color:#00ffb280}.export-excel-btn{color:#00c864b3;cursor:pointer;background:0 0;border:1px solid #00c8644d;border-radius:6px;margin-left:auto;padding:4px 11px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;transition:all .2s}.export-excel-btn:hover{color:#00c864;background:#00c86412;border-color:#00c864b3}.data-table{overflow-x:auto}.data-table table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:#00ffb2bf;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#00ffb20d;border-bottom:1px solid #00ffb21f;padding:10px 14px;font-family:Inter,sans-serif;font-size:10.5px;font-weight:600}.data-table td{color:var(--text-dim);white-space:nowrap;border-bottom:1px solid #ffffff0a;padding:11px 14px;font-family:Inter,sans-serif;font-size:13px;line-height:1.4}.data-table tbody tr:last-child td{border-bottom:none}.data-table tr:nth-child(2n) td{background:#ffffff03}.data-table tr:hover td{color:var(--text);background:#00ffb20a}.data-table td.number{text-align:right;color:#00ffb2e6;letter-spacing:-.01em;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.data-table td.date{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:12px}[data-theme=light]{--bg:#f1f5f9;--surface:#fff;--border:#dde3ec;--border2:#c4cfde;--green:#6366f1;--green-dim:#6366f11f;--text:#0f172a;--text-dim:#334155;--text-muted:#64748b;--red:#dc2626;--amber:#d97706}[data-theme=light] body:before{background-image:linear-gradient(#6366f10a 1px,#0000 1px),linear-gradient(90deg,#6366f10a 1px,#0000 1px)}[data-theme=light] .sidebar{border-right-color:var(--border);box-shadow:1px 0 0 var(--border);background:#fff}[data-theme=light] .rail{background:#fff}[data-theme=light] .input-console{border-color:var(--border);box-shadow:0 -1px 0 var(--border);background:#fffffff2}[data-theme=light] .model-dropdown{border-color:var(--border);background:#fff;box-shadow:0 8px 24px #0000001f}[data-theme=light] .chip,[data-theme=light] .query-btn,[data-theme=light] .action-btn,[data-theme=light] .query-header,[data-theme=light] .whisper-think-header:hover{color:var(--text-dim);background:#0f172a0d}[data-theme=light] .history-item:hover:not(.active),[data-theme=light] .footer-item:hover,[data-theme=light] .model-pill-btn,[data-theme=light] .model-opt:hover{background:#0f172a0f}[data-theme=light] .fix-textarea{border-color:var(--border2);color:var(--text);background:#f8fafc}[data-theme=light] .msg-user-bubble{color:#1e1b4b;background:#eef2ff;border:1px solid #c7d2fe}[data-theme=light] .whisper-think{border-color:var(--border);background:#f8fafc}[data-theme=light] .connection-box,[data-theme=light] .toggle-row{border:1px solid var(--border);background:#f8fafc}[data-theme=light] .toggle-row:hover{background:#f1f5f9}[data-theme=light] .hero-title{background:linear-gradient(135deg,#312e81 0%,#6366f1 60%,#818cf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light]::-webkit-scrollbar-thumb{background:#c4cfde}[data-theme=light]::-webkit-scrollbar-track{background:#f1f5f9}[data-theme=light] .whisper-data{border-color:var(--border);background:#fff;box-shadow:0 2px 12px #0000000f}[data-theme=light] .data-header{border-bottom-color:var(--border);color:var(--text);background:#f8fafc}[data-theme=light] .data-table th{color:#4338ca;background:#eef2ff;border-bottom-color:#c7d2fe}[data-theme=light] .data-table th:hover{background:#e0e7ff}[data-theme=light] .th-sorted{color:#4338ca!important;background:#e0e7ff!important}[data-theme=light] .data-table td{color:var(--text);border-bottom-color:var(--border)}[data-theme=light] .data-table tr:nth-child(2n) td{background:#f8fafc}[data-theme=light] .data-table tr:hover td{color:var(--text);background:#6366f10d}[data-theme=light] .data-table td.number{color:#4338ca}[data-theme=light] .data-table td.date{color:var(--text-muted)}[data-theme=light] .show-all-btn{color:var(--green);border-color:#6366f166}[data-theme=light] .show-all-btn:hover{border-color:var(--green);background:#6366f114}[data-theme=light] .whisper-answer{background:#eef2ff;border-color:#c7d2fe}[data-theme=light] .answer-text{color:var(--text)}.skeleton-line{background:linear-gradient(90deg,var(--border) 25%,var(--border2) 50%,var(--border) 75%);background-size:200% 100%;border-radius:4px;height:12px;margin-bottom:8px;animation:1.6s ease-in-out infinite loading}.skeleton-line:nth-child(2){animation-delay:.15s}.skeleton-line:nth-child(3){animation-delay:.3s}.skeleton-line:nth-child(4){animation-delay:.45s}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-query-skeleton{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:8px 0;padding:14px 16px}.aqs-bar{align-items:center;margin-bottom:14px;display:flex}.aqs-label{color:var(--text-muted);letter-spacing:.03em;font-size:12px}.no-data-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.no-data-icon{opacity:.5;margin-bottom:12px;font-size:48px}.no-data-text{color:var(--text-dim);font-size:14px;line-height:1.6}.data-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table table{font-variant-numeric:tabular-nums}.data-table tr td:first-child{padding-left:16px}.data-table tr td:last-child{padding-right:16px}[data-theme=light] .whisper-explain code{color:#4338ca;background:#6366f114;border-color:#6366f133}[data-theme=light] .ai-model-tag,[data-theme=light] .regen-badge{color:var(--green);background:#6366f114;border-color:#6366f133}.history-item.active{color:var(--text);background:#00ffb212;border-color:#00ffb24d;padding-left:16px;box-shadow:0 0 0 1px #00ffb214,inset 0 0 14px #00ffb20a}@keyframes answer-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.whisper-answer{animation:.35s cubic-bezier(.2,0,0,1) both answer-in}.whisper-data{animation:.45s cubic-bezier(.2,0,0,1) both answer-in}.thread-empty{pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:80px 20px;display:flex}.thread-empty-icon{opacity:.15;font-size:36px;line-height:1}.thread-empty-title{color:var(--text-muted);font-size:15px;font-weight:500}.thread-empty-sub{color:var(--text-muted);opacity:.6;font-size:12px}.scroll-to-bottom{color:var(--green);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;white-space:nowrap;background:#050505eb;border:1px solid #00ffb259;border-radius:99px;align-items:center;gap:6px;padding:7px 16px;font-family:Inter,sans-serif;font-size:12px;transition:all .18s;animation:.2s ddIn;display:inline-flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}.scroll-to-bottom:hover{background:#00ffb21f;box-shadow:0 0 16px #00ffb233}.msg-timestamp{color:var(--text-muted);opacity:.7;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px}.msg-user-time{color:var(--text-muted);text-align:right;opacity:.6;margin-top:3px;padding-right:4px;font-family:JetBrains Mono,monospace;font-size:10px}.query-code{color:var(--text);padding:12px 0;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.6;display:block;overflow-x:auto}.sql-ln-row{min-width:0;line-height:1.6;display:flex}.sql-ln-blank{opacity:.5;line-height:.7}.sql-ln{min-width:32px;color:var(--text-muted);opacity:.4;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);font-size:12px;line-height:inherit;flex-shrink:0;padding:0 10px 0 14px;display:inline-block}.sql-ln-code{white-space:pre;line-height:inherit;flex:1;padding:0 14px}.sql-hint{color:#00ffb280;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;animation:.4s both hint-fade}@keyframes hint-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.data-table th{cursor:pointer;white-space:nowrap}.data-table th:hover{background:#00ffb21a}.th-sorted{color:var(--green)!important;background:#00ffb21a!important}.sort-icon{opacity:.5;margin-left:2px;font-size:9px}.th-sorted .sort-icon{opacity:1;color:var(--green)}.row-count-badge{border:1px solid #0000;border-radius:99px;align-items:center;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;display:inline-flex}.badge-green{color:var(--green);background:#00ffb21a;border-color:#00ffb24d}.badge-amber{color:var(--amber);background:#ffb3471a;border-color:#ffb3474d}.badge-red{color:var(--red);background:#ff4f4f1a;border-color:#ff4f4f4d}.exec-bar-wrap{flex-shrink:0;align-items:center;gap:6px;margin-left:4px;display:flex}.exec-bar{background:#ffffff0f;border-radius:99px;flex-shrink:0;width:52px;height:3px;position:relative;overflow:hidden}.exec-bar-fill{border-radius:99px;height:100%;transition:width .5s,background .4s;position:absolute;top:0;left:0}.exec-bar-label{color:var(--text-muted);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10.5px}.answer-copy-btn{opacity:.7;margin-left:auto;padding:3px 8px!important;font-size:10px!important}.answer-copy-btn:hover{opacity:1!important}.chart-container{border-bottom:1px solid var(--border);padding:16px 12px 8px}.chart-container .recharts-cartesian-axis-tick text{font-family:JetBrains Mono,monospace;font-size:10px}.chart-container .recharts-tooltip-wrapper{font-family:Inter,sans-serif}.query-btn:disabled,.query-btn[disabled]{opacity:.3;cursor:default;pointer-events:none}.rename-input{color:var(--text);min-width:0;caret-color:var(--green);background:#00ffb20a;border:1px solid #00ffb266;border-radius:5px;outline:none;flex:1;padding:2px 6px;font-family:Inter,sans-serif;font-size:12.5px}.rename-input:focus{border-color:#00ffb2b3;box-shadow:0 0 0 1px #00ffb21a}.history-rename-btn{color:var(--text-muted);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:2px 3px;font-size:11px;line-height:1;transition:all .15s;display:none}.history-rename-btn:hover{opacity:1;color:var(--green);background:#00ffb214}.history-item:hover .history-rename-btn,.history-item.active .history-rename-btn{display:block}.history-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.history-pin-btn{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:2px 3px;font-size:10px;line-height:1;transition:all .15s;display:none}.history-pin-btn:hover{opacity:1;background:#00ffb21a}.history-pin-btn.pinned{opacity:1;display:block}.history-item:hover .history-pin-btn,.history-item.active .history-pin-btn{display:block}.sidebar.collapsed .history-pin-btn{display:none!important}.history-item.pinned .history-icon{opacity:1}.sidebar-pin-label{letter-spacing:.1em;color:#00ffb280;text-transform:uppercase;margin-top:4px;padding:4px 10px 2px;font-size:9px;font-weight:700}.search-wrap{padding:0 0 4px;animation:.18s ddIn}.search-input{border:1px solid var(--border2);width:100%;color:var(--text);background:#ffffff08;border-radius:8px;outline:none;padding:7px 10px;font-family:Inter,sans-serif;font-size:12.5px;transition:border-color .2s}.search-input:focus{border-color:#00ffb266}.search-input::placeholder{color:var(--text-muted)}.search-highlight{color:var(--green);background:#00ffb22e;border-radius:2px;padding:0 1px;font-style:normal}.history-empty{text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:28px 12px;display:flex}.history-empty-icon{opacity:.12;margin-bottom:2px;font-size:28px;line-height:1}.history-empty-title{color:var(--text-muted);font-size:12.5px;font-weight:500}.history-empty-sub{color:var(--text-muted);opacity:.6;font-size:11px;line-height:1.4}.run-error{color:#ff8080;background:#ff4f4f14;border:1px solid #ff4f4f40;border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.5}.session-alert{color:var(--amber);background:#ffb34712;border:1px solid #ffb34738;border-radius:8px;padding:10px 14px;font-size:12.5px;line-height:1.5}[data-theme=light] .search-input{border-color:var(--border2);color:var(--text);background:#f8fafc}[data-theme=light] .search-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #6366f11a}[data-theme=light] .thread-empty-icon{opacity:.1}[data-theme=light] .row-count-badge.badge-green{color:var(--green);background:#6366f11a;border-color:#6366f14d}[data-theme=light] .chart-container{border-color:var(--border);background:#fff}[data-theme=light] .history-item.active{color:#3730a3;background:#eef2ff;border-color:#c7d2fe;box-shadow:0 0 0 1px #6366f114}[data-theme=light] .history-item.active:before{background:#6366f1;box-shadow:0 0 8px #6366f1}[data-theme=light] .rail-chat-btn.active{color:var(--green);background:#6366f11a;border-color:#6366f159}[data-theme=light] .rename-input{background:#6366f10a;border-color:#6366f14d}[data-theme=light] .whisper-query{background:#f8f9ff;border-color:#d4d8f0;box-shadow:0 1px 4px #6366f10f}[data-theme=light] .query-code{background:#f4f5fe;border-radius:0 0 10px 10px}[data-theme=light] .sql-ln{color:#94a3b8;opacity:1;border-right-color:#c7d2fe}[data-theme=light] .sql-ln-blank .sql-ln{border-right-color:#e2e8f0}[data-theme=light] .new-chat-btn{color:#4338ca;background:#6366f10f;border-color:#6366f166}[data-theme=light] .new-chat-btn:hover{background:#6366f11f;border-color:#6366f1b3;box-shadow:0 0 18px #6366f126}[data-theme=light] .collapse-btn{border-color:var(--border2);color:var(--text-muted)}[data-theme=light] .collapse-btn:hover{color:var(--green);background:#6366f10f;border-color:#6366f166}[data-theme=light] .footer-item{color:var(--text-muted)}[data-theme=light] .footer-item:hover{color:var(--text);background:#0f172a0f}[data-theme=light] .sidebar-pin-label{color:#6366f199}[data-theme=light] .exec-bar{background:#00000014}[data-theme=light] .run-error{color:#b91c1c;background:#dc26260f;border-color:#dc262633}[data-theme=light] .session-alert{color:#92400e;background:#d9770612;border-color:#d9770640}[data-theme=light] .scroll-to-bottom{color:var(--green);background:#fffffff2;border-color:#6366f166;box-shadow:0 4px 20px #0000001a}[data-theme=light] .scroll-to-bottom:hover{background:#6366f114}[data-theme=light] .search-highlight{color:#3730a3;background:#6366f126}[data-theme=light] .token-cost-chip{color:var(--text-dim);background:#0000000d;border-color:#0000001a}[data-theme=light] .query-edit-textarea{color:var(--text);background:#f5f3ff;border-color:#c7d2fe}[data-theme=light] .mcq-badge{color:#4338ca;background:#6366f11a;border-color:#6366f140}[data-theme=light] .mcq-option:hover:not(.disabled){background:#6366f10f;border-color:#6366f133}[data-theme=light] .mcq-option.selected{color:#3730a3;background:#eef2ff;border-color:#a5b4fc}[data-theme=light] .mcq-radio.checked{color:#6366f1}[data-theme=light] .mcq-dot.active{background:#6366f1;border-color:#6366f1}[data-theme=light] .mcq-dot.answered{background:#6366f133;border-color:#6366f180}[data-theme=light] .mcq-card{background:#fafbff;border-color:#c7d2fe}[data-theme=light] .mcq-submit-btn.ready{color:#4338ca;background:#6366f11a;border-color:#6366f180}[data-theme=light] .mcq-submit-btn.ready:hover{background:#6366f12e}[data-theme=light] .mcq-next-btn.ready{color:#4338ca;background:#6366f114;border-color:#6366f180}[data-theme=light] .mcq-toggle-pill.active{color:#4338ca;background:#6366f117;border-color:#6366f166}[data-theme=light] .auto-fix-badge{color:#92400e;background:#d977061a;border-color:#d977064d}[data-theme=light] .lms-switch-btn.active{color:#3730a3;background:#eef2ff;border-color:#a5b4fc}[data-theme=light] .lms-switch-btn.active .lms-switch-dot{background:#6366f1}[data-theme=light] .test-btn.connected{color:#059669;border-color:#05966966}[data-theme=light] .test-btn.failed{color:#dc2626;border-color:#dc262666}.mcq-message{padding-bottom:8px}.mcq-badge{letter-spacing:.06em;color:var(--green);background:#00ffb21a;border:1px solid #00ffb240;border-radius:99px;align-items:center;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.mcq-intro{color:var(--text-dim);padding:12px 0 4px;font-size:14px;line-height:1.6}.mcq-questions{flex-direction:column;gap:16px;padding:10px 0;display:flex}.mcq-question{border:1px solid var(--border);background:#ffffff04;border-radius:10px;padding:14px 16px;transition:border-color .2s}.mcq-question:hover{border-color:var(--border2)}.mcq-question.locked{opacity:.75;pointer-events:none}.mcq-question-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.mcq-number{color:var(--green);flex-shrink:0;font-size:16px;line-height:1}.mcq-question-text{color:var(--text);font-size:13.5px;font-weight:500;line-height:1.5}.mcq-options{flex-direction:column;gap:4px;display:flex}.mcq-option{cursor:pointer;color:var(--text-dim);text-align:left;background:#ffffff05;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-family:Inter,sans-serif;font-size:12.5px;transition:all .18s;display:flex}.mcq-option:hover:not(.disabled){color:var(--text);background:#00ffb20a;border-color:#00ffb226}.mcq-option.selected{color:var(--green);background:#00ffb214;border-color:#00ffb259}.mcq-option.disabled{cursor:default}.mcq-radio{text-align:center;flex-shrink:0;width:16px;font-size:14px;transition:color .15s}.mcq-radio.checked{color:var(--green)}.mcq-option-label{color:var(--text-muted);flex-shrink:0;min-width:16px;font-size:11px;font-weight:600}.mcq-option-text{flex:1}.mcq-actions{justify-content:flex-end;align-items:center;gap:10px;padding:8px 0 4px;display:flex}.mcq-skip-btn{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:8px 18px;font-family:Inter,sans-serif;font-size:12.5px;transition:all .18s}.mcq-skip-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text);background:#ffffff08}.mcq-skip-btn:disabled{opacity:.4;cursor:default}.mcq-submit-btn{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:#ffffff08;border-radius:8px;padding:8px 22px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;transition:all .22s}.mcq-submit-btn.ready{color:var(--green);background:#00ffb214;border-color:#00ffb280;box-shadow:0 0 12px #00ffb21a}.mcq-submit-btn.ready:hover{background:#00ffb226;border-color:#00ffb2b3;box-shadow:0 0 20px #00ffb22e}.mcq-submit-btn:disabled{opacity:.4;cursor:default}.mcq-option-text-wrap{cursor:default}.mcq-free-text-inline{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0;font-family:Inter,sans-serif;font-size:13px}.mcq-free-text-inline::placeholder{color:var(--text-muted)}.mcq-free-text-inline:disabled{opacity:.5;cursor:default}.mcq-progress{align-items:center;gap:6px;padding:8px 0 4px;display:flex}.mcq-dot{border:1.5px solid var(--border2);cursor:pointer;background:0 0;border-radius:50%;width:10px;height:10px;padding:0;transition:all .18s}.mcq-dot.active{border-color:var(--green);background:var(--green);transform:scale(1.2)}.mcq-dot.answered{background:#00ffb240;border-color:#00ffb280}.mcq-progress-label{color:var(--text-muted);margin-left:6px;font-size:11px}.mcq-card{border:1px solid var(--border2);background:#ffffff04;border-radius:12px;margin:8px 0;padding:18px 16px}.mcq-card-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.mcq-prev-btn{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:7px 16px;font-family:Inter,sans-serif;font-size:12.5px;transition:all .18s}.mcq-prev-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.mcq-prev-btn:disabled{opacity:.3;cursor:default}.mcq-skip-this-btn{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:7px 16px;font-family:Inter,sans-serif;font-size:12.5px;transition:all .18s}.mcq-skip-this-btn:hover{color:#ff9632cc;border-color:#ff963266}.mcq-next-btn{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:#ffffff08;border-radius:8px;padding:7px 18px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;transition:all .22s}.mcq-next-btn.ready{color:var(--green);background:#00ffb214;border-color:#00ffb280}.mcq-next-btn:hover{color:var(--green);background:#00ffb20f;border-color:#00ffb280}.mcq-submitted-state{color:var(--text-muted);align-items:center;gap:8px;padding:12px 4px;font-size:13px;display:flex}.mcq-spinner{font-size:16px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mcq-toggle-pill{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:#ffffff05;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:5px 10px;font-family:Inter,sans-serif;font-size:11.5px;font-weight:500;transition:all .2s;display:flex}.mcq-toggle-pill:hover{color:var(--text);background:#ffffff0a;border-color:#00ffb24d}.mcq-toggle-pill.active{color:var(--green);background:#00ffb214;border-color:#00ffb266}.mcq-toggle-pill.active:hover{background:#00ffb224;border-color:#00ffb299}.mcq-toggle-icon{font-size:12px;font-weight:700;line-height:1}.mcq-toggle-label{letter-spacing:.02em;font-size:11px}.history-delete-btn.confirm{border-radius:4px;font-weight:700;color:var(--amber)!important;background:#ffb3471f!important}.history-delete-btn.confirm:hover{color:var(--amber)!important;background:#ffb34733!important}.test-btn.connected{color:var(--green);border-color:#00ffb266}.test-btn.failed{color:var(--red);border-color:#ff4f4f66}@media (width<=768px){:root{--sidebar:240px}html,body{overflow:hidden}.app{flex-direction:column}.sidebar{z-index:200;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 32px #0009}.sidebar:not(.collapsed){transform:translate(0)}.sidebar.collapsed{width:52px;min-width:52px;transform:translate(-100%)}.sidebar-backdrop{z-index:199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:none;position:fixed;inset:0}.sidebar:not(.collapsed)~.sidebar-backdrop{display:block}.main{width:100%}.thread{max-width:100%;padding:0 12px}.hero-title{font-size:36px}.hero-sub{letter-spacing:.08em;font-size:13px}.hero-chips{gap:8px;padding:0 12px}.chip{padding:8px 12px;font-size:12px}.conversation{padding:20px 0 200px}.input-dock{padding:12px 12px 20px}.input-container{max-width:100%}.msg-user-bubble{max-width:90%}.input-row{flex-wrap:wrap;gap:8px}.input-actions{justify-content:flex-end;width:100%}.model-dropdown{width:auto;left:0;right:0}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 10px}.modal-content{max-width:calc(100% - 24px);margin:12px}}@media (width<=480px){.hero-title{font-size:28px}.hero-chips{flex-direction:column;align-items:stretch}.chip{white-space:normal}.rating-row{gap:8px}.action-btns{flex-wrap:wrap}}.lms-switch-row{gap:8px;margin-top:4px;display:flex}.lms-switch-btn{border:1px solid var(--border2);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.lms-switch-btn:hover{border-color:var(--green);color:var(--text)}.lms-switch-btn.active{border-color:var(--green);color:var(--green);background:#00ffb212}.lms-switch-dot{opacity:.6;background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.lms-switch-btn.active .lms-switch-dot{opacity:1}.ap-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ap-panel{background:var(--bg-secondary,#13151f);border:1px solid var(--border2);border-radius:14px;flex-direction:column;width:100%;max-width:1080px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000080}.ap-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.ap-header-left{align-items:center;gap:14px;display:flex}.ap-header-icon{color:#a78bfa;background:#a78bfa1f;border:1px solid #a78bfa40;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.ap-title{color:var(--text);margin:0;font-size:17px;font-weight:700}.ap-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:12px}.ap-header-right{align-items:center;gap:10px;display:flex}.ap-btn-primary{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s}.ap-btn-primary:hover{background:#4338ca}.ap-btn-primary:disabled{opacity:.55;cursor:default}.ap-btn-ghost{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:7px 13px;font-family:inherit;font-size:12px;transition:all .15s}.ap-btn-ghost:hover{border-color:var(--text-muted);color:var(--text)}.ap-btn-close{border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;padding:5px 10px;font-size:15px;line-height:1;transition:all .15s}.ap-btn-close:hover{border-color:var(--text-muted);color:var(--text)}.ap-error-banner{color:#fca5a5;background:#ef44441a;border-bottom:1px solid #ef444433;justify-content:space-between;align-items:center;padding:10px 20px;font-size:13px;display:flex}.ap-error-banner button{color:#fca5a5;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:15px}.ap-search-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 20px;display:flex}.ap-search-wrap{flex:1;align-items:center;display:flex;position:relative}.ap-search-icon{color:var(--text-muted);pointer-events:none;font-size:16px;position:absolute;left:12px}.ap-search{background:var(--surface);border:1px solid var(--border2);width:100%;color:var(--text);border-radius:8px;outline:none;padding:8px 36px 8px 34px;font-family:inherit;font-size:13px}.ap-search:focus{border-color:#00ffb266}[data-theme=light] .ap-search:focus{border-color:#6366f180;box-shadow:0 0 0 3px #6366f114}.ap-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px;position:absolute;right:10px}.ap-table-wrap{flex:1;padding:0;overflow-y:auto}.ap-table{border-collapse:collapse;width:100%}.ap-table thead tr{border-bottom:1px solid var(--border)}.ap-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:left;white-space:nowrap;background:var(--bg-secondary,#13151f);z-index:1;padding:11px 16px;font-size:11px;font-weight:600;position:sticky;top:0}.ap-table td{color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px;font-size:13px}.ap-table tbody tr:hover td{background:#ffffff06}.ap-row-inactive td{opacity:.55}.ap-empty{text-align:center;color:var(--text-muted);padding:48px;font-size:14px}.ap-td-user{align-items:center;gap:11px;display:flex}.ap-avatar{color:#a78bfa;background:#a78bfa26;border:1px solid #a78bfa40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.ap-avatar.large{width:42px;height:42px;font-size:16px}.ap-user-info{flex-direction:column;gap:1px;min-width:0;display:flex}.ap-user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ap-user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ap-role-badge{white-space:nowrap;border:1px solid;border-radius:99px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.ap-lms-badge{color:var(--green);text-transform:capitalize;background:#00ffb212;border:1px solid #00ffb226;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-block}.ap-dash{color:var(--text-muted);font-size:12px}.ap-status{align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.ap-status.active{color:#4ade80}.ap-status.inactive{color:#6b7280}.ap-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.ap-td-login{white-space:nowrap}.ap-login-time{color:var(--text-muted);font-size:12px}.ap-actions{flex-wrap:wrap;gap:6px;display:flex}.ap-action-btn{background:var(--surface);border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s}.ap-action-btn:hover{border-color:var(--text-muted);color:var(--text)}.ap-action-btn.danger{color:#f87171;border-color:#ef44444d}.ap-action-btn.danger:hover{background:#ef44441a;border-color:#ef444480}.ap-action-btn.success{color:#4ade80;border-color:#4ade804d}.ap-action-btn.success:hover{background:#4ade801a;border-color:#4ade8080}.ap-footer{border-top:1px solid var(--border);color:var(--text-muted);text-align:right;padding:10px 20px;font-size:12px}.ap-modal-overlay{z-index:300;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ap-modal{background:var(--bg-secondary,#13151f);border:1px solid var(--border2);border-radius:12px;width:100%;max-width:460px;overflow:hidden;box-shadow:0 20px 60px #00000080}.ap-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.ap-modal-header h3{color:var(--text);margin:0;font-size:15px;font-weight:700}.ap-modal-form{flex-direction:column;gap:14px;padding:20px;display:flex}.ap-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ap-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.ap-input{background:var(--surface);border:1px solid var(--border2);color:var(--text);border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.ap-input:focus{border-color:#00ffb266}[data-theme=light] .ap-input:focus{border-color:#6366f180;box-shadow:0 0 0 3px #6366f114}.ap-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.ap-modal-actions{justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.ap-pw-body{flex-direction:column;gap:12px;padding:20px;display:flex}.ap-pw-user{align-items:center;gap:10px;margin-bottom:4px;display:flex}.ap-pw-box{background:var(--surface);border:1px solid var(--border2);border-radius:8px;align-items:center;gap:10px;padding:12px 16px;display:flex}.ap-pw-code{color:var(--green);letter-spacing:.08em;word-break:break-all;flex:1;font-family:JetBrains Mono,monospace;font-size:16px}.ap-btn-copy{background:var(--surface);border:1px solid var(--border2);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;padding:5px 10px;font-family:inherit;font-size:12px;transition:all .15s}.ap-btn-copy:hover{border-color:var(--green);color:var(--green)}[data-theme=light] .ap-panel{background:#f8fafc;box-shadow:0 24px 64px #0000002e}[data-theme=light] .ap-table th{background:#f1f5f9}[data-theme=light] .ap-table tbody tr:hover td{background:#6366f10a}[data-theme=light] .ap-modal{background:#fff;box-shadow:0 20px 60px #0000002e}[data-theme=light] .ap-input,[data-theme=light] .ap-search{background:#fff}[data-theme=light] .ap-pw-box{background:#f5f3ff;border-color:#c7d2fe}[data-theme=light] .ap-pw-code{color:#4338ca}[data-theme=light] .ap-btn-copy:hover{color:#4338ca;border-color:#6366f1}[data-theme=light] .ap-lms-badge{color:#4338ca;background:#6366f114;border-color:#6366f133}[data-theme=light] .ap-error-banner{color:#b91c1c;background:#dc262612;border-bottom-color:#dc262633}[data-theme=light] .ap-error-banner button{color:#b91c1c}[data-theme=light] .ap-action-btn{background:#fff}[data-theme=light] .ap-action-btn.success{color:#059669;border-color:#0596694d}[data-theme=light] .ap-action-btn.success:hover{background:#05966912;border-color:#05966980}.answer-table-wrap{border:1px solid #00ffb226;border-radius:8px;margin:4px 0;overflow-x:auto}.answer-table{border-collapse:collapse;width:100%;font-size:13px}.answer-table thead tr{background:#00ffb20f;border-bottom:1px solid #00ffb22e}.answer-table th{text-align:left;color:#00ffb2cc;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:9px 14px;font-size:11px;font-weight:700}.answer-table td{color:var(--text-dim);border-bottom:1px solid #ffffff0a;padding:9px 14px;line-height:1.4}.answer-table tbody tr:last-child td{border-bottom:none}.answer-table tbody tr:nth-child(2n) td{background:#ffffff03}.answer-table tbody tr:hover td{color:var(--text);background:#00ffb20a}[data-theme=light] .answer-table-wrap{border-color:#c7d2fe}[data-theme=light] .answer-table thead tr{background:#eef2ff;border-bottom-color:#c7d2fe}[data-theme=light] .answer-table th{color:#4338ca}[data-theme=light] .answer-table td{color:var(--text);border-bottom-color:var(--border)}[data-theme=light] .answer-table tbody tr:nth-child(2n) td{background:#f8fafc}[data-theme=light] .answer-table tbody tr:hover td{background:#6366f10d}.sidebar-user-info{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;padding:6px 12px 2px;font-size:11px;overflow:hidden}.sidebar-user-role{color:var(--text-muted);border:1px solid var(--border2);background:#ffffff0f;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px}[data-theme=light] .sidebar-user-info{color:var(--text-muted)}[data-theme=light] .sidebar-user-role{border-color:var(--border2);background:#0f172a0f}.msg-ai-error-label{color:var(--red)}.msg-ai-error-body{color:var(--red);opacity:.9;padding:16px;font-size:13px;line-height:1.5}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
