:root{--bg:#141210;--bg-2:#100e0c;--panel:#1b1815;--panel-2:#211e1a;--panel-3:#272320;--border:#2a2621;--border-strong:#3a352e;--text:#ede8df;--muted:#a39c90;--faint:#6e675d;--accent:#d9a441;--accent-ink:#17130c;--accent-soft:#d9a44121;--accent-line:#d9a44159;--ok:#5cb884;--ok-soft:#5cb88421;--err:#d2605c;--err-soft:#d2605c21;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans:"Space Grotesk", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--radius:10px;--radius-sm:7px;--shadow:0 14px 40px -18px #000000b3}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:radial-gradient(1200px 600px at 80% -10%,#d9a4410d,#0000 60%),radial-gradient(900px 500px at -10% 110%,#d9a4410a,#0000 55%);margin:0;font-size:14px;line-height:1.55}#root{flex-direction:column;display:flex}::selection{background:var(--accent);color:var(--accent-ink)}a{color:var(--accent)}.app-shell{grid-template-columns:216px 1fr;min-height:100dvh;display:grid}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:18px 12px;display:flex}.brand{align-items:center;gap:10px;padding:6px 10px 20px;display:flex}.brand-mark{background:var(--panel-2);border:1px solid var(--border-strong);width:30px;height:30px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.brand-name{letter-spacing:.04em;font-size:15px;font-weight:700}.brand-name em{color:var(--accent);font-style:normal}.brand-sub{font-family:var(--mono);color:var(--faint);letter-spacing:.14em;text-transform:uppercase;margin-top:1px;font-size:10px}.nav-item{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item svg{flex:none;width:16px;height:16px}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:auto;padding-top:12px;display:flex}.main{flex-direction:column;min-width:0;height:100dvh;display:flex}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#14121099;align-items:center;gap:12px;padding:12px 22px;display:flex;position:sticky;top:0}.topbar-title{font-size:15px;font-weight:600}.topbar-title .count{color:var(--faint);font-family:var(--mono);margin-left:6px;font-size:12px}.topbar-spacer{flex:1}.content{flex:1;padding:20px 22px 60px;overflow-y:auto}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:7px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:500;transition:border-color .12s,background .12s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--faint);background:var(--panel-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn svg{width:14px;height:14px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:#e4b24f;border-color:#e4b24f}.btn-danger{background:var(--err-soft);color:var(--err);border-color:#0000}.btn-danger:hover{background:#d2605c33;border-color:#d2605c66}.btn-enable{background:var(--ok-soft);color:var(--ok);border-color:#5cb88459}.btn-enable:hover{background:#5cb88433;border-color:#5cb8848c}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--panel);color:var(--text);border-color:#0000}.btn-sm{padding:4px 9px;font-size:12px}.btn-block{justify-content:center;width:100%}.field{flex-direction:column;gap:6px;margin-bottom:15px;display:flex}.field>label{color:var(--muted);font-size:12.5px;font-weight:500}.field .hint{color:var(--faint);font-size:11.5px}.input,textarea.input,select.input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder{color:var(--faint)}textarea.input{resize:vertical;min-height:90px;font-family:var(--mono);font-size:12.5px;line-height:1.6}.usage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.usage-card{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.usage-card strong{font-size:18px}.usage-track{background:var(--border);border-radius:9px;height:5px;overflow:hidden}.usage-track i{background:var(--accent);height:100%;display:block}@media (width<=680px){.usage-grid{grid-template-columns:1fr}}select.input{appearance:none}.mono-input{font-family:var(--mono);font-size:12.5px}.check{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.check input{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .grow{flex:1}.status-filters{flex-wrap:wrap;gap:6px;margin:-6px 0 16px;display:flex}.filter-divider{background:var(--border-strong);align-self:stretch;width:1px;margin:2px 3px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.row-list{flex-direction:column;display:flex}.key-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:14px minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,10rem) 5.5rem 11.75rem;align-items:center;gap:14px;padding:13px 18px;transition:background .1s;display:grid}.key-row:last-child{border-bottom:none}.key-row:hover{background:var(--panel-2)}.key-row.selected{background:var(--accent-soft)}.key-row.disabled{opacity:.62}.key-row.disabled:hover{opacity:.78}.led{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.led.ok{background:var(--ok);box-shadow:0 0 8px #5cb88499}.led.err{background:var(--err);box-shadow:0 0 8px #d2605c99}.led.warn{background:var(--accent);box-shadow:0 0 8px #d9a44199}.key-name{align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex}.key-name .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.key-name .default-badge{font-size:10px;font-family:var(--mono);letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:4px;flex:none;padding:1px 6px}.disabled-badge{font-size:10px;font-family:var(--mono);letter-spacing:.06em;color:var(--faint);border:1px solid var(--border-strong);background:var(--panel-3);border-radius:4px;flex:none;padding:1px 6px}.cooldown-badge{font-size:10px;font-family:var(--mono);letter-spacing:.04em;color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:4px;flex:none;padding:1px 6px}.active-badge{font-size:10px;font-family:var(--mono);letter-spacing:.06em;color:var(--ok);background:var(--ok-soft);border:1px solid #5cb88459;border-radius:4px;flex:none;padding:1px 6px}.account-type-badge{font-size:10px;font-family:var(--mono);letter-spacing:.06em;color:var(--muted);border:1px solid var(--border-strong);background:var(--panel-3);border-radius:4px;flex:none;padding:1px 6px}.account-type-badge.go{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.key-name .proxy-badge{font-size:10px;font-family:var(--mono);letter-spacing:.05em;color:var(--ok);background:var(--ok-soft);text-overflow:ellipsis;white-space:nowrap;border:1px solid #5cb88459;border-radius:4px;flex:none;max-width:180px;padding:1px 6px;overflow:hidden}.key-url{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.key-usage{align-items:center;gap:9px;min-width:0;display:flex;overflow:hidden}.plan-name{color:var(--text);white-space:nowrap;font-size:12px;font-weight:600}.usage-pills{gap:4px;min-width:0;display:flex}.usage-pills span{font-family:var(--mono);color:var(--ok);background:var(--ok-soft);white-space:nowrap;border:1px solid #5cb88447;border-radius:4px;padding:2px 5px;font-size:10px}.usage-error{color:var(--err);font-size:11px}.usage-query{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;align-items:center;gap:4px;padding:4px 6px;font-size:11px;display:inline-flex}.usage-query:hover{background:var(--accent-soft)}.usage-query:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.usage-query:disabled{color:var(--faint);cursor:wait}.tags{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.tag{font-size:11px;font-family:var(--mono);color:var(--muted);background:var(--panel-3);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:1px 7px}.tag-chip{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--muted);background:var(--panel);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:12px;transition:all .12s;display:inline-flex}.tag-chip:hover{color:var(--text);border-color:var(--border-strong)}.tag-chip.on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.tag-chip .n{font-family:var(--mono);color:var(--faint);font-size:10px}.meta-num{font-family:var(--mono);color:var(--faint);font-size:12px}.key-model-count{white-space:nowrap}.key-model-count.unsynced{color:var(--muted)}.row-actions{opacity:0;gap:6px;transition:opacity .12s;display:flex}.key-row:hover .row-actions,.key-row:focus-within .row-actions{opacity:1}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#0a09088c;justify-content:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.drawer{background:var(--bg);border-left:1px solid var(--border);width:min(520px,100%);height:100dvh;box-shadow:var(--shadow);flex-direction:column;animation:.18s cubic-bezier(.2,.7,.3,1) slide-in;display:flex}@keyframes slide-in{0%{opacity:0;transform:translate(40px)}}.drawer-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:18px 22px;display:flex}.drawer-head h2{flex:1;min-width:0;margin:0;font-size:16px;font-weight:600}.drawer-body{flex:1;padding:22px;overflow-y:auto}.kv{grid-template-columns:88px 1fr;gap:4px 14px;margin-bottom:18px;display:grid}.kv dt{color:var(--faint);padding-top:3px;font-size:12px}.kv dd{min-width:0;margin:0}.url-line{font-family:var(--mono);color:var(--text);word-break:break-all;font-size:12.5px}.secret-line{font-family:var(--mono);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.secret-line .val{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);flex:1;overflow:hidden}.secret-line .val.revealed{color:var(--text)}.test-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:14px}.test-box+.test-box{margin-top:12px}.provider-routing-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.provider-routing-row strong{margin-top:7px;font-size:13px;display:block}.provider-routing-row p{color:var(--faint);margin:3px 0 0}.provider-routing-switch{border:1px solid var(--border-strong);background:var(--panel-3);cursor:pointer;border-radius:999px;flex:none;width:43px;height:24px;padding:2px;transition:background .15s,border-color .15s}.provider-routing-switch span{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .15s,background .15s;display:block;transform:translate(0)}.provider-routing-switch.on{background:var(--ok-soft);border-color:#5cb8848c}.provider-routing-switch.on span{background:var(--ok);transform:translate(17px)}.provider-routing-switch:disabled{opacity:.5;cursor:not-allowed}.provider-routing-status{min-height:18px;color:var(--muted);margin-top:9px;font-size:11.5px}.provider-routing-status.err{color:var(--err)}.provider-routing-status button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.test-result{align-items:center;gap:8px;margin-top:10px;font-size:12.5px;display:flex}.test-result.ok{color:var(--ok)}.test-result.err{color:var(--err)}.latency{font-family:var(--mono);color:var(--muted);font-size:12px}.model-list{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.model-item{font-family:var(--mono);border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:5px;padding:3px 8px;font-size:11.5px}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:22px 0 10px;font-size:11px;font-weight:600}.divider{background:var(--border);height:1px;margin:18px 0}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;background:#0a090899;place-items:center;padding:20px;animation:.15s fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border-strong);width:min(520px,100%);box-shadow:var(--shadow);border-radius:14px;animation:.16s cubic-bezier(.2,.8,.3,1.05) pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.96)translateY(8px)}}.modal-head{align-items:center;padding:18px 22px 0;display:flex}.modal-head h3{flex:1;margin:0;font-size:15px;font-weight:600}.modal-body{padding:18px 22px 22px}.modal-foot{justify-content:flex-end;gap:10px;padding:0 22px 20px;display:flex}.browser-login-intro{margin:0 0 18px;line-height:1.7}.browser-login-security{border-top:1px dashed var(--border-strong);margin:4px 0 0;padding-top:13px}.browser-login-error{color:var(--err);background:var(--err-soft);border-radius:var(--radius-sm);border:1px solid #d2605c40;margin:0 0 14px;padding:9px 11px;font-size:12px}.remote-browser-overlay{padding:12px}.remote-browser-modal{flex-direction:column;width:min(1180px,100%);height:calc(100dvh - 24px);display:flex;overflow:hidden}.remote-browser-modal .modal-head{flex:none;padding-bottom:16px}.remote-browser-help{color:var(--muted);background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;font-size:11.5px;display:flex}.remote-browser-help span{align-items:center;gap:7px;display:inline-flex}.remote-browser-help-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.remote-browser-help i{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 7px #d9a44180}.remote-browser-help i.connected{background:var(--ok);box-shadow:0 0 7px #5cb88499}.remote-browser-screen{background:#090909;outline:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.remote-browser-screen canvas{max-width:100%;max-height:100%}.remote-browser-clipboard{background:var(--panel);border-top:1px solid var(--border);flex:none;gap:9px;padding:12px 16px;display:grid}.remote-browser-clipboard textarea{resize:vertical;min-height:58px;max-height:150px;font-family:var(--mono)}.remote-browser-clipboard-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.remote-browser-clipboard-actions>.small{margin-right:auto}.remote-browser-clipboard-notice{color:var(--ok);background:var(--panel);border-top:1px solid var(--border);flex:none;margin:0;padding:8px 16px}.remote-browser-error{flex:none;margin:10px 16px 0}.remote-browser-foot{flex:none;align-items:center;padding-top:14px}.remote-browser-foot>.small{margin-right:auto}@media (width<=720px){.remote-browser-overlay{padding:0}.remote-browser-modal{border-radius:0;width:100%;height:100dvh}.remote-browser-help{flex-direction:column;align-items:flex-start;gap:3px}.remote-browser-help-actions{justify-content:flex-start;width:100%}.remote-browser-clipboard-actions{flex-wrap:wrap}.remote-browser-clipboard-actions>.small{width:100%}.remote-browser-foot{flex-wrap:wrap}.remote-browser-foot>.small{width:100%}}.invite-reward-modal{width:min(760px,100%)}.invite-reward-heading{flex:1;min-width:0}.invite-reward-heading h3{align-items:center;gap:8px;display:flex}.invite-reward-heading h3 svg{color:var(--accent)}.invite-reward-heading>span{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;display:block;overflow:hidden}.invite-reward-summary{color:var(--muted);align-items:center;gap:12px;margin-bottom:14px;font-size:12px;display:flex}.invite-reward-summary>span{flex:1}.invite-reward-summary strong{color:var(--text);white-space:nowrap;font-weight:500}.invite-reward-loading,.invite-reward-empty{min-height:150px;color:var(--faint);text-align:center;justify-content:center;align-items:center;gap:9px;display:flex}.invite-reward-error{flex-direction:column;justify-content:center;align-items:center;min-height:120px;display:flex}.invite-reward-error .auth-err{margin-bottom:10px}.invite-reward-table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.invite-reward-row{border-bottom:1px solid var(--border);grid-template-columns:82px minmax(220px,1fr) 125px 120px;align-items:center;gap:14px;min-width:650px;padding:12px 14px;display:grid}.invite-reward-row:last-child{border-bottom:0}.invite-reward-row:not(.invite-reward-table-head):hover{background:var(--panel-2)}.invite-reward-table-head{min-height:36px;color:var(--faint);background:var(--bg-2);letter-spacing:.05em;padding-block:8px;font-size:11px;font-weight:600}.invite-reward-amount{color:var(--accent);font:600 14px var(--mono)}.invite-reward-description{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);overflow:hidden}.invite-reward-date{color:var(--faint);white-space:nowrap;font-size:12px}.invite-reward-action{justify-content:flex-end;display:flex}.invite-reward-status{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:86px;color:var(--muted);justify-content:center;align-items:center;padding:4px 8px;font-size:11.5px;display:inline-flex}.invite-reward-status.applied{color:var(--faint);background:var(--panel-2)}@media (width<=680px){.invite-reward-summary{flex-wrap:wrap;align-items:flex-start}.invite-reward-summary>span{flex-basis:100%}.invite-reward-summary strong{flex:1}}.auth-wrap{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--border-strong);width:min(400px,100%);box-shadow:var(--shadow);border-radius:16px;padding:38px 36px 34px;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.7;height:3px;position:absolute;inset:0 0 auto}.auth-mark{background:var(--bg-2);border:1px solid var(--border-strong);width:52px;height:52px;color:var(--accent);border-radius:13px;place-items:center;margin-bottom:20px;display:grid}.auth-mark svg{width:26px;height:26px}.auth-card h1{letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:700}.auth-card .tagline{color:var(--muted);margin:0 0 26px;font-size:13px}.auth-card .mono-note{font-family:var(--mono);color:var(--faint);border-top:1px dashed var(--border-strong);margin-top:18px;padding-top:16px;font-size:11px;line-height:1.7}.auth-err{color:var(--err);min-height:18px;margin:0 0 12px;font-size:12.5px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-shell{background:var(--panel);border:1px solid var(--border);width:min(980px,100%);height:calc(100dvh - 112px);min-height:520px;box-shadow:var(--shadow);border-radius:14px;grid-template-rows:auto auto minmax(0,1fr) auto;margin:0 auto;display:grid;overflow:hidden}.chat-controls{border-bottom:1px solid var(--border);background:var(--bg-2);align-items:end;gap:9px;padding:12px 14px;display:flex}.chat-select-group{flex-direction:column;gap:4px;width:190px;display:flex}.chat-select-group label{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.chat-select-group .input{padding-top:7px;padding-bottom:7px}.chat-model-select{flex:1;width:auto}.btn-icon{justify-content:center;width:34px;height:34px;padding:0}.chat-alert{color:var(--err);background:var(--err-soft);border-bottom:1px solid #d2605c40;padding:9px 14px;font-size:12px}.chat-thread{scroll-behavior:smooth;min-height:0;padding:24px clamp(16px,5vw,64px);overflow-y:auto}.chat-empty{text-align:center;min-height:100%;color:var(--muted);place-content:center;justify-items:center;display:grid}.chat-empty-icon{width:52px;height:52px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:15px;place-items:center;margin-bottom:14px;display:grid}.chat-empty h2{color:var(--text);margin:0 0 5px;font-size:17px}.chat-empty p{margin:0;font-size:13px}.chat-message{gap:12px;margin-bottom:24px;animation:.18s ease-out chat-in;display:flex}.chat-avatar{background:var(--panel-3);border:1px solid var(--border-strong);width:30px;height:30px;color:var(--muted);border-radius:8px;flex:none;place-items:center;font-size:10px;font-weight:700;display:grid}.chat-message.assistant .chat-avatar{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.chat-message-body{flex:1;min-width:0;padding-top:2px}.chat-role{color:var(--faint);margin-bottom:5px;font-size:11px;font-weight:600}.chat-content{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.75}.chat-message.user .chat-content{color:#f4efe6}.chat-message.error .chat-content{color:var(--err)}.chat-thinking{color:var(--muted)}.chat-thinking span{animation:1s infinite chat-pulse}.chat-composer{background:var(--bg);border:1px solid var(--border-strong);border-radius:12px;margin:0 clamp(12px,4vw,48px) 18px;padding:4px 48px 20px 4px;transition:border-color .12s,box-shadow .12s;position:relative}.chat-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-input{resize:vertical;width:100%;min-height:48px;max-height:160px;color:var(--text);font:13.5px/1.55 var(--sans);background:0 0;border:0;outline:0;padding:10px;display:block}.chat-input::placeholder{color:var(--faint)}.chat-send{justify-content:center;width:32px;height:32px;padding:0;position:absolute;bottom:8px;right:8px}.chat-hint{color:var(--faint);font-size:9.5px;position:absolute;bottom:5px;left:14px}@keyframes chat-in{0%{opacity:0;transform:translateY(4px)}}@keyframes chat-pulse{50%{opacity:.35}}@media (width<=720px){.chat-shell{border-radius:10px;height:calc(100dvh - 132px);min-height:440px}.chat-controls{flex-wrap:wrap}.chat-select-group{width:calc(50% - 5px)}.chat-model-select{flex:none}.chat-controls .btn-ghost{margin-left:auto}.chat-thread{padding:20px 14px}.chat-composer{margin:0 10px 10px}}.imp-ta{min-height:200px}.toast-host{z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-3);border:1px solid var(--border-strong);color:var(--text);box-shadow:var(--shadow);border-radius:9px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;animation:.2s cubic-bezier(.2,.8,.3,1.05) toast-in;display:flex}.toast .dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.toast.ok .dot{background:var(--ok)}.toast.err .dot{background:var(--err)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.empty{text-align:center;color:var(--faint);padding:60px 20px}.empty .big{opacity:.8;margin-bottom:10px;font-size:34px}.empty p{color:var(--muted);margin:0 0 4px}.mono{font-family:var(--mono)}.small{color:var(--muted);font-size:12px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-tags{color:var(--faint);padding:2px 0;font-size:12px}.settings-page{flex-direction:column;gap:16px;max-width:920px;display:flex}.settings-status-panel{align-items:center;gap:14px;padding:18px 20px;display:flex}.settings-panel{padding:20px}.settings-mark{flex:none;width:42px;height:42px;margin:0}.settings-title{margin-bottom:2px;font-weight:600}.settings-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.settings-section-head h2{margin:0;font-size:16px}.settings-section-head p{margin:3px 0 0}.admin-token-created{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius-sm);margin-bottom:18px;padding:14px}.admin-token-created p{margin:2px 0 10px}.admin-token-secret{align-items:center;gap:8px;min-width:0;display:flex}.admin-token-secret code{min-width:0;color:var(--accent);background:var(--bg-2);font:12px var(--mono);white-space:nowrap;border-radius:5px;flex:1;padding:8px 10px;overflow:auto}.admin-token-form{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0 14px;padding-bottom:18px;display:grid}.admin-token-form>.btn{justify-self:start}.admin-token-scope-field{flex-direction:row;grid-column:1/-1;align-items:center;gap:18px}.admin-token-scope-field>label:first-child{margin-right:2px}.admin-token-list{border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:18px;overflow:hidden}.admin-token-list-head{background:var(--bg-2);border-bottom:1px solid var(--border);align-items:baseline;gap:7px;padding:10px 14px;display:flex}.admin-token-list-head .count{color:var(--faint);font:11px var(--mono)}.admin-token-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(150px,1fr) auto minmax(210px,auto) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.admin-token-row:last-child{border-bottom:0}.admin-token-row:hover{background:var(--panel-2)}.admin-token-scopes{gap:5px;display:flex}.admin-token-empty{text-align:center;padding:28px 14px}.settings-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.settings-heading>svg{color:var(--accent);flex:none}.client-keys-page{max-width:1180px}.client-key-create-panel{padding:18px 20px}.client-key-intro{align-items:center;gap:13px;margin-bottom:16px;display:flex}.client-key-intro p{margin:2px 0 0}.client-key-mark{flex:none;width:40px;height:40px;margin:0}.client-key-create-form{align-items:center;gap:10px;max-width:820px;display:flex}.client-key-create-form .input{flex:1}.client-key-create-models{flex:none}.client-key-error{margin:10px 0 0}.client-key-list-head{justify-content:space-between;align-items:baseline;gap:12px;margin:22px 2px 10px;display:flex}.client-key-list-head .count{color:var(--faint);font-family:var(--mono);margin-left:7px;font-size:12px}.client-key-table{overflow:hidden}.client-key-table-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(145px,.8fr) minmax(235px,1.4fr) minmax(110px,auto) minmax(155px,.85fr) auto;align-items:center;gap:18px;min-height:68px;padding:12px 18px;display:grid}.client-key-table-row:last-child{border-bottom:0}.client-key-table-row:not(.client-key-table-header):hover{background:var(--panel-2)}.client-key-table-header{min-height:38px;color:var(--faint);background:var(--bg-2);letter-spacing:.06em;padding-block:8px;font-size:11px;font-weight:600}.client-key-name{flex-direction:column;gap:2px;min-width:0;display:flex}.client-key-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-key-value{align-items:center;gap:4px;min-width:0;display:flex}.client-key-value code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent);font-size:12px;overflow:hidden}.client-key-eye{flex:none;padding-inline:6px}.client-key-model-button{white-space:nowrap;justify-self:start}.client-key-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.legacy-key-badge{color:var(--faint);border:1px solid var(--border-strong);border-radius:4px;flex:none;padding:1px 6px;font-size:10px}.client-key-empty{min-height:180px;color:var(--faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:24px;display:flex}.client-model-modal{width:min(680px,100%)}.client-model-modal .modal-head>div:first-child{flex:1;min-width:0}.client-model-modal .modal-head h3{margin-bottom:2px}.client-model-scope{grid-template-columns:1fr 1fr;gap:10px;display:grid}.client-model-scope>label{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:9px;padding:12px;display:flex}.client-model-scope>label:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft)}.client-model-scope input{accent-color:var(--accent);margin-top:3px}.client-model-scope span{flex-direction:column;gap:2px;display:flex}.client-model-scope small{color:var(--faint);font-size:11px}.client-model-toolbar{align-items:center;gap:8px;margin-top:16px;display:flex}.client-model-search{flex:1;position:relative}.client-model-search>svg{z-index:1;color:var(--faint);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.client-model-search .input{width:100%;padding-left:31px}.client-model-options{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:min(390px,46vh);margin-top:10px;overflow-y:auto}.client-model-option{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;padding:8px 11px;display:grid}.client-model-option:last-child{border-bottom:0}.client-model-option:hover{background:var(--panel-2)}.client-model-option input{accent-color:var(--accent)}.client-model-option span{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.client-model-option small{color:var(--faint);white-space:nowrap}.client-model-option.disabled{opacity:.62}.client-model-empty{text-align:center;padding:30px 12px}.client-model-selection{color:var(--faint);margin:8px 1px 0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-item:focus-visible,.key-row:focus-visible{outline-offset:-2px}.log-filter{flex:none;width:168px}.log-filter.log-status{width:128px}.log-time-filter{color:var(--faint);align-items:center;gap:6px;font-size:11px;display:inline-flex}.log-time-filter .input{width:205px}.log-head{justify-content:space-between;align-items:baseline;gap:12px;margin:2px 2px 10px;display:flex}.log-head span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.log-table{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden}.log-row{border-bottom:1px solid var(--border);grid-template-columns:145px 70px minmax(90px,.8fr) minmax(90px,.8fr) minmax(130px,1.1fr) minmax(130px,1.3fr) 130px 180px;align-items:center;gap:12px;padding:9px 16px;font-size:12.5px;display:grid}.log-row:last-child{border-bottom:none}.log-row:not(.log-row-head):not(.log-detail){cursor:pointer}.log-row:not(.log-row-head):not(.log-detail):hover{background:var(--panel-2)}.log-row-head{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);background:var(--bg-2);padding-top:8px;padding-bottom:8px;font-size:11px;font-weight:600}.log-time{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:11.5px}.log-status-pill{font-family:var(--mono);white-space:nowrap;border-radius:5px;align-items:center;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.log-status-pill.ok{color:var(--ok);background:var(--ok-soft)}.log-status-pill.err{color:var(--err);background:var(--err-soft)}.log-stream{color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:4px;align-items:center;margin-left:6px;padding:0 4px;font-size:10px;display:inline-flex}.log-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.log-name{color:var(--muted)}.log-model{font-family:var(--mono);color:var(--text);font-size:11.5px}.log-path{font-family:var(--mono);color:var(--muted);font-size:11.5px}.log-method{color:var(--accent);margin-right:6px;font-weight:600}.log-metrics{flex-direction:column;align-items:stretch;gap:3px;display:flex;overflow:visible}.log-metric{white-space:nowrap;grid-template-columns:auto 1fr auto;align-items:baseline;gap:5px;display:grid}.log-metric-label{color:var(--faint);font-size:9.5px}.log-metric strong{color:var(--muted);font:600 11px var(--mono);text-align:right}.log-token-metrics .log-metric{grid-template-columns:auto minmax(28px,1fr) 1px auto minmax(28px,1fr)}.log-token-metrics .log-metric strong{color:var(--text)}.log-token-metrics .log-metric.cache strong{color:var(--accent)}.log-metric-separator{background:var(--border-strong);align-self:center;width:1px;height:9px}.log-detail{background:var(--bg-2);border-bottom:1px solid var(--border);grid-column:1/-1;padding:10px 16px 14px}.log-detail-title{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;font-size:10.5px;font-weight:600}.log-detail code{font-family:var(--mono);color:var(--err);overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px;line-height:1.6;display:block}.log-pagination{align-items:center;gap:8px;margin-top:12px;display:flex}.log-page-size{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.log-page-size .input{width:72px;padding:5px 8px}.log-page-number{text-align:center;white-space:nowrap;min-width:74px}.log-stats{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.log-stat-tiles{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.log-stat-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:3px;padding:12px 16px;display:flex}.log-stat-value{font-family:var(--mono);color:var(--text);font-size:19px;font-weight:600}.log-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600}.log-stat-cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}.log-stat-col{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px 14px}.log-stat-col-title{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;font-size:11px;font-weight:600}.log-stat-row{margin-bottom:9px}.log-stat-row:last-child{margin-bottom:0}.log-stat-row-top{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:3px;display:flex}.log-stat-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.log-stat-nums{font-family:var(--mono);color:var(--faint);flex:none;font-size:11px}.log-stat-bar{background:var(--bg-2);border-radius:3px;height:4px;overflow:hidden}.log-stat-bar-fill{background:linear-gradient(90deg, var(--accent), #e8bd6a);border-radius:3px;height:100%;transition:width .3s}@media (width<=900px){.log-stat-tiles{grid-template-columns:repeat(2,1fr)}.log-stat-cols{grid-template-columns:1fr}}@media (width<=1200px){.log-row{grid-template-columns:135px 68px minmax(85px,.8fr) minmax(125px,1fr) minmax(120px,1fr) 125px 175px}.log-row>:nth-child(4),.log-row-head>:nth-child(4){display:none}}@media (width<=850px){.log-table{overflow-x:auto}.log-row{grid-template-columns:125px 62px minmax(120px,1fr) minmax(115px,1fr) 120px 170px;min-width:720px}.log-row>:nth-child(3),.log-row-head>:nth-child(3),.client-key-table-header{display:none}.client-key-table-row{grid-template-columns:1fr auto;gap:9px 12px;padding:14px}.client-key-name{grid-column:1}.client-key-value{grid-area:2/1/auto/-1}.client-key-model-button{grid-area:3/1}.client-key-usage{grid-area:4/1}.client-key-actions{flex-direction:column;grid-area:1/2/5;align-items:stretch}.log-pagination{flex-wrap:wrap}}@media (width<=680px){.client-key-create-form{flex-direction:column;align-items:stretch}.client-model-scope{grid-template-columns:1fr}.client-model-toolbar{flex-wrap:wrap;align-items:stretch}.client-model-search{flex-basis:100%}.client-model-option{grid-template-columns:auto minmax(0,1fr)}.client-model-option small{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=820px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:6px;padding:8px 12px}.brand{padding:2px 10px 2px 4px}.brand-sub{display:none}.nav-item{padding:7px 10px}.sidebar-foot{border-top:none;flex-direction:row;margin-top:0;margin-left:auto;padding-top:0}.key-row{grid-template-columns:14px minmax(0,1fr) auto}.key-url,.key-usage{display:none}.row-actions{opacity:1}.content{padding:16px 14px 60px}.client-key-create-form{flex-direction:column;align-items:stretch}.client-key-list-head>.small{display:none}.admin-token-form{grid-template-columns:1fr}.admin-token-scope-field{flex-direction:column;grid-column:auto;align-items:flex-start;gap:7px}.admin-token-row{grid-template-columns:1fr auto}.admin-token-row>:nth-child(2),.admin-token-row>:nth-child(3){grid-column:1}.admin-token-row>.btn{grid-area:1/2/4}.admin-token-secret{flex-direction:column;align-items:stretch}}
