:root{--ink: #111111;--ink-soft: #333333;--gray-2: #999999;--gray-3: #cccccc;--line: #ebebeb;--white: #ffffff;--accent: #00c853;--accent-hover: #00b24a;--blue: #4d6bfe;--danger: #d93025;--sp-sm: 8px;--sp-md: 12px;--sp-lg: 16px;--sp-xl: 24px;--radius-sm: 8px;--radius-lg: 16px;--bg: #ffffff;--glass-bg: rgba(255, 255, 255, .72);--glass-bg-strong: rgba(255, 255, 255, .86);--glass-hover: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .7);--glass-shadow: 0 4px 24px rgba(30, 64, 175, .1);--glass-focus-border: rgba(22, 119, 255, .45);--user-bubble-bg: rgba(17, 17, 17, .8);--user-bubble-fg: #ffffff;--bg-base: linear-gradient(160deg, #c9dcff 0%, #e9f1ff 48%, #bfd6ff 100%);--bg-b1: radial-gradient(circle, rgba(77, 107, 254, .72) 0%, rgba(77, 107, 254, 0) 70%);--bg-b2: radial-gradient(circle, rgba(29, 143, 255, .62) 0%, rgba(29, 143, 255, 0) 70%);--bg-b3: radial-gradient(circle, rgba(96, 140, 255, .55) 0%, rgba(96, 140, 255, 0) 70%);--bg-b4: radial-gradient(circle, rgba(64, 88, 240, .45) 0%, rgba(64, 88, 240, 0) 70%);--veil-bg: rgba(255, 255, 255, .16);--chip-bg: rgba(77, 107, 254, .1);--sql-bg: rgba(17, 17, 17, .05)}body.dark{--ink: #f2f2f2;--ink-soft: #cfcfcf;--gray-2: #7a7a7a;--gray-3: #4d4d4d;--line: #2a2a2a;--white: #111111;--bg: #0b1020;--glass-bg: rgba(255, 255, 255, .11);--glass-bg-strong: rgba(255, 255, 255, .16);--glass-hover: rgba(255, 255, 255, .16);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .35);--glass-focus-border: rgba(120, 180, 255, .5);--user-bubble-bg: rgba(238, 243, 251, .88);--user-bubble-fg: #111111;--danger: #ff7a70;--bg-base: linear-gradient(160deg, #0a1026 0%, #14244a 48%, #0b1530 100%);--bg-b1: radial-gradient(circle, rgba(77, 107, 254, .75) 0%, rgba(77, 107, 254, 0) 70%);--bg-b2: radial-gradient(circle, rgba(38, 120, 230, .62) 0%, rgba(38, 120, 230, 0) 70%);--bg-b3: radial-gradient(circle, rgba(90, 140, 255, .5) 0%, rgba(90, 140, 255, 0) 70%);--bg-b4: radial-gradient(circle, rgba(64, 88, 240, .42) 0%, rgba(64, 88, 240, 0) 70%);--veil-bg: rgba(11, 16, 32, .16);--chip-bg: rgba(140, 170, 255, .16);--sql-bg: rgba(255, 255, 255, .07)}*{margin:0;padding:0;box-sizing:border-box}.bg-layer{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none}.bg-blob{position:absolute;border-radius:50%;filter:blur(10px);will-change:transform,opacity;animation-name:driftX;animation-timing-function:linear;animation-iteration-count:infinite}.bg-blob.b1{width:62vmin;height:62vmin;top:-18vmin;left:0;background:var(--bg-b1);animation-duration:30s}.bg-blob.b2{width:48vmin;height:48vmin;top:26vmin;left:0;background:var(--bg-b2);animation-duration:42s;animation-delay:-14s}.bg-blob.b3{width:70vmin;height:70vmin;bottom:-26vmin;left:0;background:var(--bg-b3);animation-duration:52s;animation-delay:-30s}.bg-blob.b4{width:36vmin;height:36vmin;top:8vmin;left:0;background:var(--bg-b4);animation-duration:36s;animation-delay:-22s}@keyframes driftX{0%{transform:translate(-75vmin) translateY(0);opacity:0}12%{opacity:1}50%{transform:translate(50vmin) translateY(-4vmin);opacity:1}88%{opacity:1}to{transform:translate(125vmin) translateY(2vmin);opacity:0}}.bg-veil{position:fixed;inset:0;z-index:1;pointer-events:none;background:var(--veil-bg);backdrop-filter:blur(90px) saturate(150%);-webkit-backdrop-filter:blur(90px) saturate(150%)}@media(prefers-reduced-motion:reduce){.bg-blob{animation:none;transform:translate(30vmin);opacity:1}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Microsoft YaHei,sans-serif;background:var(--bg-base),var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow:hidden}.app{width:100%;height:100vh;display:flex;flex-direction:column;position:relative;z-index:2}.app-header{position:sticky;top:0;height:86px;margin:0 0 -22px;flex-shrink:0;z-index:90;pointer-events:none;background:linear-gradient(to bottom,#e9f1ffeb,#e9f1ff9e 46%,#e9f1ff00)}body.dark .app-header{background:linear-gradient(to bottom,#0b1123f0,#0b1123a8 46%,#0b112300)}.pill{position:absolute;top:var(--sp-lg);left:var(--sp-xl);right:var(--sp-xl);z-index:100;display:flex;align-items:center;gap:var(--sp-sm);padding:0;border:1px solid transparent;border-radius:999px;background:transparent;pointer-events:none;transition:left .35s ease,right .35s ease,transform .35s ease,padding .35s ease,background .35s ease,box-shadow .35s ease,border-color .35s ease,width .35s ease}.pill>*{pointer-events:auto}.pill .brand{pointer-events:none}body.chatting .pill,body.scrolled .pill{left:var(--sp-xl);right:var(--sp-xl);transform:none;padding:7px 12px;background:#ffffff0f;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-color:#ffffff59;box-shadow:0 4px 18px #1e40af1a}body.dark.chatting .pill,body.dark.scrolled .pill{background:#ffffff0a;border-color:#ffffff24;box-shadow:0 4px 18px #00000047}body.dark .api-panel{background:#0d1222f5}.pill .back-btn{display:none}.pill .back-btn .material-icons{transform:rotate(90deg)}body.chatting .back-btn.tool-btn{display:flex;animation:btnIn .25s ease}@keyframes btnIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.brand{display:flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none;padding:0 8px}.api-entry{position:relative;margin-left:auto}.brand .brand-mark{pointer-events:auto;width:auto;height:30px;flex-shrink:0;object-fit:contain;cursor:pointer;filter:drop-shadow(0 1px 3px rgba(30,64,175,.28));transition:transform .18s ease,filter .18s ease}.brand .brand-mark:hover{transform:scale(1.08);filter:drop-shadow(0 2px 6px rgba(30,64,175,.4))}.brand .brand-text{font-family:ZCOOL QingKe HuangYou,Microsoft YaHei,sans-serif;font-weight:400;font-size:21px;letter-spacing:2px;line-height:1.2;background:linear-gradient(120deg,#2b4bd8,#1d8fff 55%,#00c2ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;white-space:nowrap}body.dark .brand .brand-text{background:linear-gradient(120deg,#8ea8ff,#6cc4ff 55%,#9be8ff);-webkit-background-clip:text;background-clip:text}body.dark .brand .brand-mark{filter:drop-shadow(0 1px 6px rgba(120,170,255,.55))}.brand .brand-badge{pointer-events:auto;flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.5px;line-height:1;color:var(--gray-2);border:1px solid currentColor;border-radius:6px;padding:4px 7px;white-space:nowrap;cursor:default;transition:color .18s ease}.brand .brand-badge .future{font-style:normal;opacity:.7;transition:opacity .18s ease}.brand .brand-badge:hover{color:var(--ink)}.brand .brand-badge:hover .future{opacity:.5}@media(max-width:900px){.brand .brand-text{font-size:17px;letter-spacing:1px}.brand .brand-badge{font-size:10px;padding:3px 5px}}.pill .tool-btn{border-radius:999px}body.chatting .pill .tool-btn,body.scrolled .pill .tool-btn{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}body.chatting .pill .tool-btn:hover,body.scrolled .pill .tool-btn:hover{background:var(--glass-hover)}body.dark.chatting .pill .tool-btn:hover,body.dark.scrolled .pill .tool-btn:hover{background:#ffffff24}body.chatting .pill .back-btn.tool-btn{border-color:#ffffff8c;background:#ffffff47;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}body.chatting .pill .back-btn.tool-btn:hover{border-color:var(--glass-border);background:var(--glass-hover);box-shadow:var(--glass-shadow)}body.dark.chatting .pill .back-btn.tool-btn{border-color:#ffffff2e;background:#ffffff12}body.dark.chatting .pill .back-btn.tool-btn:hover{border-color:var(--glass-border);background:var(--glass-hover);box-shadow:var(--glass-shadow)}.tool-btn{position:relative;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:var(--glass-shadow);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.tool-btn:hover{background:var(--glass-hover)}.tool-btn:active{transform:scale(.94)}.tool-btn .material-icons{font-size:20px}.tool-btn .dot{display:none;position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg);pointer-events:none}.tool-btn.configured .dot{display:block}.api-panel{display:none;position:absolute;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 40px));max-height:min(72vh,620px);overflow-y:auto;padding:var(--sp-lg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-strong);backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);box-shadow:0 12px 40px #00000024;flex-direction:column;gap:var(--sp-md);z-index:110}.api-panel.open{display:flex;animation:panelIn .18s ease}@keyframes panelIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.api-panel-head{display:flex;align-items:center;gap:var(--sp-sm)}.api-panel-head .material-icons{font-size:18px;color:var(--blue)}.api-panel-title{font-size:14px;font-weight:700}.api-panel-caption{font-size:11px;color:var(--gray-2);margin-top:-6px}.cfg-status{font-size:12px;color:var(--gray-2);display:flex;align-items:center;gap:6px}.cfg-status i{width:7px;height:7px;border-radius:50%;background:var(--gray-3);flex-shrink:0}.cfg-status.on{color:var(--ink-soft)}.cfg-status.on i{background:var(--accent)}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;font-weight:600;color:var(--ink-soft)}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);font-size:13px;font-family:inherit;padding:8px 10px;outline:none;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--gray-2)}.field input:focus,.field select:focus{border-color:var(--glass-focus-border)}.field input.invalid{border-color:var(--danger)}.field input[readonly]{color:var(--gray-2);background:var(--chip-bg);cursor:default}.field .err{display:none;font-size:11px;color:var(--danger)}.field.show-err .err{display:block}.field .hint{font-size:11px;color:var(--gray-2)}.key-wrap{position:relative}.key-wrap input{padding-right:34px}.key-wrap .eye{position:absolute;right:2px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--gray-2);cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.key-wrap .eye .material-icons{font-size:18px}.api-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:var(--sp-md)}.login-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);border-top:1px solid var(--line);padding-top:var(--sp-md)}.link-btn{border:none;background:transparent;color:var(--gray-2);font-size:12px;font-family:inherit;cursor:pointer;padding:4px 2px}.link-btn:hover{color:var(--blue)}.save-btn{border:none;background:var(--blue);color:#fff;font-size:13px;font-family:inherit;font-weight:600;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .15s,transform .1s}.save-btn:hover{filter:brightness(1.06)}.save-btn:active{transform:scale(.97)}.save-btn.saved{background:var(--accent)}.save-btn .material-icons{font-size:16px}.sys-group{border-top:1px dashed var(--line);padding-top:var(--sp-md);display:flex;flex-direction:column;gap:6px}.sys-group h4{font-size:12px;font-weight:700;color:var(--ink-soft);display:flex;align-items:center;gap:6px}.sys-group h4 .material-icons{font-size:15px;color:var(--blue)}.kv{display:flex;justify-content:space-between;gap:var(--sp-md);font-size:11.5px;color:var(--gray-2)}.kv b{color:var(--ink-soft);font-weight:600;text-align:right;word-break:break-all}.file-row{font-size:11.5px;color:var(--gray-2);display:flex;justify-content:space-between;gap:8px}.file-row b{color:var(--ink-soft);font-weight:500}.home{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.home-top{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-xl);padding:0 var(--sp-xl)}.home-sub{font-size:13px;letter-spacing:1px;color:var(--gray-2);text-align:center;margin-bottom:-14px;animation:heroIn .5s ease;transition:color .15s;cursor:default}.home-sub:hover{color:var(--ink)}.home-hero{font-family:ZCOOL QingKe HuangYou,Microsoft YaHei,sans-serif;font-weight:400;font-size:clamp(44px,6.5vw,68px);letter-spacing:8px;margin-right:-8px;line-height:1.15;text-align:center;color:#111;animation:heroIn .5s ease}@keyframes heroIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body.dark .home-hero{color:var(--ink)}.home-suggests{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-lg) var(--sp-lg);max-width:1080px;margin:0 auto;padding:40px var(--sp-xl) 56px}.sgroup{display:flex;flex-direction:column;gap:var(--sp-sm);min-width:0}.sgroup-title{font-size:11.5px;font-weight:700;letter-spacing:1.5px;color:var(--gray-2);padding:0 2px 4px;border-bottom:1px solid var(--line);margin-bottom:2px}.sgroup-items{display:flex;flex-direction:column;align-items:stretch;gap:6px}.sgroup .suggest{width:100%;text-align:left;border-radius:10px;white-space:normal;line-height:1.45}@media(max-width:1080px){.home-suggests{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.home-suggests{grid-template-columns:minmax(0,1fr)}}.pill-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);color:var(--ink-soft);font-family:inherit;font-size:12.5px;line-height:1;padding:8px 14px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.pill-btn .material-icons{font-size:15px}.pill-btn:hover{background:var(--glass-hover);color:var(--ink)}.pill-btn:active{transform:scale(.97)}.pill-btn.strong{border-color:#4d6bfe73;background:#4d6bfe1a;color:var(--ink);box-shadow:0 2px 10px #4d6bfe1a}.pill-btn.strong:hover{background:#4d6bfe29}.suggest{border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);color:var(--ink-soft);font-size:12.5px;font-family:inherit;padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,transform .1s}.suggest:hover{background:var(--glass-hover);color:var(--ink)}.suggest:active{transform:scale(.97)}.home-suggests.armed .suggest{opacity:0;translate:0 10px}.home-suggests.armed.shown .suggest{opacity:1;translate:0 0;animation:suggestIn .5s ease backwards;animation-delay:calc(var(--i, 0) * 40ms)}.home-suggests.armed.played .suggest{animation:none;opacity:1;translate:none}@keyframes suggestIn{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.home-suggests.armed .suggest{opacity:1;translate:none}.home-suggests.armed.shown .suggest{animation:none}}.back-to-chat{position:fixed;right:var(--sp-xl);bottom:var(--sp-xl);z-index:190;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:var(--glass-shadow);color:var(--ink);cursor:pointer;animation:ghostIn .24s ease;transition:opacity .24s ease,background .15s,transform .1s}@keyframes ghostIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.back-to-chat .material-icons{font-size:20px}.back-to-chat.dim{opacity:.28}.back-to-chat:hover{background:var(--glass-hover);opacity:1}.back-to-chat:active{transform:scale(.94)}.chat-scroll{flex:1;overflow-y:auto}.chat-column{max-width:780px;margin:0 auto;padding:var(--sp-xl) var(--sp-lg) 8px;display:flex;flex-direction:column;gap:var(--sp-xl)}.composer-zone{padding:0 var(--sp-xl) var(--sp-xl)}.composer-inner{max-width:780px;margin:0 auto}.composer{width:100%;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:var(--glass-shadow);padding:var(--sp-md);display:flex;flex-direction:column;gap:4px;transition:border-color .15s,box-shadow .15s,background .15s}.composer-row{display:flex;align-items:flex-end;gap:var(--sp-sm)}.char-count{align-self:flex-end;font-size:11px;line-height:1.2;color:var(--gray-2);font-variant-numeric:tabular-nums;transition:opacity .15s;margin:0 2px;opacity:0;pointer-events:none}.char-count.show{opacity:1}.char-count.max{color:var(--danger)}.composer:focus-within{border-color:var(--glass-focus-border);background:var(--glass-bg-strong);box-shadow:0 8px 32px #1677ff2e}.composer-zone .composer,.composer-zone .composer:focus-within{background:var(--white);border-color:var(--line);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--glass-shadow)}.composer-zone .composer:focus-within{border-color:var(--gray-3)}.home .composer{max-width:680px;padding:var(--sp-lg) var(--sp-lg) var(--sp-md);border-radius:20px;box-shadow:0 4px 24px #0000000f}.home .composer textarea{font-size:16px;min-height:28px}.composer textarea{flex:1;border:none;outline:none;resize:none;font-family:inherit;font-size:15px;line-height:1.6;color:var(--ink);background:transparent;max-height:160px}.composer textarea::placeholder{color:var(--gray-2)}body.dark .home .composer textarea::placeholder{color:#8fa0bd}.send-btn{border:none;background:var(--blue);color:#fff;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,opacity .15s,transform .1s}.send-btn:not(:disabled){background:var(--accent)}.send-btn:not(:disabled):hover{background:var(--accent-hover)}.send-btn:active{transform:scale(.94)}.send-btn:disabled{background:var(--blue);cursor:default;opacity:.55}.send-btn .material-icons{font-size:20px}.send-btn.stopping{background:var(--blue);opacity:1;cursor:pointer}.send-btn.stopping:hover{background:var(--blue);filter:brightness(1.12)}.send-btn.stopping .material-icons{font-size:17px}.msg{display:flex;gap:var(--sp-md);animation:msgIn .25s ease}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-user{justify-content:flex-end}.msg-user .bubble{max-width:70%;background:var(--user-bubble-bg);color:var(--user-bubble-fg);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border:1px solid var(--glass-border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);padding:10px var(--sp-lg);font-size:15px;white-space:pre-wrap;box-shadow:var(--glass-shadow)}.ai-avatar{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--glass-bg);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border:1px solid var(--glass-border);object-fit:contain;padding:2px;flex-shrink:0;margin-top:2px}.ai-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-sm)}.ai-text{display:inline-block;max-width:100%;font-size:15px;color:var(--ink);white-space:pre-wrap;background:var(--glass-bg);backdrop-filter:blur(16px) saturate(155%);-webkit-backdrop-filter:blur(16px) saturate(155%);border:1px solid var(--glass-border);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg);padding:10px var(--sp-lg);box-shadow:var(--glass-shadow)}.typing{display:inline-flex;gap:5px;align-items:center;padding:6px 0}.typing i{width:6px;height:6px;border-radius:50%;background:var(--gray-3);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}.status-line{font-size:12px;color:var(--gray-2);display:flex;align-items:center;gap:6px}.status-line .material-icons{font-size:14px;color:var(--blue)}@keyframes spin{to{transform:rotate(360deg)}}.status-line.busy .material-icons{animation:spin 1.4s linear infinite}.status-line.stopped{color:var(--ink-soft)}.status-line.stopped .material-icons{color:inherit;font-size:15px}.trace{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);overflow:hidden;font-size:12.5px}.trace-head{display:flex;align-items:center;gap:var(--sp-sm);padding:8px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink-soft)}.trace-head:hover{background:var(--chip-bg)}.trace-head .material-icons.lead{font-size:15px;color:var(--blue)}.trace-head .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-head .meta{color:var(--gray-2);font-size:11px;white-space:nowrap}.trace-head .caret{font-size:18px;color:var(--gray-2);transition:transform .2s ease}.trace.open .trace-head .caret{transform:rotate(180deg)}.trace-body{border-top:1px solid var(--line);padding:6px 10px 10px;display:flex;flex-direction:column;gap:8px}.step{display:flex;gap:8px;align-items:flex-start}.step .badge{flex-shrink:0;font-size:10.5px;font-weight:700;letter-spacing:.4px;padding:2px 6px;border-radius:999px;background:var(--chip-bg);color:var(--blue);white-space:nowrap}.step.cache .badge{color:var(--accent-hover)}.step.error .badge{color:var(--danger)}.step-main{flex:1;min-width:0}.step-title{color:var(--ink);word-break:break-word}.step-ms{color:var(--gray-2);font-size:11px;margin-left:4px;font-variant-numeric:tabular-nums}.detail{margin-top:4px;color:var(--gray-2);font-size:11.5px;display:flex;flex-direction:column;gap:3px}.detail .row{display:flex;gap:6px;flex-wrap:wrap}.detail .row span{background:var(--chip-bg);border-radius:4px;padding:1px 5px}.sql{margin-top:4px;background:var(--sql-bg);border-left:2px solid var(--blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:6px 8px;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:11.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--ink-soft)}.hits{margin-top:4px;display:flex;flex-direction:column;gap:4px}.hit{border:1px dashed var(--line);border-radius:var(--radius-sm);padding:5px 7px;color:var(--ink-soft)}.hit b{color:var(--ink);font-weight:600}.hit .excerpt{color:var(--gray-2);font-size:11.5px;margin-top:2px}.sources{display:flex;flex-wrap:wrap;gap:6px}.source-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--ink-soft);background:var(--chip-bg);border-radius:999px;padding:3px 9px}.source-chip .material-icons{font-size:13px;color:var(--blue)}.badge-cached{font-size:11px;font-weight:700;color:var(--accent-hover);border:1px solid currentColor;border-radius:999px;padding:1px 7px}@media(max-width:860px){.msg-user .bubble{max-width:85%}}.badge-lightbox{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-md);background:#080e1e6b;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none}.badge-large{height:min(46vh,320px);width:auto;filter:drop-shadow(0 18px 46px rgba(0,0,0,.45))}.badge-caption{font-size:12.5px;letter-spacing:1.4px;color:#ffffffdb;text-shadow:0 1px 6px rgba(0,0,0,.5);-webkit-user-select:none;user-select:none}.zoom-enter-active,.zoom-leave-active{transition:opacity .18s ease,transform .18s ease}.zoom-enter-from,.zoom-leave-to{opacity:0;transform:scale(.72)}.ai-text[data-v-4136cf1e]{white-space:normal}.ai-text[data-v-4136cf1e] .md-h,.ai-text[data-v-4136cf1e] .md-li,.ai-text[data-v-4136cf1e] .md-p{white-space:pre-wrap;word-break:break-word}.ai-text[data-v-4136cf1e] .md-h{font-weight:700;margin-top:6px}.ai-text[data-v-4136cf1e] .md-li{padding-left:10px}.ai-text[data-v-4136cf1e] .md-blank{height:8px}.md-table[data-v-4136cf1e]{border-collapse:collapse;margin:6px 0;font-size:13px;width:100%}.md-table td[data-v-4136cf1e]{border:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top}.md-table thead td[data-v-4136cf1e]{background:var(--chip-bg)}.quota-bar{height:6px;border-radius:999px;background:var(--chip-bg);overflow:hidden}.quota-bar i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease,background .2s ease}.quota-bar.warn i{background:#f5a623}.quota-bar.out i{background:var(--danger)}.btn-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm)}.sys-group>.err{display:none;font-size:11px;color:var(--danger)}.sys-group>.err.show{display:block}.login-form{display:flex;flex-direction:column;gap:var(--sp-md)}.login-panel .save-btn{align-self:flex-start}.login-panel .out{color:var(--danger)}.login-panel .out .material-icons{font-size:15px}.login-panel .out:hover{color:var(--danger);filter:brightness(1.12)}.pill .api-entry{margin-left:0}.login-entry{position:relative;margin-left:auto}.identity{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0;height:36px;padding:0 8px 0 12px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:var(--glass-shadow);color:var(--ink-soft);font-family:inherit;font-size:12.5px;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.identity:hover{background:var(--glass-hover)}.identity:active{transform:scale(.97)}.identity .id-text{display:flex;align-items:center;min-width:0;overflow:hidden}.identity .id-name{flex:none;font-weight:600}.identity .id-num{min-width:0;overflow:hidden;text-overflow:ellipsis;opacity:.75}.identity .id-icon{font-size:18px;opacity:.6;flex:none}.identity .id-caret{font-size:16px;opacity:.5;flex:none;transition:transform .18s ease}.identity.open .id-caret{transform:rotate(180deg)}.identity.on{border-color:#00c85373}.identity.on .id-icon{color:var(--accent);opacity:1}body.dark .identity{color:#e8eefc}.note{position:fixed;left:50%;bottom:120px;transform:translate(-50%);z-index:200;max-width:80vw;padding:9px 16px;border-radius:999px;background:#111111db;color:#fff;font-size:12.5px;box-shadow:0 8px 28px #00000040}body.dark .note{background:#eef3fbeb;color:#111}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translate(-50%) translateY(6px)}
