:root{--bg: #0c0d0e;--panel: #131416;--surface: #17191c;--surface2: #1c1e22;--raised: #202329;--border: rgba(255, 255, 255, .08);--border2: rgba(255, 255, 255, .05);--text: #e7e9ec;--dim: #9aa0a8;--faint: #6b7178;--accent: #34c77b;--accent-ink: #0c0d0e;--accent-tint: rgba(52, 199, 123, .12);--hover: #191c20;--healthy: #5fd99a;--healthy-tint: rgba(52, 199, 123, .13);--booting: #7fb0ff;--booting-tint: rgba(76, 141, 255, .13);--degraded: #ff8a7a;--degraded-tint: rgba(255, 107, 87, .13);--warn: #f0a53f;--warn-tint: rgba(240, 165, 63, .13);--brokerage: #b45ee8;--shadow: 0 18px 50px rgba(0, 0, 0, .5);--mono: "JetBrains Mono", ui-monospace, monospace}[data-theme=light]{--bg: #f3f4f2;--panel: #ffffff;--surface: #ffffff;--surface2: #f2f3f1;--raised: #ffffff;--border: rgba(20, 30, 24, .1);--border2: rgba(20, 30, 24, .06);--text: #182019;--dim: #57615a;--faint: #8b948d;--accent: #1f9d5f;--accent-ink: #ffffff;--accent-tint: rgba(31, 157, 95, .1);--hover: #f0f3f0;--healthy: #178a53;--healthy-tint: rgba(31, 157, 95, .12);--booting: #2f6fe0;--booting-tint: rgba(47, 111, 224, .11);--degraded: #cf3a24;--degraded-tint: rgba(207, 58, 36, .1);--warn: #b9791a;--warn-tint: rgba(217, 138, 31, .12);--brokerage: #8b3fc6;--shadow: 0 18px 50px rgba(20, 30, 24, .14)}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:13px;zoom:1.15}a{color:var(--accent);text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}input,textarea{font-family:inherit;color:var(--text)}::placeholder{color:var(--faint)}::-webkit-scrollbar{height:9px;width:9px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:9px}@keyframes ghspin{to{transform:rotate(360deg)}}@keyframes ghrise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ghtoast{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ghindet{0%{left:-35%}to{left:100%}}.mono{font-family:var(--mono)}.dim{color:var(--dim)}.faint{color:var(--faint)}.spacer{flex:1}.topbar{display:flex;align-items:center;gap:18px;padding:10px 22px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:9px;cursor:pointer}.brand .sq{width:24px;height:24px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center}.brand .nm{font-size:16px;font-weight:700;letter-spacing:-.01em}.searchpill{flex:1;max-width:520px;display:flex;align-items:center;gap:9px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:8px 11px;color:var(--faint);cursor:pointer}.kbd{font:500 11px var(--mono);color:var(--faint);border:1px solid var(--border);border-radius:5px;padding:1px 6px}.cappill{display:flex;align-items:center;gap:8px;background:var(--surface2);border-radius:8px;padding:5px 11px}.iconbtn{width:34px;height:34px;background:var(--surface2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--dim)}.newbtn{display:flex;align-items:center;gap:7px;background:var(--accent);border-radius:9px;padding:8px 14px;color:var(--accent-ink);font-weight:600}.crumbs{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:13px}.crumbs button{color:var(--faint)}.crumbs button:hover{color:var(--text)}.crumbs .here{font:500 13px var(--mono);color:var(--dim)}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}.card h2{margin:0;font-size:13px;font-weight:600}.card .sub{font-size:11.5px;color:var(--faint);margin:4px 0 12px}.seg{display:flex;gap:5px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:3px;width:fit-content}.seg button{font:500 11.5px Space Grotesk;color:var(--dim);border-radius:6px;padding:6px 13px}.seg button.on{color:var(--accent-ink);background:var(--accent);font-weight:600}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px;font:600 12px Space Grotesk}.chip-pill{font:500 11px var(--mono);color:var(--dim);background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:4px 10px}.dot-healthy{width:8px;height:8px;border-radius:50%;background:var(--healthy);display:inline-block;flex:none}.dot-deleting{width:8px;height:8px;border-radius:50%;background:var(--faint);display:inline-block;flex:none}.tri-failed{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--degraded);display:inline-block;flex:none}.spin-booting{width:10px;height:10px;border-radius:50%;border:2px solid rgba(127,176,255,.35);border-top-color:var(--booting);display:inline-block;flex:none;animation:ghspin .8s linear infinite}.avatar{display:flex;align-items:center;justify-content:center;font:600 9px Space Grotesk;color:#0c0d0e;flex:none}.btn{font:500 12.5px Space Grotesk;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:9px 14px}.btn:hover{background:var(--hover)}.btn.primary{font-weight:600;color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.btn.small{padding:6px 11px;font-size:11px;border-radius:7px}.btn:disabled{opacity:.5;cursor:default}.switch{border-radius:999px;border:1px solid var(--border);padding:2px;display:flex;width:34px;flex:none;cursor:pointer;transition:background .15s}.switch .knob{width:13px;height:13px;border-radius:50%;background:#fff;transition:margin .15s}.switch.on{background:var(--accent)}.switch.on .knob{margin-left:auto}.switch:not(.on){background:var(--surface2)}.flag-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;cursor:pointer;border-bottom:1px solid var(--border2)}.flag-row:last-child{border-bottom:0}.flag-row .k{font:400 12px var(--mono)}.config-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}.config-row .name{font:500 12.5px Space Grotesk}.config-row .meta{font:400 11px var(--mono);color:var(--faint)}.sec-label{font:500 11px Space Grotesk;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 2px}.artifact-row{display:flex;align-items:center;gap:12px;background:var(--surface2);border:1.5px solid transparent;border-radius:10px;padding:9px 11px 9px 13px}.artifact-row.dirty{border-color:var(--accent)}.artifact-row+.artifact-row{margin-top:8px}.artifact-row .k{font:600 10px Space Grotesk;color:var(--faint);width:66px;letter-spacing:.04em;flex:none}.artifact-row input{flex:1;font:500 12.5px var(--mono);background:transparent;border:none;outline:none;min-width:0}.artifact-row .ro{flex:1;font:500 12.5px var(--mono);color:var(--dim)}.artifact-row .note{font:400 10px Space Grotesk;color:var(--faint);flex:none}.artifact-row .reset{font:500 11px Space Grotesk;color:var(--faint)}.artifact-row .reset:hover{color:var(--text)}.bselect{position:relative;min-width:220px}.bselect .trigger{display:flex;align-items:center;gap:9px;width:100%;background:var(--surface2);border:1.5px solid var(--border);border-radius:8px;padding:7px 11px}.bselect .trigger.open{border-color:var(--accent)}.bselect .opt-name{display:block;font:500 12px var(--mono);color:var(--text)}.bselect .opt-sub{display:block;font:400 10px Space Grotesk;color:var(--faint);margin-top:1px}.bselect .list{position:absolute;z-index:30;top:calc(100% + 6px);right:0;width:260px;background:var(--raised);border:1px solid var(--border);border-radius:12px;padding:6px;max-height:320px;overflow-y:auto;box-shadow:var(--shadow)}.bselect .list button{display:block;width:100%;border-radius:8px;padding:8px 10px}.bselect .list button:hover{background:var(--hover)}.bselect-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25}.url-pair input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:7px 11px;font:400 12px var(--mono);margin-top:8px}.side-label{font:600 11px Space Grotesk;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.side-btn{display:flex;align-items:center;gap:8px;width:100%;font:500 12.5px Space Grotesk;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:9px 12px;margin-top:7px}.side-btn:first-of-type{margin-top:0}.side-btn:hover:not(:disabled){background:var(--hover)}.side-btn:disabled{opacity:.5;cursor:default}.side-btn.red{color:var(--degraded);background:var(--degraded-tint);border-color:transparent}.side-btn.red:hover{background:color-mix(in srgb,var(--degraded) 24%,transparent)}.side-btn.delete{justify-content:center;font-weight:600;color:#fff;background:var(--degraded);border-color:var(--degraded)}.side-btn.delete:hover{background:color-mix(in srgb,var(--degraded) 88%,black);border-color:color-mix(in srgb,var(--degraded) 88%,black)}.link-row{display:flex;align-items:center;justify-content:space-between;border-radius:8px;padding:8px 10px;width:100%;font:500 12px Space Grotesk;color:var(--text)}.link-row:hover{background:var(--hover)}.url-row{display:flex;align-items:center;gap:9px;width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 11px;margin-top:7px}.url-row:hover{background:var(--hover)}.url-row .k{font:600 8.5px Space Grotesk;color:var(--faint);width:38px;text-transform:uppercase;letter-spacing:.04em;text-align:left;flex:none}.url-row .v{font:500 11px var(--mono);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fail-banner{display:flex;gap:10px;align-items:flex-start;background:var(--degraded-tint);border:1px solid var(--degraded);border-radius:12px;padding:13px 15px;margin-bottom:16px}.boot-banner{background:var(--panel);border:1px solid var(--booting);border-radius:12px;padding:15px 16px;margin-bottom:16px}.boot-track{height:3px;background:var(--surface2);border-radius:2px;position:relative;overflow:hidden;margin:12px 0}.boot-track .bar{position:absolute;top:0;bottom:0;width:35%;background:var(--booting);border-radius:2px;animation:ghindet 1.4s ease-in-out infinite}.step{font:500 10px var(--mono);border-radius:6px;padding:3px 8px;color:var(--faint);background:var(--surface2)}.step.done{color:var(--healthy);background:var(--healthy-tint)}.step.current{color:var(--booting);background:var(--booting-tint)}.lgrid{display:grid;grid-template-columns:2fr 1.7fr 1fr .8fr .7fr;gap:14px;align-items:center;padding:13px 18px}.lgrid.head{padding:10px 18px;border-bottom:1px solid var(--border)}.lgrid.head span{font:600 10px Space Grotesk;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}.lrow{position:relative;cursor:pointer;border-bottom:1px solid var(--border2)}.lrow:last-child{border-bottom:0}.lrow:hover{background:var(--hover)}.lrow .acts{position:absolute;right:0;top:0;bottom:0;display:flex;opacity:0;pointer-events:none;align-items:center;gap:5px;padding:0 14px 0 40px;background:linear-gradient(90deg,transparent,var(--hover) 34%)}.lrow:hover .acts,.lrow:focus-within .acts{opacity:1;pointer-events:auto}@media(hover:none){.lrow .acts{opacity:1;pointer-events:auto}}.acts button{width:28px;height:28px;border-radius:8px;background:var(--raised);display:flex;align-items:center;justify-content:center;color:var(--dim)}.acts button.danger{background:var(--degraded-tint);color:var(--degraded)}.verchip{display:inline-flex;align-items:center;gap:5px;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;padding:3px 7px;margin-right:5px}.verchip .l{font:600 8.5px Space Grotesk;color:var(--faint);letter-spacing:.04em}.verchip .t{font:500 10px var(--mono)}.msg-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;font:500 10px var(--mono);color:var(--degraded);background:var(--degraded-tint);border-radius:6px;padding:3px 8px;margin-top:5px}.msg-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filterbar{display:flex;gap:12px;margin:16px 0 14px}.searchbox{flex:1;display:flex;align-items:center;gap:9px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:9px 12px}.searchbox input{flex:1;font:400 13px var(--mono);background:transparent;border:none;outline:none}.tabset{display:flex;gap:4px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:3px}.tabset button{font:500 12.5px Space Grotesk;color:var(--dim);border-radius:6px;padding:6px 12px}.tabset button.on{color:var(--accent-ink);background:var(--accent)}.sortbtn{display:flex;align-items:center;gap:7px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:8px 12px;font:400 12.5px Space Grotesk;color:var(--faint)}.sortbtn b{font-weight:500;color:var(--text)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px}.dialog{background:var(--raised);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);animation:ghrise .16s ease}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:10px;background:var(--raised);border:1px solid var(--border);border-radius:11px;padding:12px 18px;font:500 13px Space Grotesk;box-shadow:var(--shadow);animation:ghtoast .2s ease;white-space:nowrap}.toast:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}textarea.yaml{width:100%;min-height:260px;resize:vertical;display:block;font:400 12.5px/1.7 var(--mono);background:transparent;border:none;outline:none;-moz-tab-size:2;tab-size:2}.name-field{flex:1;display:flex;align-items:center;background:var(--surface2);border:1.5px solid var(--border);border-radius:11px;padding:12px 14px}.name-field input{flex:1;font:700 20px var(--mono);letter-spacing:-.02em;background:transparent;border:none;outline:none;min-width:0}.name-field .suffix{font:400 13px var(--mono);color:var(--faint);flex:none}.footer-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--panel);border-top:1px solid var(--border)}.footer-bar .inner{max-width:820px;margin:0 auto;padding:13px 22px;display:flex;align-items:center;gap:16px}.artifact-row:focus-within{box-shadow:0 0 0 3px var(--accent-tint)}.searchbox:focus-within{border-color:var(--accent)}.name-field:focus-within{box-shadow:0 0 0 3px var(--accent-tint)}textarea.yaml:focus-visible{outline:1.5px solid var(--border);outline-offset:4px}
