:root{--bg:#f5f6f4;--panel:#fff;--panel2:#f7f9f7;--text:#172824;--muted:#7b8982;--sub:#52635b;--line:#e6eae6;--line2:#edf0ec;--accent:#246c50;--mint:#c1f1cf;--mint-soft:#eef8ef;--mint-text:#317248;--sidebar:#101e20;--side-text:#8fa5a2;--error:#c45750;--error-bg:#fef0ed;--warn:#a47c30;--warn-bg:#fcf5e5;--shadow:0 14px 50px #0e28270a;--radius:17px;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;color-scheme:light}
:root[data-theme=dark]{--bg:#111b1e;--panel:#18252a;--panel2:#1c2a2e;--text:#e4eeea;--muted:#81988d;--sub:#a4b7ad;--line:#2a3b3d;--line2:#253639;--accent:#a5e4bb;--mint:#a8dfb6;--mint-soft:#253c32;--mint-text:#b0dfbd;--error:#f29283;--error-bg:#402a28;--warn:#e7c582;--warn-bg:#373222;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit;text-decoration:none}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent)}::selection{background:#b7e9c8;color:#153b2b}h1,h2,h3,h4,p{margin:0}h1{font-size:29px;letter-spacing:-1px;line-height:1.35;font-weight:620}h2{font-size:16px;font-weight:620;letter-spacing:-.2px}h3{font-size:15px;font-weight:600}.icon{flex-shrink:0;vertical-align:middle}svg{display:block}.mono,code,pre,kbd{font-family:var(--mono)}.muted{color:var(--muted)}.sub{color:var(--sub)}.small{font-size:12px}.tiny{font-size:11px}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.stack{display:grid;gap:18px}.hidden{display:none!important}.positive{color:var(--mint-text)}.negative{color:var(--error)}.dot{width:6px;height:6px;display:inline-block;flex-shrink:0;border-radius:50%;background:currentColor}.dot.live{box-shadow:0 0 0 4px #68c79015}.boot{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:18px;font-size:32px;letter-spacing:8px}.boot span{font-size:13px;letter-spacing:0;color:var(--muted)}
.app-shell{min-height:100vh;padding-left:224px}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:30px 18px 18px;background:var(--sidebar);color:var(--side-text);display:flex;flex-direction:column;z-index:35}.brand{display:flex;align-items:center;gap:11px;color:#f3f8f3;margin:0 10px 38px}.brand-mark{display:grid;place-items:center;width:37px;height:40px;color:var(--mint)}.brand-mark .icon{width:36px;height:36px;stroke-width:1.55}.brand-name{letter-spacing:3.2px;font-weight:680;font-size:19px;line-height:1.2}.brand-caption{font-size:9px;letter-spacing:1.6px;color:#79968d;margin-top:5px;text-transform:uppercase}.nav-group{margin:19px 12px 10px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1.6px;color:#5e7d77}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:inherit;width:100%;border-radius:9px;text-align:left;padding:11px 14px;margin:3px 0;font-size:12px;transition:background .18s,color .18s}.nav-item:hover{color:#e7f6e9;background:#ffffff08}.nav-item.active{color:#c2f0cf;background:#bdd6bf0e;box-shadow:inset 2px 0 0 #aedcba}.nav-item .icon{width:17px;height:17px}.nav-tag{margin-left:auto;font-family:var(--mono);font-size:9px;background:#d0e4d111;padding:1px 5px;border-radius:4px}.sidebar-footer{margin-top:auto;padding-top:28px}.database-pill{background:#f5fff706;border:1px solid #e2ffea0c;border-radius:11px;padding:13px;display:flex;gap:10px;align-items:center}.database-pill .icon{color:#7fb28c;width:18px}.database-pill strong{display:block;font-size:11px;color:#bdd0c6;font-weight:500}.database-pill small{color:#5f8074;font-size:10px}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#607a72;margin:16px 4px 0}.topbar{height:73px;padding:0 36px;border-bottom:1px solid var(--line);background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20}.crumbs{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.crumbs .icon{width:12px;height:12px;opacity:.65}.workspace-pill{color:var(--text);font-size:11px;display:flex;align-items:center;gap:8px}.workspace-square{width:21px;height:21px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center}.workspace-square .icon{width:12px;height:12px}.topbar-right{display:flex;align-items:center;gap:16px}.command-search{display:flex;align-items:center;gap:9px;min-width:213px;background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:11px}.command-search .icon{width:14px;height:14px}kbd{border:1px solid var(--line);border-radius:4px;padding:1px 4px;font-size:10px;color:var(--muted);line-height:1.4}.command-search kbd{margin-left:auto}.icon-btn{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;border-radius:7px;width:32px;height:32px}.icon-btn:hover{background:var(--line2);color:var(--text)}.avatar{width:30px;height:30px;background:var(--mint-soft);color:var(--mint-text);border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:700}.mobile-menu{display:none}.main{max-width:1570px;margin:0 auto;padding:33px 36px 28px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px}.eyebrow{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:1.8px;margin-bottom:9px}.page-desc{color:var(--muted);font-size:11px;margin-top:9px}.page-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--panel);color:var(--sub);border-radius:8px;display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:11px;font-weight:540;min-height:35px;transition:background .15s,transform .15s,box-shadow .15s}.btn:hover{background:var(--panel2);box-shadow:0 3px 8px #00000006}.btn:active{transform:translateY(1px)}.btn .icon{width:14px;height:14px}.btn.primary{background:var(--text);color:var(--panel);border-color:var(--text)}.btn.primary:hover{opacity:.9}.btn.mint{background:var(--mint);color:#24442f;border-color:transparent}.btn.danger{background:var(--error-bg);color:var(--error);border-color:transparent}.btn.ghost{background:transparent;border-color:transparent}.btn.small{padding:6px 9px;min-height:29px;font-size:10px}.btn.full{width:100%}.segmented{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:3px;display:flex;gap:2px}.segmented button{border:0;padding:5px 10px;border-radius:5px;background:transparent;color:var(--muted);font-size:10px}.segmented button.active{background:var(--panel2);color:var(--text);box-shadow:0 1px 3px #00000009}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:10px;border-radius:5px;padding:3px 6px;color:var(--mint-text);background:var(--mint-soft);white-space:nowrap}.status-pill.neutral{color:var(--muted);background:var(--bg)}.status-pill.warning{color:var(--warn);background:var(--warn-bg)}.status-pill.error{color:var(--error);background:var(--error-bg)}.badge{font:9px var(--mono);padding:3px 6px;border:1px solid var(--line);border-radius:5px;color:var(--sub);white-space:nowrap;display:inline-flex;align-items:center}.banner{border:1px solid #cfdece;background:var(--mint-soft);border-radius:10px;padding:11px 14px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--sub);margin-bottom:20px}.banner .icon{width:16px;height:16px;color:var(--mint-text)}.banner.warning{background:var(--warn-bg);border-color:#b394541f}.banner.warning .icon{color:var(--warn)}.banner .right{margin-left:auto}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px 15px;position:relative;overflow:hidden}.stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;color:var(--sub);font-size:11px}.stat-icon{color:#749888;background:var(--panel2);width:27px;height:27px;border-radius:7px;display:grid;place-items:center}.stat-icon .icon{width:15px;height:15px}.stat-value{font-size:29px;line-height:1.1;font-weight:540;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.stat-value .unit{font-size:13px;letter-spacing:0;color:var(--muted);margin-left:5px}.stat-foot{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:5px}.stat-foot .positive{font-size:10px}.stat-spark{width:65px;height:18px;color:var(--mint-text);opacity:.55}.overview-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-head{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h2{font-size:13px}.card-sub{font-size:10px;color:var(--muted);margin-top:4px}.card-body{padding:0 22px 22px}.card-foot{padding:12px 22px;border-top:1px solid var(--line2);font-size:10px;color:var(--muted)}.card-head .icon-btn{width:24px;height:24px}.card-head .icon-btn .icon{width:15px;height:15px}.chart-wrap{padding:0 17px 0 7px;position:relative}.chart-svg{width:100%;height:215px;overflow:visible}.chart-label{font:9px var(--mono);fill:var(--muted)}.chart-grid{stroke:var(--line2);stroke-width:1;stroke-dasharray:3 5}.chart-path{stroke:#599f76;stroke-width:2.3;fill:none;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--panel);stroke:#599f76;stroke-width:2}.chart-empty{position:absolute;inset:30% 15% 24%;display:grid;place-content:center;text-align:center;color:var(--muted);font-size:11px;pointer-events:none}.chart-legend{display:flex;gap:18px;font-size:9px;color:var(--muted);align-items:center}.legend-key{width:7px;height:7px;border-radius:2px;background:#74af87}.legend-key.muted-key{background:#bfd0c5}.chart-summary{display:flex;gap:27px;padding:17px 22px;border-top:1px solid var(--line2)}.chart-summary strong{display:block;color:var(--text);font-size:15px;letter-spacing:-.4px;font-weight:540}.chart-summary small{font-size:9px;color:var(--muted)}.route-mini{height:184px;position:relative;background-image:radial-gradient(var(--line) .8px,transparent .8px);background-size:13px 13px;margin:0 18px;border-radius:12px;overflow:hidden}.route-mini svg{width:100%;height:100%}.flow-line{fill:none;stroke:#89ac98;stroke-width:1.2;stroke-dasharray:4 5;opacity:.7;animation:flow 15s linear infinite}.flow-label{font:9px var(--mono);fill:var(--sub)}.flow-box{fill:var(--panel);stroke:var(--line)}.flow-router{fill:var(--mint-soft);stroke:#9dc8ad}.route-mini-legend{display:flex;align-items:center;justify-content:center;gap:18px;font-size:9px;color:var(--muted);padding:14px}.tiny-dot{width:4px;height:4px;border-radius:50%;display:inline-block;background:#7ab792;margin-right:5px}.quota-item{margin-bottom:17px}.quota-item:last-child{margin-bottom:0}.quota-name{font-size:11px;font-weight:540;display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.quota-mini-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quota-bar{background:var(--line2);height:4px;border-radius:3px;overflow:hidden}.quota-bar i{display:block;height:100%;background:#8ec09c;border-radius:3px;min-width:0}.quota-bar.warn i{background:#ddb57a}.quota-bar.high i{background:#df9790}.quota-bar-label{display:flex;justify-content:space-between;align-items:center;font:8px var(--mono);color:var(--muted);margin-top:4px}.quota-note{border-top:1px solid var(--line2);margin:16px -22px -22px;padding:11px 22px;font-size:9px;color:var(--muted)}.table-scroll{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:11px}th{font-weight:450;color:var(--muted);font-size:9px;background:var(--panel2);padding:11px 19px;border-bottom:1px solid var(--line2)}td{padding:14px 19px;border-bottom:1px solid var(--line2);color:var(--sub)}tr:last-child td{border-bottom:0}tr[data-action]:hover td{background:var(--panel2);cursor:pointer}.cell-title{font-weight:550;color:var(--text);font-size:11px}.cell-sub{color:var(--muted);font-size:9px;margin-top:3px}.table-actions{display:flex;gap:4px;justify-content:flex-end}.table-actions .icon-btn{width:25px;height:25px}.table-actions .icon{width:14px;height:14px}.provider-avatar{width:32px;height:32px;border:1px solid var(--line);background:var(--panel2);border-radius:9px;font:600 10px var(--mono);display:grid;place-items:center;color:var(--sub);flex-shrink:0}.provider-avatar.opencode{background:#e5ede7;color:#466652}.provider-avatar.anthropic{background:#f1e2d5;color:#79543b}.provider-avatar.openai{background:#e0eceb;color:#416662}.provider-avatar.mock{background:#e9e6f3;color:#796096}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.provider-card{padding:22px}.provider-card:hover{box-shadow:var(--shadow);border-color:#afc2b68c}.provider-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.provider-card-head .provider-avatar{width:41px;height:41px;font-size:13px;border-radius:12px}.provider-card-head .status-pill{margin-left:auto}.provider-url{font:10px var(--mono);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:9px 0 20px}.provider-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line2);padding-top:14px;margin-bottom:17px;gap:10px}.provider-meta strong{font-size:14px;font-weight:520}.provider-meta small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.provider-buttons{display:flex;gap:6px;flex-wrap:wrap}.add-card{min-height:238px;border:1px dashed #b7c7bc;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-radius:var(--radius);font-size:12px}.add-card:hover{background:var(--mint-soft);color:var(--mint-text)}.add-card .icon{width:25px;height:25px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.search-field{position:relative;min-width:220px;flex:1;max-width:350px}.search-field .icon{position:absolute;left:11px;top:11px;width:14px;height:14px;color:var(--muted)}.search-field input{padding-left:34px}.control,input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--text);width:100%;font-size:12px;min-height:37px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}select{max-width:220px}textarea{resize:vertical;line-height:1.6;min-height:110px}input[type=checkbox]{width:15px;height:15px;min-height:0;accent-color:#588565}input[type=number]{font-variant-numeric:tabular-nums}pre{font-size:11px;line-height:1.8;background:var(--panel2);border:1px solid var(--line);padding:17px;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;max-height:500px;overflow:auto}code{font-size:11px}.list-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--line2);font-size:10px;color:var(--muted)}.empty{padding:45px 22px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:10px}.empty-icon{height:45px;width:45px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel2);border-radius:14px;margin-bottom:5px;color:#8aa38f}.empty h3{font-size:13px}.empty p{font-size:11px;color:var(--muted);max-width:400px;line-height:1.8}.empty .btn{margin-top:7px}.footer{font-size:9px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:29px 1px 0}.footer b{font-weight:450;color:var(--sub)}.footer-left{display:flex;gap:16px}.footer .dot{width:4px;height:4px;color:#86b095}.loading-line{height:2px;position:fixed;z-index:99;left:224px;right:0;top:72px;background:linear-gradient(90deg,transparent,#9fcbaf,transparent);background-size:200% 100%;animation:shimmer 1s infinite;opacity:0;pointer-events:none}.loading-line.show{opacity:1}.skeleton{background:linear-gradient(90deg,var(--line2),var(--panel),var(--line2));background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.skeleton-line{height:14px;margin:8px 0}.page-enter{animation:enter .25s ease-out}.action-link{color:var(--accent);font-size:10px;display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0}.action-link .icon{width:12px;height:12px}
/* The route editor is an actual reorderable configuration surface. */
.route-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px}.route-list{display:flex;flex-direction:column;gap:8px}.route-select{padding:17px;text-align:left;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--text)}.route-select.active{border-color:#9abfa7;box-shadow:0 0 0 2px #9abfa719}.route-select p{font-size:10px;color:var(--muted);margin-top:8px}.route-select strong{font-size:12px;font-weight:600}.route-canvas{background-color:var(--panel2);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:16px 16px;padding:30px 24px;min-height:340px;display:grid;grid-template-columns:140px 38px minmax(0,1fr);align-items:center;gap:0}.router-node{border:1px solid #9abfa7;background:var(--panel);box-shadow:0 7px 24px #567a6511;border-radius:14px;padding:21px 13px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.router-node .icon{color:var(--mint-text);width:25px;height:25px}.router-node strong{font-size:11px;overflow-wrap:anywhere}.router-node small{font-size:9px;color:var(--muted)}.route-connector{height:1px;border-top:1px dashed #91b29a;position:relative}.route-connector:after{content:"";position:absolute;right:-2px;top:-4px;width:6px;height:6px;border-top:1px solid #91b29a;border-right:1px solid #91b29a;transform:rotate(45deg)}.route-candidates{display:grid;gap:10px}.candidate{display:flex;align-items:center;gap:10px;padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:10px;cursor:grab;box-shadow:0 3px 8px #00000003}.candidate.dragging{opacity:.35}.candidate.drag-over{border-color:#83ad90;transform:translateY(2px)}.candidate .drag-handle{color:var(--muted);width:12px}.candidate-order{font:10px var(--mono);color:var(--muted)}.candidate-info{flex:1;min-width:0}.candidate-info strong{display:block;font-size:11px;font-weight:550}.candidate-info small{font-size:9px;color:var(--muted)}.candidate .icon-btn{width:22px;height:22px}.candidate .icon-btn .icon{width:12px;height:12px}.route-properties{display:flex;gap:26px;flex-wrap:wrap;padding:19px 22px;border-top:1px solid var(--line)}.route-properties small{display:block;font-size:9px;color:var(--muted)}.route-properties strong{font-size:11px;font-weight:500}.aliases-grid{margin-top:23px}.simulation{padding:18px 22px;border-top:1px solid var(--line)}.simulation .sim-line{display:flex;justify-content:space-between;align-items:center;padding:10px;border-radius:7px;background:var(--panel2);margin:7px 0;font-size:11px}.simulation .sim-line:first-of-type{border:1px solid #a7c8b4}.simulation pre{font-size:9px}.switch{border:1px solid var(--line);width:30px;height:18px;min-height:0;border-radius:12px;background:var(--line);position:relative;padding:0}.switch:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--panel);position:absolute;left:2px;top:2px;transition:transform .18s}.switch.on{background:#598569;border-color:#598569}.switch.on:before{transform:translateX(12px);background:white}
/* Native dialog gives us modal focus trapping, keyboard navigation and top-layer stacking. */
dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);padding:0;max-height:100dvh;box-shadow:0 15px 80px #07141030}dialog::backdrop{background:#0a19174a;backdrop-filter:blur(4px)}dialog.drawer{margin:0 0 0 auto;max-width:100vw;width:590px;height:100dvh;border-radius:18px 0 0 18px;border-right:0;animation:slide-in .22s ease-out}.drawer-shell{display:flex;flex-direction:column;height:100%;max-height:100dvh}.drawer-head{padding:24px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}.drawer-head h2{font-size:19px;font-weight:560}.drawer-head p{font-size:11px;color:var(--muted);margin-top:6px}.drawer-body{padding:23px 26px;overflow:auto;flex:1}.drawer-footer{border-top:1px solid var(--line);padding:18px 26px;display:flex;justify-content:flex-end;gap:9px;background:var(--panel)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:17px}.field.full{grid-column:1/-1}.form-grid .field{margin-bottom:0}.field>label{display:block;font-size:11px;font-weight:550;color:var(--sub);margin-bottom:7px}.field small{display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.7}.field select{max-width:none}.form-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.form-section h3{font-size:12px;margin-bottom:15px}.checkline{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:var(--sub);padding:9px 0}.checkline input{margin:2px 0 0}.checkline small{display:block;font-size:10px;color:var(--muted);line-height:1.8;margin-top:2px}.model-check{padding:10px 12px;border:1px solid var(--line);border-radius:8px;margin:7px 0;display:flex;gap:10px;align-items:center;font-size:11px}.model-check span{flex:1;min-width:0}.model-check small{display:block;color:var(--muted);font-size:9px}.model-check input[type=number]{width:68px;min-height:30px;font-size:10px}.dialog-note{font-size:10px;color:var(--sub);padding:12px;background:var(--panel2);border-radius:8px;border:1px solid var(--line);margin:12px 0;line-height:1.8}.form-error{padding:10px 13px;font-size:11px;color:var(--error);background:var(--error-bg);border-radius:8px;margin-bottom:15px}.confirm-dialog{width:420px;border-radius:17px;padding:25px;max-width:90vw;margin:auto}.confirm-dialog h2{font-size:18px;margin-bottom:11px}.confirm-dialog p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px}.palette{width:550px;max-width:90vw;margin:13vh auto auto;border-radius:16px;animation:enter .15s ease-out}.palette-search{display:flex;align-items:center;gap:14px;padding:19px 20px;border-bottom:1px solid var(--line)}.palette-search .icon{color:var(--muted)}.palette-search input{border:0;background:transparent;outline:none;padding:0;font-size:14px;min-height:24px}.palette-items{padding:8px;max-height:430px;overflow:auto}.palette-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;background:transparent;color:var(--sub);border-radius:8px;text-align:left;font-size:12px}.palette-item:hover,.palette-item.selected{background:var(--mint-soft);color:var(--mint-text)}.palette-item .icon{width:17px;height:17px}.palette-item small{margin-left:auto;color:var(--muted);font-size:10px}.palette-footer{padding:12px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;display:flex;gap:15px}.setting-card{padding:25px;max-width:880px}.setting-row{display:grid;grid-template-columns:1fr 250px;gap:25px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line2)}.setting-row:last-child{border-bottom:0}.setting-row h3{font-size:12px}.setting-row p{font-size:10px;color:var(--muted);margin-top:5px}.setting-row input,.setting-row select{width:100%;max-width:none}.setting-row .checkline{justify-content:flex-end}.playground-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:21px}.playground-form{padding:24px}.playground-form textarea{min-height:250px;font-family:var(--mono);font-size:12px}.playground-result{padding:22px;min-height:435px}.playground-text{font-size:13px;white-space:pre-wrap;line-height:1.95;color:var(--sub);margin:22px 0}.response-meta{display:flex;gap:8px;flex-wrap:wrap}.protocol-tabs{display:flex;gap:5px;background:var(--panel2);padding:5px;border:1px solid var(--line);border-radius:9px;margin-bottom:18px}.protocol-tabs button{flex:1;background:transparent;border:0;color:var(--muted);font:10px var(--mono);padding:7px 5px;border-radius:6px}.protocol-tabs button.active{color:var(--text);background:var(--panel);box-shadow:0 2px 5px #00000008}.connection-guide{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:21px}.guide{padding:22px}.guide h3{font-size:12px;margin-bottom:10px}.guide pre{font-size:10px}.guide p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:10px}.progress-indicator{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:11px}.progress-indicator i{width:4px;height:4px;background:var(--accent);border-radius:50%;animation:pulse 1s infinite}.progress-indicator i:nth-child(2){animation-delay:.2s}.progress-indicator i:nth-child(3){animation-delay:.4s}
/* Onboarding is functional; no credentials or usage figures are embedded. */
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--panel)}.login-art{background:#111f21;position:relative;overflow:hidden;color:#d5e7dd;display:flex;flex-direction:column;justify-content:space-between;padding:50px 55px}.login-art:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#9ccfb122 .8px,transparent .8px);background-size:22px 22px;mask-image:radial-gradient(ellipse at center,black,transparent 80%)}.login-art .brand{position:relative;margin:0;align-self:flex-start}.login-art-main{position:relative;max-width:440px;align-self:center;margin:35px 0}.login-art-main h1{font-size:40px;font-weight:430;line-height:1.45;letter-spacing:-1.7px;margin-top:24px;color:#e5efe9}.login-art-main p{font-size:12px;color:#839d90;line-height:1.9;margin:20px 0}.login-orbit{width:260px;height:220px;position:relative;margin:0 auto 30px;display:grid;place-items:center}.login-orbit:before,.login-orbit:after{content:"";position:absolute;width:200px;height:200px;border:1px solid #a3bda321;border-radius:50%;transform:rotateX(48deg) rotate(25deg)}.login-orbit:after{transform:rotateY(48deg) rotate(-25deg)}.login-orbit .icon{width:90px;height:90px;color:#bbd9bd;filter:drop-shadow(0 0 25px #b4daba22);stroke-width:.8}.orbit-chip{position:absolute;border:1px solid #a3bda32c;background:#15292b;border-radius:8px;padding:6px 10px;font:9px var(--mono);color:#93bda3}.orbit-chip.one{top:23px;right:5px}.orbit-chip.two{bottom:20px;left:-10px}.orbit-chip.three{bottom:40px;right:-12px}.login-art-foot{position:relative;font-size:10px;color:#668579;display:flex;justify-content:space-between}.login-form-wrap{display:grid;place-content:center;padding:45px;min-height:100vh}.login-form{width:min(355px,75vw)}.login-form h2{font-size:27px;font-weight:560;margin-bottom:10px}.login-form>p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:30px}.login-form .eyebrow{font-size:10px;margin-bottom:17px}.login-form input{font-family:var(--mono);font-size:12px;padding:12px;min-height:45px}.login-form .btn{height:44px;margin-top:10px}.login-note{font-size:10px;color:var(--muted);margin-top:23px;line-height:1.9;padding-top:20px;border-top:1px solid var(--line)}.login-note code{font-size:10px;color:var(--sub)}.login-security{font-size:9px;display:flex;gap:8px;align-items:center;margin-top:28px;color:var(--muted)}.login-security .icon{width:13px;height:13px}#toasts{position:fixed;right:25px;bottom:24px;display:flex;flex-direction:column;gap:8px;z-index:200;max-width:390px;pointer-events:none}.toast{pointer-events:auto;border:1px solid var(--line);background:var(--panel);box-shadow:0 9px 40px #061e2025;border-radius:10px;display:flex;gap:10px;padding:13px 16px;align-items:flex-start;font-size:11px;animation:enter .22s ease-out}.toast>.icon{color:var(--mint-text);width:17px;height:17px;margin-top:1px}.toast.error>.icon{color:var(--error)}.toast small{display:block;color:var(--muted);font:8px var(--mono);margin-top:5px;word-break:break-all}.toast .icon-btn{width:20px;height:20px;margin-left:10px}.toast .icon-btn .icon{width:13px;height:13px}.secret-box{padding:16px;border-radius:10px;border:1px dashed #7dab89;background:var(--mint-soft);font:11px var(--mono);overflow-wrap:anywhere;line-height:1.9}.key-created{padding:6px 0}.key-created h3{font-size:18px;margin-bottom:12px}.key-created p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:18px}.quickstart{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.quickstep{padding:17px 19px;display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:var(--panel);border-radius:12px}.quickstep-num{width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font:10px var(--mono);color:var(--muted)}.quickstep.done .quickstep-num{background:var(--mint-soft);border-color:transparent;color:var(--mint-text)}.quickstep h3{font-size:11px;margin-bottom:4px}.quickstep p{font-size:10px;color:var(--muted)}.quickstep .action-link{font-size:9px;margin-top:8px}
@keyframes flow{to{stroke-dashoffset:-90}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{from{opacity:.7;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{50%{opacity:.2}}
@media(min-width:1550px){.main{padding-top:38px}.stat{padding:21px 23px}.chart-svg{height:235px}.route-mini{height:204px}.stats-grid{gap:22px}}
@media(max-width:1180px){.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:28px 25px}.topbar{padding:0 25px}.overview-grid{grid-template-columns:1.4fr 1fr;gap:16px}.stat{padding:16px}.stat-value{font-size:26px}.stats-grid{gap:12px}.stat-foot{font-size:9px}.route-layout{grid-template-columns:200px minmax(0,1fr)}.route-canvas{grid-template-columns:110px 25px minmax(0,1fr);padding:25px 15px}.candidate{gap:7px;padding:10px}.candidate .badge{display:none}.command-search{min-width:165px}.quickstart{gap:8px}.quickstep{padding:13px;gap:9px}}
@media(max-width:960px){.sidebar{width:190px;padding:27px 12px 15px}.app-shell{padding-left:190px}.loading-line{left:190px}.brand{margin-left:8px}.overview-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start}.topbar .crumbs{gap:8px}.command-search{min-width:0}.command-search span{display:none}.route-layout{grid-template-columns:1fr}.route-list{flex-direction:row;overflow:auto}.route-select{min-width:180px}.playground-grid{grid-template-columns:1fr}.connection-guide{grid-template-columns:1fr}.login-art{padding:35px}.login-art-main h1{font-size:32px}.login-orbit{transform:scale(.8)}.quickstart{grid-template-columns:1fr}.quickstep p{display:inline}.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:224px}.sidebar.open{transform:translateX(0);box-shadow:10px 0 100px #0007}.app-shell{padding-left:0}.mobile-menu{display:grid}.topbar{height:61px;padding:0 17px}.crumbs>.crumb-divider,.crumbs>.crumb-current{display:none}.topbar-right{gap:8px}.command-search{display:none}.main{padding:24px 17px}.page-head{flex-direction:column;gap:16px;margin-bottom:20px}h1{font-size:26px}.loading-line{left:0;top:60px}.stats-grid{gap:10px}.stat{padding:15px}.stat-value{font-size:26px}.stat-spark{display:none}.stat-foot{gap:3px;flex-wrap:wrap}.overview-grid{gap:17px}.provider-grid{grid-template-columns:1fr}.card-head{padding:17px}.card-body{padding:0 17px 18px}.table-scroll th,.table-scroll td{padding:12px 14px}.banner{font-size:10px;align-items:flex-start}.banner .right{white-space:nowrap}.footer{font-size:8px;align-items:flex-start}.footer-left{gap:8px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.form-grid .field{grid-column:1}.drawer-head,.drawer-body,.drawer-footer{padding:20px}.setting-row{grid-template-columns:1fr;gap:12px}.setting-row .checkline{justify-content:flex-start}.login-page{display:block}.login-art{display:none}.login-form-wrap{padding:30px}.login-form{width:min(355px,85vw)}.route-canvas{grid-template-columns:90px 22px minmax(0,1fr);padding:18px 12px}.router-node{padding:15px 7px}.candidate-order,.candidate .drag-handle{display:none}.candidate-info strong{font-size:10px}.candidate-info small{font-size:8px}.candidate{gap:4px}.toolbar .search-field{max-width:none;min-width:150px}.toolbar select{max-width:150px}.card-head h2{font-size:12px}.chart-summary{gap:20px}.connection-guide{gap:15px}#toasts{left:17px;right:17px;bottom:17px;max-width:none}.nav-group{margin-top:12px}.sidebar .brand{margin-bottom:24px}.nav-item{padding:9px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
