.k8s{grid-template-columns:120px 170px 230px minmax(0,1fr);grid-template-areas:"client gw epp poolA"". .kv nixl"".prom scaler poolB";align-items:center;gap:18px 34px;display:grid;position:relative}.k8s.naive{grid-template-areas:"client gw.poolA"". . .nixl"".prom scaler poolB"}.k-area-client{grid-area:client}.k-area-gw{grid-area:gw}.k-area-epp{grid-area:epp}.k-area-poolA{grid-area:poolA}.k-area-nixl{grid-area:nixl}.k-area-poolB{grid-area:poolB}.k-area-kv{grid-area:kv}.k-area-prom{grid-area:prom}.k-area-auto{grid-area:scaler}.kbox{z-index:2;border:1px solid var(--stage-line);color:var(--stage-text);text-align:left;cursor:pointer;background:#1c3232f2;border-radius:12px;padding:11px 12px;transition:border-color .3s,box-shadow .3s,opacity .3s,transform .3s;position:relative}.kbox:hover{border-color:#deb88799}.kbox b{font-size:.86rem;display:block}.kbox small{color:var(--stage-muted);margin-top:2px;font-size:.68rem;line-height:1.3;display:block}.kbox .obj{color:var(--sky);font-family:var(--mono);margin-top:6px;font-size:.62rem;display:inline-block}.kbox.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 0 24px #deb88740}.kbox.dim{opacity:.45}.kbox.bad{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember)}.knode{background:#00000024;border:1px solid #9cc3e859;border-radius:14px;padding:10px 12px 12px}.knode>header{color:var(--sky);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin-bottom:8px;font-size:.64rem;font-weight:850;display:flex}.knode>header span{color:var(--stage-muted);font-family:var(--mono);letter-spacing:0;text-transform:none;font-weight:600}.kpods{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.kpod{padding:8px 10px}.kpod .role{letter-spacing:.06em;text-transform:uppercase;border-radius:99px;margin-top:5px;padding:1px 6px;font-size:.58rem;font-weight:850;display:inline-block}.kpod .role.p{color:var(--ember);background:#e58c5f40}.kpod .role.d{color:var(--sky);background:#9cc3e838}.kpod .role.g{color:var(--stage-muted);background:#fffdf81f}.kpod .badge{background:var(--sage);color:var(--ink);letter-spacing:.05em;opacity:0;border-radius:99px;padding:1px 6px;font-size:.56rem;font-weight:900;transition:opacity .3s;position:absolute;top:-8px;right:8px}.kpod .badge.show{opacity:1}.kpod.new{border-style:dashed}.knixl{height:30px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;border:1px dashed #deb88773;border-radius:99px;justify-content:center;align-items:center;gap:8px;font-size:.64rem;font-weight:850;display:flex}.knixl.on{background:#deb88724;border-style:solid}.epp-parts{gap:6px;margin-top:8px;display:grid}.epp-parts .grp{letter-spacing:.08em;text-transform:uppercase;color:var(--stage-muted);font-size:.6rem;font-weight:850}.epp-parts .chips{flex-wrap:wrap;gap:4px;display:flex}.epp-parts .c{color:var(--stage-muted);background:#fffdf814;border-radius:6px;padding:2px 6px;font-size:.62rem;transition:all .3s}.epp-parts .c.on{background:var(--gold);color:var(--ink)}.epp-score{font-family:var(--mono);color:var(--stage-muted);margin-top:8px;font-size:.62rem;display:none}.epp-score.show{gap:2px;display:grid}.epp-score div{border-radius:4px;justify-content:space-between;gap:6px;padding:2px 5px;display:flex}.epp-score div.win{color:var(--stage-text);background:#9cc9a440}.epp-score b{white-space:nowrap;color:var(--stage-text);font-size:inherit;font-weight:700;display:inline}.epp-score span{white-space:nowrap}.epp-score .w8{font-family:var(--sans);font-size:.6rem}.k-svg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.k-svg path{fill:none;stroke:#fffdf829;stroke-width:2px;transition:stroke .3s,stroke-width .3s}.k-svg path.on{stroke:var(--gold);stroke-width:3px}.k-svg path.ret.on{stroke:var(--sky)}.k-svg path.evt{stroke-dasharray:3 5}.k-svg path.evt.on{stroke:var(--sage)}.kpacket{z-index:6;background:var(--gold);pointer-events:none;border-radius:5px;width:16px;height:16px;margin:-8px 0 0 -8px;transition:left .9s cubic-bezier(.4,.1,.2,1),top .9s cubic-bezier(.4,.1,.2,1),background .3s,opacity .3s;position:absolute;box-shadow:0 0 0 5px #deb8872e,0 0 22px #deb887b3}.kpacket.ret{background:var(--sky);box-shadow:0 0 0 5px #9cc3e82e,0 0 22px #9cc3e8b3}.pod-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:14px;display:grid}.yaml{border-radius:var(--r-lg);color:#d9e2df;font-family:var(--mono);box-shadow:var(--shadow);background:#1b2e2e;margin:0;padding:14px 0;font-size:.78rem;line-height:1.55;overflow-x:auto}.yl{width:100%;color:inherit;font:inherit;text-align:left;white-space:pre;background:0 0;border:0;border-left:3px solid #0000;padding:1px 18px;display:block}button.yl{cursor:pointer}button.yl:hover{background:#deb88714}button.yl .hot{border-bottom:1px dotted #deb887b3}.yl.sel{border-left-color:var(--gold);background:#deb88724}.yl .k{color:#9cc3e8}.yl .v{color:#e8cfa6}.yl .c{color:#7f9a95;font-style:italic}.yl .f{color:#9cc9a4}.pod-side{position:sticky;top:76px}.pod-diagram{gap:8px;margin-top:10px;display:grid}.pd-part{border:1px solid var(--stage-line);background:#00000026;border-radius:10px;padding:9px 12px;transition:all .3s}.pd-part b{color:var(--stage-text);font-size:.82rem;display:block}.pd-part small{color:var(--stage-muted);font-size:.7rem}.pd-part.on{border-color:var(--gold);background:#deb88724}.pd-link{color:var(--stage-muted);font-family:var(--mono);text-align:center;font-size:.64rem}.pd-gpus4{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:6px;display:grid}.pd-gpus4 i{height:22px;color:var(--stage-muted);background:#fffdf81a;border-radius:5px;place-items:center;font-size:.58rem;font-style:normal;display:grid}.pd-part.on .pd-gpus4 i{background:var(--gold);color:var(--ink)}.bp{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);gap:12px;padding:16px;display:grid}.bp-h{width:100%;color:var(--gray);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:850}.bp-tray{border:1.5px dashed var(--line-strong);border-radius:14px;flex-wrap:wrap;gap:8px;min-height:64px;padding:12px;display:flex}.bp-nodes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.bp-node{border:1.5px solid var(--line-strong);background:var(--white);border-radius:14px;flex-direction:column;gap:10px;min-height:230px;padding:12px;display:flex}.bp-node header b{font-size:.95rem;display:block}.bp-node header small{color:var(--ink-soft);font-size:.74rem}.bp-gpus{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.bp-gpus.four{grid-template-columns:repeat(4,minmax(0,1fr));max-width:50%}.bp-gpus i{background:var(--mist);border-radius:5px;height:24px;transition:background .3s}.bp-gpus i.busy{background:repeating-linear-gradient(135deg,#b9bdb9 0 4px,#d7d9d6 4px 8px)}.bp-placed{flex-wrap:wrap;gap:6px;display:flex}.dd-chip .dot{border-radius:3px;width:10px;height:10px}.dd-chip small{color:var(--ink-soft);font-size:.7rem;font-weight:600}.bp-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.bp-msg{background:#deb88740;border-radius:10px;flex:320px;padding:10px 12px;font-size:.86rem}.bp-msg.bad{color:var(--bad);background:#b4442c1f}.bp-msg.good{color:var(--good);background:#3c7a5524}.ob-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ob-panel{border:1px solid var(--stage-line);background:#00000026;border-radius:12px;padding:10px 12px;transition:border-color .4s}.ob-panel.alert{border-color:var(--ember)}.ob-panel header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ob-panel header span{color:var(--stage-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.ob-panel header b{color:var(--stage-text);font-size:1.05rem}.ob-panel.alert header b{color:var(--ember)}.ob-panel svg{width:100%;height:46px;margin-top:6px;display:block}.ob-panel polyline{fill:none;stroke:var(--sky);stroke-width:2px;stroke-linejoin:round}.ob-panel.alert polyline{stroke:var(--ember)}.ob-panel .base{stroke:#fffdf824;stroke-width:1px}.ob-q{margin-top:14px}.ob-q .opts{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.ob-q .opts button{border:1px solid var(--stage-line);color:var(--stage-text);cursor:pointer;background:#fffdf80f;border-radius:10px;padding:9px 12px;font-size:.82rem;font-weight:700}.ob-q .opts button:hover{border-color:var(--gold)}.ob-q .opts button.right{border-color:var(--sage);background:#9cc9a440}.ob-q .opts button.wrong{border-color:var(--ember);background:#e58c5f33}.ob-q .opts button[disabled]{cursor:default}.cq{gap:4px;margin-top:10px;display:grid}.cq span{font-size:.84rem;font-weight:700}@media (max-width:1080px){.k8s,.k8s.naive{grid-template-columns:1fr 1fr;grid-template-areas:"client gw""epp epp""poolA poolA""nixl nixl""poolB poolB""kv kv""prom scaler";gap:14px}.pod-grid{grid-template-columns:1fr}.pod-side{position:static}.bp-nodes{grid-template-columns:1fr}}@media (max-width:760px){.kpods{grid-template-columns:1fr 1fr}.ob-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.yaml{font-size:.7rem}}
