:host{all:initial;font:14px/1.55 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#23392e;color-scheme:light}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,input,select,textarea{border:1px solid #d7e0d6;border-radius:9px}button{padding:8px 12px;background:#fff;color:#2b4c39}button:hover{background:#edf3e9}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b4d3b0;outline-offset:2px}.primary{background:#305c41;color:white;border-color:#305c41}.primary:hover{background:#3f6b4d}.danger{color:#a14138}.subtle{color:#7d897a;background:transparent}.toolbar{position:fixed;z-index:2147483000;right:18px;bottom:14px;display:flex;align-items:center;gap:5px;padding:5px;background:#fffffff2;border:1px solid #dbe3d5;border-radius:13px;box-shadow:0 6px 28px #23402620;backdrop-filter:blur(12px);font-size:12px}.toolbar button{border:0;padding:7px 10px;border-radius:8px;white-space:nowrap}.toolbar .bind{max-width:190px;overflow:hidden;text-overflow:ellipsis;color:#6b7c64}.toolbar .ready{color:#367245}.toolbar .needs-key{color:#ac7633}.dialog{width:min(1050px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #dbe5d6;border-radius:20px;background:#f9fbf6;color:#243a2c;box-shadow:0 20px 90px #10201a30}.dialog::backdrop{background:#15291c88;backdrop-filter:blur(5px)}.heading{display:flex;align-items:flex-start;justify-content:space-between;padding:23px 27px 15px;border-bottom:1px solid #e2e9dc;background:#fff}.heading h2{font-size:21px;margin:0 0 5px;font-weight:650;letter-spacing:.3px}.heading p{margin:0;color:#83907c;font-size:12px;max-width:780px}.close{border:0;background:transparent;padding:4px 11px;font-size:23px;line-height:1.2;color:#84917d}.tabs{padding:13px 26px 0;display:flex;gap:8px}.tab{background:transparent;border:0;border-radius:8px 8px 0 0;padding:10px 15px;color:#7b8a73}.tab[aria-selected=true]{background:#e8f0e0;color:#31552f;font-weight:600}.notice{margin:13px 26px 0;padding:10px 13px;border-radius:9px;font-size:12px;background:#ecf3e5;color:#58724b;white-space:pre-wrap;overflow-wrap:anywhere}.notice.error{background:#fff0e9;color:#a14d38}.notice[hidden],.panel[hidden],.empty[hidden]{display:none}.layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:19px;padding:20px 26px 25px}.sidebar{min-width:0}.section-label{font-size:11px;font-weight:650;color:#8b977f;letter-spacing:1px;margin:0 0 10px}.provider-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.provider{width:100%;text-align:left;padding:12px;background:#fff;border-color:#e2e8dc;overflow:hidden}.provider.selected{background:#edf4e5;border-color:#a9c49a}.provider strong,.provider small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider small{font-size:10px;color:#8d9b82;margin-top:4px}.add{width:100%;background:transparent;border-style:dashed}.security{font-size:11px;color:#909b85;padding:14px 3px;line-height:1.8}.security strong{color:#6b8559}.workspace{min-width:0;display:flex;flex-direction:column;gap:16px}.box{background:#fff;border:1px solid #e0e8d9;border-radius:13px;padding:18px}.box h3{font-size:14px;margin:0 0 14px;font-weight:650}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:12px;color:#687e5a}label span{display:block;color:#98a18e;font-size:10px;font-weight:400;margin-top:2px}input,select,textarea{width:100%;padding:9px 10px;margin-top:5px;color:#2d442f;background:#fcfdf9;outline:none;min-width:0}input[type=checkbox]{width:16px;height:16px;padding:0;margin:2px 0 0;accent-color:#457143}.full{grid-column:1/-1}.buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.buttons button{font-size:12px}.key-state{margin:6px 0 0;color:#8d9a82;font-size:10px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-top h3{margin:0}.section-top .count{font-size:10px;color:#91a084}.model-tools{display:flex;align-items:center;gap:9px;margin:12px 0 10px}.model-tools input{margin:0;flex:1}.model-tools button{font-size:11px;white-space:nowrap;padding:8px 9px}.model-list{max-height:226px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:1px}.model-option{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid #e6ecdf;border-radius:8px;background:#fcfdf9;cursor:pointer;min-width:0}.model-option:hover{background:#eff5e8}.model-option code{font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#4b6340;overflow-wrap:anywhere}.empty{font-size:12px;color:#96a18c;padding:14px 0;text-align:center}.manual{display:flex;gap:8px;align-items:flex-end;border-top:1px solid #edf0e6;margin-top:13px;padding-top:12px}.manual label{flex:1}.manual button{font-size:11px;white-space:nowrap;margin-bottom:1px}.profile-list{display:flex;flex-direction:column;gap:7px}.profile-row{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#f7faf2;border-radius:8px}.profile-row div{flex:1;min-width:0}.profile-row strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.profile-row small{display:block;color:#91a080;font:10px/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.profile-row button{font-size:11px;padding:5px 8px}.binding-panel{padding:20px 26px 26px}.binding-intro{font-size:12px;color:#839176;margin:0 0 16px}.binding-list{display:flex;flex-direction:column;gap:10px}.binding-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:15px;align-items:center;padding:15px 18px;background:#fff;border:1px solid #e0e8d9;border-radius:12px}.binding-row.active{border-color:#9cb990;background:#f4f9ee}.binding-row strong{display:block;font-size:14px}.binding-row small{display:block;color:#94a086;font-size:10px;margin-top:3px}.binding-row select{margin:0}.binding-row .bound-state{font-size:10px;margin:6px 0 0;color:#7c936e}.binding-row .bound-state.error{color:#b17e3c}.binding-empty{padding:25px;color:#92a086;text-align:center}.binding-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px;color:#8a987e;font-size:11px}.binding-actions button{font-size:12px}.foot{padding:12px 26px 17px;border-top:1px solid #e4eadf;font-size:10px;line-height:1.8;color:#939f89;background:#f7faf2}.dialog input[type=password]{font-family:inherit}.rename-input{font-size:12px;background:#fff}.warning{color:#a27d43}.catalog-selection{font-size:11px;color:#7c906c;margin-top:9px}.storage-warning{font-size:10px;color:#a57744;margin-top:8px}.busy{color:#647f50}@media(max-width:760px){.dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);border-radius:14px}.heading{padding:17px 16px 12px}.heading h2{font-size:19px}.heading p{font-size:10px}.tabs{padding:9px 14px 0}.tab{font-size:12px;padding:8px 10px}.layout{display:block;padding:14px}.sidebar{margin-bottom:14px}.provider-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.provider{padding:9px}.provider small{font-size:9px}.add{padding:7px}.security{padding:6px 2px;font-size:10px;margin:5px 0}.workspace{gap:12px}.box{padding:14px}.grid{gap:10px}.notice{margin:10px 14px 0}.model-list{grid-template-columns:1fr;max-height:220px}.binding-panel{padding:15px 14px}.binding-row{grid-template-columns:1fr;gap:8px;padding:13px}.binding-row select{font-size:12px}.foot{padding:10px 15px 13px;font-size:9px}.toolbar{right:9px;bottom:9px;font-size:11px;padding:4px;gap:0}.toolbar button{padding:6px 8px}.toolbar .bind{max-width:143px}.manual{flex-wrap:wrap}.manual label{min-width:210px}.model-tools{gap:5px}.model-tools button{font-size:10px;padding:8px 6px}}@media(prefers-reduced-motion:no-preference){.dialog[open]{animation:enter .16s ease-out}@keyframes enter{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

/* These variants already expose native model-manager entry points; keep their mobile composer unobstructed. */
@media(max-width:760px){:host([data-app="workbuddy"]) .toolbar,:host([data-app="kimi"]) .toolbar{display:none}}

@media(max-width:760px){.toolbar .bind{display:none}}

/* Model-family navigation is deliberately local: it only filters fetched IDs. */
.family-chips{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0 8px}.family-chip{font-size:11px;line-height:1.4;padding:6px 11px;border-radius:20px;background:#f8faf4;color:#667c59;border-color:#dce6d3}.family-chip[aria-pressed="true"]{background:#e4eedb;color:#2c542e;border-color:#8dad7a;font-weight:650}.filter-hint{font-size:10px;line-height:1.75;color:#829176;margin:6px 0 10px}.catalog-report{font-size:11px;line-height:1.75;color:#637c51;padding:9px 11px;margin:9px 0;background:#f0f5e9;border-radius:8px;overflow-wrap:anywhere}.catalog-report.partial{background:#fff5e3;color:#8a6931}.catalog-report[hidden]{display:none}.catalog-more{margin-top:14px;border:1px solid #e0e8d8;border-radius:9px;padding:9px 11px}.catalog-more summary{font-size:11px;color:#5e7850;cursor:pointer}.remote-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}.remote-search button{font-size:11px;grid-column:1/-1;justify-self:start}.profile-search{margin:11px 0 12px;font-size:12px}.section-top{flex-wrap:wrap}.section-top .count{font-size:11px}.manual textarea{resize:vertical;min-height:62px;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.buttons button:disabled{cursor:default}
:host([data-zh-theme="dark"]) .family-chip{background:#1b281e;color:#c4d5b9;border-color:#485c40}:host([data-zh-theme="dark"]) .family-chip[aria-pressed="true"]{background:#3d5632;color:#e8f3dd;border-color:#a0bf87}:host([data-zh-theme="dark"]) :is(.filter-hint,.catalog-more summary){color:#b0c2a3}:host([data-zh-theme="dark"]) .catalog-report{background:#2b3b24;color:#c3d8b2}:host([data-zh-theme="dark"]) .catalog-report.partial{background:#463a25;color:#ead1a0}:host([data-zh-theme="dark"]) .catalog-more{border-color:#48593e}
@media(max-width:760px){.family-chips{gap:5px}.family-chip{font-size:10px;padding:6px 10px}.model-tools{flex-wrap:wrap}.model-tools input{flex-basis:100%;min-width:0}.remote-search{grid-template-columns:1fr}.remote-search button{width:100%;justify-self:stretch}.section-top .count{font-size:10px}.manual label{min-width:0;flex-basis:100%}.filter-hint{font-size:10px}.catalog-more{padding:9px}}
.catalog-source-tools{display:flex;align-items:flex-end;gap:9px;margin:13px 0 8px}.catalog-source-tools label{flex:1}.catalog-source-tools button{font-size:11px;margin-bottom:1px;white-space:nowrap}.catalog-source-hint{margin:5px 0 10px;font-size:11px;line-height:1.75;color:#6b805c;overflow-wrap:anywhere}.catalog-source-hint.public{border-left:3px solid #c49a54;padding:8px 10px;background:#fff8eb;border-radius:0 7px 7px 0;color:#886736}.remote-search[hidden]{display:none}:host([data-zh-theme="dark"]) .catalog-source-hint{color:#b2c5a5}:host([data-zh-theme="dark"]) .catalog-source-hint.public{background:#403624;color:#ebd1a5;border-color:#c49a54}@media(max-width:420px){.catalog-source-tools{flex-wrap:wrap}.catalog-source-tools label{flex-basis:100%}}
.catalog-public-action{font-size:12px;margin:3px 0 10px}.catalog-public-action[hidden]{display:none}
