:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#090f1b;color:#e5eef7;font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{width:242px;flex:0 0 242px;border-right:1px solid #202f44;background:#0e1725;display:flex;flex-direction:column;padding:19px 12px;gap:4px}.brand{display:flex;align-items:center;gap:12px;padding:11px 12px 22px;margin-bottom:16px;border-bottom:1px solid #1e3247;letter-spacing:2px}.brand-symbol{font-size:40px;color:#40d8ce;line-height:.85}.brand strong,.brand span,.brand small{display:block}.brand strong{font-size:14px}.brand span{font-weight:750;font-size:14px;color:#38ded3}.brand small{font-size:9px;color:#698397;margin-top:4px;letter-spacing:1px}.navpart{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#57728e;padding:20px 14px 8px}.nav{background:none;border:1px solid transparent;color:#8fa5ba;width:100%;border-radius:9px;padding:11px 13px;text-align:left;display:flex;align-items:center;gap:13px;font-weight:650}.nav span{font-size:20px;width:23px;text-align:center;font-weight:400}.nav:hover{background:#19283a;color:#ecf5fe}.nav.active{background:#143641;border-color:#245963;color:#77eee3}.sidebottom{margin-top:auto;border-top:1px solid #26354a;padding-top:14px}.sidebottom #whoami{display:block;padding:12px 14px;color:#b7c6d7}.buildmark{padding:14px 9px}.workspace{min-width:0;flex:1}.topbar{height:62px;border-bottom:1px solid #23344a;background:#0e1725;display:flex;justify-content:space-between;align-items:center;padding:0 26px;font-size:11px;font-weight:780;letter-spacing:.5px}.crumbroot{color:#667f9b}.chevron{color:#49647c}.topright{font-size:10px;letter-spacing:1px;color:#7590a5}.livepoint{display:inline-block;background:#3de0c2;width:7px;height:7px;border-radius:50%;box-shadow:0 0 12px #30cea8;margin-right:6px}.sep{margin:0 9px;color:#455b6f}#content{padding:24px 28px;max-width:1900px;margin:0 auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px}.heading h1{font-size:26px;letter-spacing:-.9px;font-weight:770;margin:0}.heading p{margin:6px 0 0;color:#87a0b6}.tools,.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primary,.secondary,.danger,.quiet,.paletteitem,.toolbtn{border:1px solid #32485e;border-radius:8px;padding:9px 13px;font-weight:700;background:#18283b;color:#d1e1f0}.primary{background:#38d8c7;color:#08242b;border-color:#41dac9}.primary:hover{background:#67f7e8}.secondary:hover,.quiet:hover,.toolbtn:hover{background:#203851;color:white}.danger{background:#38232e;color:#ffb7be;border-color:#693642}.danger:hover{background:#572b39}.quiet{background:transparent;border-color:transparent}.large{padding:12px 16px}.tiny{padding:6px 9px;font-size:11px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#39d6cc}.small{font-size:11px}.dim,.muted{color:#7e98ae}.error{color:#ffb1bb}input,textarea,select{width:100%;background:#0b1523;border:1px solid #354c63;color:#e0edf9;border-radius:8px;padding:10px 11px;outline:none;min-width:0}input:focus,textarea:focus,select:focus{border-color:#45cfc3;box-shadow:0 0 0 2px #2cc5b523}textarea{resize:vertical}label{font-weight:650;font-size:11px;color:#abc0d1;display:flex;flex-direction:column;gap:7px}.panel,.card,.stat{border:1px solid #24364d;background:#121f30;border-radius:12px}.panel{padding:20px}.card{padding:18px}.card.clickable{cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.card.clickable:hover{border-color:#4bb7b0;background:#162a3a;transform:translateY(-2px)}.card h3{font-size:17px;margin:14px 0 9px}.panel h3{margin:0 0 18px;font-size:15px}.paneltitle{font-weight:800;font-size:11px;letter-spacing:1.25px;color:#9cbed0;margin:0 0 14px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:15px}.labcard{min-height:170px}.labcard .cardfoot{border-top:1px solid #283b51;margin-top:16px;padding-top:12px;display:flex;justify-content:space-between;align-items:center;color:#829db0}.pill{display:inline-flex;align-items:center;border-radius:50px;padding:5px 10px;background:#213247;color:#a8bacb;font-size:10px;font-weight:800;letter-spacing:.5px}.pill.online{color:#68ebc7;background:#104337}.iconbox{width:44px;height:44px;display:grid;place-items:center;background:#153747;border:1px solid #285f68;border-radius:10px;font-size:23px;color:#69e9d6}.empty{display:grid;place-items:center;text-align:center;gap:14px;min-height:310px;border:1px dashed #35536b;background:#101d2c;border-radius:12px;color:#87a3b8}.empty strong{color:#e7f4fa;font-size:19px}.emptymark{font-size:55px;color:#40cabc}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.stack{display:flex;flex-direction:column;gap:15px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;color:#7899b2;font-size:10px;letter-spacing:1.3px;text-transform:uppercase}.data-table td,.data-table th{padding:13px 12px;border-bottom:1px solid #26384e}.data-table td{color:#c9d8e6}.data-table tr:last-child td{border-bottom:0}.data-table td input,.data-table td select{min-width:85px;padding:7px}.tablewrap{overflow-x:auto}.statgrid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:13px;margin-bottom:18px}.stat{padding:21px}.stat strong{display:block;font-size:30px;letter-spacing:-1px}.stat small{color:#8daac0}.notice{border:1px solid #316b73;background:#123444;color:#aef8ed;margin:10px 28px 0;padding:11px 15px;border-radius:8px}.notice.bad{background:#442333;border-color:#813f52;color:#ffbfce}.signin{background:radial-gradient(circle at 60% 20%,#184050,#09101c 60%);min-height:100vh;display:grid;place-items:center}.loginbox{width:min(430px,90vw);padding:34px;border:1px solid #2d5167;border-radius:18px;background:#111e2de8;box-shadow:0 28px 85px #0008;display:flex;flex-direction:column;gap:18px}.signmark{font-size:57px;color:#48eddf}.loginbox h1{margin:0;font-size:30px;letter-spacing:-1px}.loginbox p{margin:0 0 8px;color:#90afc1}.labframe{display:grid;grid-template-columns:212px minmax(420px,1fr) 360px;gap:11px;height:calc(100vh - 179px);min-height:580px}.labframe.panel{padding:0}.deviceshelf{overflow-y:auto;padding:16px;border:1px solid #26394d;border-radius:11px;background:#101c2b;display:flex;flex-direction:column;gap:8px}.shelfheading{color:#728da6;font-size:10px;font-weight:800;letter-spacing:1.3px;margin:10px 0 5px}.paletteitem{text-align:left;display:flex;align-items:center;gap:12px;background:#15283a;padding:12px;border-color:#2d4257}.paletteitem:hover{border-color:#48bfb8;background:#1c3445}.deviceglyph{font-size:27px;line-height:1;color:#55ddda;width:32px;text-align:center}.paletteitem strong,.paletteitem small{display:block}.paletteitem small{font-size:10px;color:#839fb5;margin-top:3px}.shelfinfo{font-size:11px;color:#708aa1;line-height:1.6;padding:14px 0;margin-top:auto;border-top:1px solid #293f51}.labcenter{min-width:0;position:relative;border:1px solid #304258;border-radius:12px;background-color:#0b1827;overflow:hidden}.canvasbar{position:absolute;top:0;left:0;right:0;height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;z-index:2;background:#102032e8;border-bottom:1px solid #304259;gap:7px}.canvasbar .toolbtn{padding:6px 9px;font-size:11px}.toolbtn.on{color:#051e24;background:#4be7d6;border-color:#4be7d6}.mapsvg{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.mapsvg.panning{cursor:grabbing}.mapsvg .node{cursor:grab}.mapsvg .node.dragging{cursor:grabbing}.mapsvg .node .device-bg{fill:#142a3e;stroke:#486782;stroke-width:1.6;filter:drop-shadow(0 7px 8px #0006)}.mapsvg .node.selected .device-bg{stroke:#53e9db;stroke-width:2.5}.mapsvg .node .devlabel{fill:#e9f6ff;font-size:13px;font-weight:800;text-anchor:middle;pointer-events:none}.mapsvg .node .devkind{fill:#8dacbf;font-size:10px;text-anchor:middle;letter-spacing:1px;pointer-events:none}.mapsvg .link{stroke:#5cb9b3;stroke-width:3;cursor:pointer}.mapsvg .link:hover{stroke:#f6b960;stroke-width:6}.mapsvg .linklabel{fill:#a0bed0;font-size:10px;text-anchor:middle;pointer-events:none}.mapstatus{position:absolute;bottom:12px;left:12px;color:#a2bacd;background:#0b1c2fe8;padding:9px 12px;border-radius:8px;border:1px solid #30475a;font-size:11px;pointer-events:none}.maphelp{position:absolute;bottom:12px;right:12px;color:#7392a9;background:#0b1c2fe0;border-radius:8px;padding:9px;font-size:10px;pointer-events:none}.inspector{overflow-y:auto;border:1px solid #2c4054;border-radius:11px;background:#101d2c;display:flex;flex-direction:column}.inspector-head{padding:17px 16px;border-bottom:1px solid #29394f}.inspector-head h3{font-size:18px;margin:5px 0 0}.inspector-tabs{display:flex;overflow-x:auto;border-bottom:1px solid #29394f}.inspector-tabs button{white-space:nowrap;flex:1;border:none;border-bottom:2px solid transparent;background:transparent;color:#7a9ab0;padding:12px 10px;font-size:11px;font-weight:800}.inspector-tabs button.active{border-bottom-color:#4de6d6;color:#5deede}.inspector-body{padding:15px;display:flex;flex-direction:column;gap:14px}.portrow{border:1px solid #294057;background:#13283c;border-radius:9px;padding:11px;display:flex;align-items:center;gap:9px}.portled{width:9px;height:9px;border-radius:50%;background:#385368;flex:none}.portled.on{background:#3be4ae;box-shadow:0 0 10px #20df9b66}.portrow strong{font-size:12px}.portrow span{color:#7898af;font-size:10px}.portrow .portmeta{margin-left:auto;text-align:right}.terminal{background:#080f17;color:#b8f8c2;font-family:ui-monospace,Menlo,Consolas,monospace;border:1px solid #334b53;border-radius:9px;padding:12px;min-height:260px;max-height:390px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.55}.termcmd{color:#7fe6f1}.termoutput{color:#b4c5d3}.termline{display:flex;gap:8px;align-items:center}.termline input{font-family:ui-monospace,Consolas,monospace;border-color:#335869}.terminalhelp{font-size:11px;color:#8aa2b6;line-height:1.5}.routeitem{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px;border:1px solid #30495e;border-radius:8px;font-family:monospace;font-size:11px}.codebox{font:11px/1.6 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;background:#0a1422;border:1px solid #273c52;border-radius:9px;padding:12px;color:#adc6d5}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modalshade{position:fixed;z-index:30;inset:0;background:#000a;display:grid;place-items:center;padding:20px}.modal{width:min(510px,95vw);background:#142236;border:1px solid #426078;border-radius:15px;box-shadow:0 25px 95px #000a;padding:24px;display:flex;flex-direction:column;gap:17px}.modal h2{margin:0;font-size:19px}.modal p{margin:0;color:#8cacc0}.modal .tools{justify-content:flex-end}.screen-footer{margin-top:22px;color:#7791a6;font-size:11px}.inlinecheckbox{width:auto;accent-color:#33d5c2}.layered{display:flex;gap:15px;align-items:center}.layered label{flex-direction:row;align-items:center}.updown{color:#43d7bb}.break{word-break:break-all}@media(max-width:1300px){.labframe{grid-template-columns:175px minmax(370px,1fr) 310px}#content{padding:18px}}@media(max-width:1120px){.labframe{grid-template-columns:160px minmax(350px,1fr);height:auto}.labcenter{height:630px}.inspector{grid-column:1/-1;min-height:290px;max-height:560px}.statgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.sidebar{width:64px;flex-basis:64px;padding:13px 4px}.brand{padding:5px;margin:0}.brand>div:last-child,.navpart,.nav{font-size:0}.nav span{font-size:24px}.sidebottom #whoami,.buildmark,.topright{display:none}.topbar{padding:0 12px}#content{padding:12px}.labframe{display:flex;flex-direction:column}.deviceshelf{display:grid;grid-template-columns:repeat(2,1fr)}.shelfheading,.shelfinfo{grid-column:1/-1}.labcenter{min-height:450px}.inspector{min-height:440px}.heading{align-items:flex-start;flex-direction:column}.statgrid{grid-template-columns:repeat(2,1fr)}}

/* v0.4 actual-device GUI */
.virtualdesk{background:linear-gradient(145deg,#10263d,#0b1626 70%);border:1px solid #2c5370;border-radius:13px;padding:10px;display:flex;flex-direction:column;gap:11px;box-shadow:inset 0 1px 0 #ffffff18,0 14px 32px #0004}.deskbar{display:flex;justify-content:space-between;align-items:center;padding:9px;border-radius:8px;background:#061421b0;gap:5px}.deskbrand{font-size:10px;letter-spacing:1.1px;font-weight:900;color:#8ee7f9}.deskstatus{font-size:10px;color:#50e0ae}.deskwindow{background:#12283c;border:1px solid #39556e;border-radius:9px;overflow:hidden;box-shadow:0 8px 20px #0004}.windowtitle{background:linear-gradient(90deg,#183c56,#163047);padding:10px;color:#bee9f5;font-size:10px;font-weight:800;letter-spacing:.35px;border-bottom:1px solid #35556e}.windowcontent{padding:12px;display:flex;flex-direction:column;gap:9px}.windowcontent label{display:flex;flex-direction:column;gap:6px}.deskcode{font-size:11px;line-height:1.7;overflow:auto;white-space:pre-wrap;max-height:290px}.websiteeditor{font-family:ui-monospace,monospace!important;min-height:130px;resize:vertical}.deskempty{padding:25px;text-align:center}.deskempty h3{font-size:17px}.loginbox{max-width:440px}.layered{display:flex;align-items:center;gap:9px!important;flex-direction:row!important}.loginbox #registerShow{color:#62eadd}.virtualdesk .primary{align-self:flex-start}

.devicefullscreen{position:fixed;inset:0;z-index:7000;background:#07101bdd;backdrop-filter:blur(16px);display:flex;flex-direction:column;padding:18px;overflow:hidden}.fulltop{padding:13px 20px;border:1px solid #305f79;border-radius:12px 12px 0 0;background:#152b42;display:flex;justify-content:space-between;align-items:center;font-size:15px;gap:12px}.fullbody{flex:1;min-height:0;overflow:auto;border:1px solid #305f79;border-top:0;border-radius:0 0 12px 12px;padding:20px;background:radial-gradient(ellipse at 85% 0%,#16415a,#0b1929 60%,#071323)}.fullbody>.virtualdesk{max-width:1150px;margin:0 auto;min-height:100%}.fullbody .deskwindow{max-width:none}.fullbody .windowcontent{padding:20px;gap:15px}.fullbody .deskcode{max-height:470px}.fullbody .websiteeditor{min-height:230px}.devicefullscreen:focus{outline:0}

/* Actual guest OS console */
.guestfullscreen{background:#050a13;padding:7px}.guestframe{width:100%;height:100%;flex:1;border:1px solid #284563;border-radius:0 0 9px 9px;background:#111}.guestfullscreen .fulltop{flex-shrink:0}

/* v0.6 original rack chassis vector illustrations */
.hardware-mini{width:122px;height:48px;flex:none;filter:drop-shadow(0 3px 5px #0006)}.hardware-front{pointer-events:none}.mapsvg .node .device-bg{fill:#0a1726;stroke:#3b657a;filter:drop-shadow(0 8px 11px #0008)}.paletteitem{gap:10px;padding:9px}.paletteitem strong{font-size:12px}.paletteitem small{font-size:10px}.inspector-head>.hardware-mini{width:180px;height:62px;margin-top:10px;max-width:100%}.mapsvg .node.selected .device-bg{stroke:#73e5db;stroke-width:2.6}

/* 0.6.1 enlarged equipment fronts; preserve clear scaling in the library and inspector. */
.hardware-mini{width:122px;height:52px}.inspector-head>.hardware-mini{width:260px;height:96px}.mapsvg .node .device-bg{stroke:#64819b;stroke-width:1.2;filter:drop-shadow(0 10px 12px #000a)}
.mapsvg .node.selected .device-bg{stroke:#66efe5;stroke-width:2.8}.mapsvg .node:hover .device-bg{stroke:#6cbcb7}

/* Hardware visual refresh 0.6.2: large legible rack fronts and physical equipment previews. */
.hardware-mini{width:100%;height:auto;max-width:214px;aspect-ratio:360 / 108;filter:drop-shadow(0 6px 9px #0009);display:block;flex:none;}
.paletteitem{display:flex;flex-direction:column;align-items:stretch;padding:10px 12px 11px;gap:8px;text-align:left;min-width:0;background:linear-gradient(160deg,#1c3042,#102235);border:1px solid #2c5064;transition:background .15s,border-color .15s,transform .15s;}
.paletteitem:hover{border-color:#58cfc8;background:#22394c;transform:translateY(-1px);}
.paletteitem>span{display:flex;justify-content:space-between;align-items:center;gap:4px;}
.paletteitem strong{font-size:12px;letter-spacing:.25px;color:#e6f4fa;}
.paletteitem small{font-size:9px;color:#8caebf;max-width:95px;text-align:right;line-height:1.3;}
.inspector-head>.hardware-mini{width:100%;max-width:320px;height:auto;margin:11px 0 5px;}
.mapsvg .node .device-bg{fill:#0e1c2c;stroke:#456780;stroke-width:1.25;filter:drop-shadow(0 9px 12px #000b);}
.mapsvg .node.selected .device-bg{stroke:#64e7d9;stroke-width:2.5;}
.mapsvg .node:hover .device-bg{stroke:#88cbe2;}
.mapsvg .node .devlabel{font-size:15px;font-weight:850;letter-spacing:.25px;}
.mapsvg .node .devkind{font-size:9px;letter-spacing:2px;}
.labframe{grid-template-columns:232px minmax(410px,1fr) 330px;}
.hardware-front{pointer-events:none;}
@media(max-width:1300px){.labframe{grid-template-columns:195px minmax(360px,1fr) 300px;}}
@media(max-width:1120px){.labframe{grid-template-columns:185px minmax(330px,1fr);height:auto;}.labcenter{height:650px}.inspector{grid-column:1/-1;}}
@media(max-width:750px){.labframe{display:flex;flex-direction:column;}.deviceshelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.paletteitem{min-width:0}.paletteitem>span{display:block}.paletteitem small{text-align:left;max-width:none;}.labcenter{min-height:480px;}.inspector{min-height:440px;}}

/* v0.8 clickable physical jacks and labeled cable styles */
.mapsvg .socket-jack{fill:#132d40;stroke:#69849a;stroke-width:1.2;cursor:crosshair;pointer-events:all}
.mapsvg .socket-jack.cabled{fill:#38daa8;stroke:#0d8873}
.mapsvg .socket-jack:hover,.mapsvg .socket-jack:focus{fill:#ffd773;stroke:#fff;stroke-width:2;outline:none}
.mapsvg .link{pointer-events:stroke}
.mapsvg .linklabel{font-weight:750;paint-order:stroke;stroke:#091625;stroke-width:3px}

/* v0.11 Chaos Lab: visible, measurable impairment controls */
.chaos-cable-top{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.pill.fault{background:#603622;color:#ffd1a0;border:1px solid #af7040}
.chaos-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
.chaos-stat{display:flex;flex-direction:column;gap:6px;padding:12px;background:#081827;border:1px solid #2d4259;border-radius:9px}
.chaos-stat span{font-size:11px;color:#94adc5;font-weight:700}
.chaos-stat strong{font-size:20px;color:#6ee9d1;font-variant-numeric:tabular-nums}
.chaos-stat small{color:#879daf;font-size:10px}
.chaos-workspace>.stack{max-height:57vh;overflow:auto;padding-right:3px}
@media(max-width:600px){.chaos-stat-row{grid-template-columns:1fr}}
/* Rack designer is a logical equipment-placement view, not an electrical simulator. */
.rack-area{max-height:54vh;overflow-y:auto;margin:12px 0;border:8px solid #24394c;background:#08121c;border-radius:8px;padding:4px}
.rackunit{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 14px;border-bottom:1px solid #25364b;color:#647e95;font-size:12px}
.rackunit.filled{background:linear-gradient(180deg,#294457,#142a3a);border:1px solid #518799;color:#daf4ff;box-shadow:inset 0 1px 0 #7696a2}

/* 0.17 Appearance Studio. Theme choices affect the application without changing hardware artwork. */
:root{
 --ns-accent:#31d8c8; --ns-accent-rgb:49,216,200;
 --ns-bg:#090f1b;--ns-panel:#121f30;--ns-side:#0e1725;
 --ns-input:#0b1523;--ns-txt:#e5eef7;--ns-muted:#8ea7bc;
 --ns-line:#293e55;--ns-soft:#17293b;--ns-hover:#1f364a;
 --ns-on-accent:#071b25;--ns-canvas:#0b1827;
 color-scheme:dark;
}
:root[data-accent="cyan"]{--ns-accent:#31d8c8;--ns-on-accent:#071b25}
:root[data-accent="blue"]{--ns-accent:#4d9eff;--ns-on-accent:#081629}
:root[data-accent="green"]{--ns-accent:#4cdb84;--ns-on-accent:#071f13}
:root[data-accent="orange"]{--ns-accent:#ffad52;--ns-on-accent:#251506}
:root[data-accent="red"]{--ns-accent:#ff6676;--ns-on-accent:#26080e}
:root[data-mode="light"]{
 --ns-bg:#f1f5fa;--ns-panel:#ffffff;--ns-side:#e8eff7;--ns-input:#ffffff;
 --ns-txt:#17263b;--ns-muted:#4c6175;--ns-line:#bccddd;
 --ns-soft:#eaf2fa;--ns-hover:#dbe8f5;--ns-canvas:#e8f0f8;
 color-scheme:light;
}
:root[data-mode="light"][data-accent="cyan"]{--ns-accent:#007f77;--ns-on-accent:#ffffff}
:root[data-mode="light"][data-accent="blue"]{--ns-accent:#1865cd;--ns-on-accent:#ffffff}
:root[data-mode="light"][data-accent="green"]{--ns-accent:#197b47;--ns-on-accent:#ffffff}
:root[data-mode="light"][data-accent="orange"]{--ns-accent:#af520c;--ns-on-accent:#ffffff}
:root[data-mode="light"][data-accent="red"]{--ns-accent:#b82c42;--ns-on-accent:#ffffff}
:root body{background:var(--ns-bg);color:var(--ns-txt)}
:root .sidebar,:root .topbar{background:var(--ns-side);border-color:var(--ns-line)}
:root .workspace,:root #content{background:var(--ns-bg)}
:root .panel,:root .card,:root .stat,:root .inspector,:root .deviceshelf,:root .loginbox,
:root .modal,:root .chaos-workspace{background:var(--ns-panel);border-color:var(--ns-line);color:var(--ns-txt)}
:root .labcenter{background:var(--ns-canvas);border-color:var(--ns-line)}
:root .canvasbar,:root .maphelp,:root .mapstatus{background:var(--ns-side);color:var(--ns-muted);border-color:var(--ns-line)}
:root .portrow,:root .paletteitem,:root .stat,:root .notice:not(.bad),:root .iconbox{background:var(--ns-soft);border-color:var(--ns-line)}
:root input,:root textarea,:root select{background:var(--ns-input);color:var(--ns-txt);border-color:var(--ns-line)}
:root input:focus,:root textarea:focus,:root select:focus{border-color:var(--ns-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ns-accent),transparent 76%)}
:root .primary,:root .toolbtn.on{background:var(--ns-accent);border-color:var(--ns-accent);color:var(--ns-on-accent)}
:root .primary:hover,:root .toolbtn.on:hover{background:color-mix(in srgb,var(--ns-accent),white 18%)}
:root .secondary,:root .toolbtn,:root .quiet,:root .theme-quick{background:var(--ns-soft);border-color:var(--ns-line);color:var(--ns-txt)}
:root .secondary:hover,:root .toolbtn:hover,:root .nav:hover,:root .theme-quick:hover{background:var(--ns-hover);color:var(--ns-txt)}
:root .nav{color:var(--ns-muted)}
:root .nav.active{background:color-mix(in srgb,var(--ns-accent),transparent 86%);border-color:color-mix(in srgb,var(--ns-accent),transparent 56%);color:var(--ns-accent)}
:root .brand-symbol,:root .brand span,:root .eyebrow,:root .signmark,:root .deviceglyph,:root .emptymark{color:var(--ns-accent)}
:root .topbar .livepoint{background:var(--ns-accent);box-shadow:0 0 10px var(--ns-accent)}
:root .heading p,:root .muted,:root .dim,:root .small.dim,:root label,:root .topright,:root .stat small,:root .portrow span,:root .cardfoot,:root .data-table th,:root .data-table td,:root .shelfinfo{color:var(--ns-muted)}
:root .heading h1,:root .panel h3,:root .card h3,:root .inspector-head h3,:root .empty strong{color:var(--ns-txt)}
:root .data-table td,:root .data-table th,:root .brand,:root .inspector-head,:root .inspector-tabs{border-color:var(--ns-line)}
:root .pill:not(.online),:root .labcard .cardfoot{background:var(--ns-soft);color:var(--ns-muted);border-color:var(--ns-line)}
:root .card.clickable:hover,:root .paletteitem:hover{background:var(--ns-hover);border-color:var(--ns-accent)}
:root .mapsvg .node.selected .device-bg{stroke:var(--ns-accent)}
:root .mapsvg .link{stroke:var(--ns-accent)}
:root .inspector-tabs button.active{border-color:var(--ns-accent);color:var(--ns-accent)}
:root .signin{background:radial-gradient(circle at 60% 15%,color-mix(in srgb,var(--ns-accent),transparent 82%),var(--ns-bg) 66%)}
:root .terminal,:root .codebox{border-color:var(--ns-line)}
:root[data-mode="light"] .loginbox{background:rgba(255,255,255,.95)}
:root[data-mode="light"] .mapsvg .node .devlabel{fill:#f4faff}
:root[data-mode="light"] .mapsvg .linklabel{fill:#344f66}
:root[data-mode="light"] .loginbox p,:root[data-mode="light"] .loginbox label{color:#4b6176}
:root[data-mode="light"] .terminal{background:#132133;color:#baf2c7}
:root[data-mode="light"] .codebox{background:#e4edf8;color:#152b44}
:root[data-mode="light"] .modalshade{background:#17243799}
:root .theme-quick{padding:7px 12px;border:1px solid var(--ns-line);border-radius:8px;font-weight:750;letter-spacing:0}
:root .appearance-card{border:2px solid var(--ns-line);padding:16px;min-height:125px;background:var(--ns-panel);border-radius:14px;cursor:pointer;transition:border-color .2s,transform .15s}
:root .appearance-card:hover{transform:translateY(-2px);border-color:var(--ns-accent)}
:root .appearance-card.selected{border-color:var(--ns-accent);box-shadow:inset 0 0 0 1px var(--ns-accent)}
:root .appearance-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:13px}
:root .swatch-dot{width:34px;height:34px;border-radius:50%;display:inline-block;border:2px solid #b1bdcc75}
:root .appearance-preview{background:var(--ns-soft);border:1px solid var(--ns-line);border-radius:14px;padding:16px}
:root .ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}
:root .ops-status{padding:13px;background:var(--ns-soft);border:1px solid var(--ns-line);border-radius:10px}
:root .ops-alert{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid var(--ns-line);border-left:4px solid #de9b37;border-radius:9px;background:var(--ns-panel)}
:root .ops-alert.critical{border-left-color:#e64f65}
:root .ops-alert.resolved{opacity:.65;border-left-color:#729099}
:root .ops-chart{width:100%;height:94px;background:var(--ns-soft);border:1px solid var(--ns-line);border-radius:8px}
:root .ops-chart polyline{stroke:var(--ns-accent);stroke-width:2.3;fill:none}
:root .ops-chart .gridline{stroke:var(--ns-line);stroke-width:1}
@media(max-width:850px){:root .appearance-swatches{grid-template-columns:repeat(2,minmax(130px,1fr))}:root .topright{display:flex;align-items:center;gap:6px}}

:root .swatch-cyan{background:#31d8c8}
:root .swatch-blue{background:#4d9eff}
:root .swatch-green{background:#4cdb84}
:root .swatch-orange{background:#ffad52}
:root .swatch-red{background:#ff6676}
/* 0.18 Network Command */
.command-filters{display:grid;grid-template-columns:minmax(210px,2fr) minmax(130px,1fr) minmax(130px,1fr);gap:10px;margin:16px 0}
.command-case{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:18px 20px;border:1px solid var(--border,#34506a);background:var(--panel,#132338);border-radius:12px}
.command-case.warning{border-left:4px solid #f1a83b}.command-case.critical{border-left:4px solid #ef6375}
.command-case-main{min-width:0;flex:1}.command-case h3{margin:10px 0 7px;font-size:16px}.command-case p{margin:0}
.command-fleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:15px}
.runbook-step{display:flex;flex-direction:row;gap:12px;align-items:center;border:1px solid var(--border,#33465b);border-radius:8px;padding:9px 12px}
.runbook-step input[type=checkbox]{width:18px;min-width:18px;height:18px;accent-color:var(--accent,#39cfc0)}
.runbook-step:has(input:checked) span{text-decoration:line-through;opacity:.7}
.playback-map{display:block;width:100%;max-height:540px;background:#101b2a;border-radius:10px}
@media(max-width:850px){.command-filters{grid-template-columns:1fr}.command-case{flex-direction:column;align-items:stretch}.command-fleet{grid-template-columns:1fr}}
/* 0.19 Platform Studio: fits both Appearance Studio dark and light palettes. */
.platform-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(335px,1fr));gap:14px;margin-top:16px;align-items:start}
.platform-cards>.panel{min-width:0;overflow:hidden;min-height:158px;border:1px solid var(--line,#33485a)}
.platform-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.platform-head h3{margin:0;font-size:17px}
.platform-tag{font-size:11px;max-width:165px;overflow-wrap:anywhere}
.platform-detail{margin-top:12px;max-height:420px;overflow:auto}
.platform-detail .tablewrap{overflow:auto;padding:4px}
.platform-edit{width:100%;min-height:132px;margin-top:9px;max-width:100%;font-family:ui-monospace,SFMono-Regular,monospace}
.platform-output{max-height:340px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
@media(max-width:830px){.platform-cards{grid-template-columns:minmax(0,1fr)}}
