
:root{
  --accent:#087f8c;--accent-soft:#e8f4f4;--accent-ink:#066b77;--ink:#20363e;--muted:#5a6f78;--line:#dce5e8;--paper:#fff;--surface:#f5f7f8;--stage:#fbfcfc;
  --beam:#349bb3;--sel:#d79526;--warn-bg:#fff7e8;--warn-line:#f1dfb9;--warn-ink:#785c2c;--err:#a55247;
  --head-h:56px;--foot-h:28px;--rail-w:64px;

  --bg:var(--surface);--panel:var(--paper);--fg:var(--ink);--mut:var(--muted);--acc:var(--accent)
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--surface);color:var(--ink);font:13px/1.45 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:default}
:focus-visible{outline:3px solid #58bbc7;outline-offset:2px}
input,select,textarea{background:#fff;border:1px solid #d6e1e5;border-radius:6px;padding:6px 9px;color:#28424d}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent);padding:0}
button{background:#fff;border:1px solid #d7e2e6;border-radius:6px;padding:6px 11px}
button:hover:not(:disabled){border-color:#9dbcc3}
button.on{background:var(--accent-soft);color:var(--accent);border-color:transparent;font-weight:600}
button.link{background:none;border:none;color:var(--accent);padding:0}
form.inline{display:inline}
.muted,.ns-muted{color:var(--muted)}.err{color:var(--err)}
h1 small{font-size:13px;color:var(--muted);font-weight:400}
code{background:#eef3f4;border-radius:4px;padding:0 4px}

.ns-head{height:var(--head-h);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:20px;position:relative;z-index:5}
.ns-brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:650;letter-spacing:-.7px;color:var(--ink);text-decoration:none}
.ns-logo{width:22px;height:22px;color:var(--accent)}.ns-logo-mark{height:28px;width:auto;display:block}.ns-brand-dot{color:#8fa6af}
.ns-divider{width:1px;height:22px;background:var(--line)}
.ns-project{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}.ns-project small{color:var(--muted)}
.ns-nav{display:flex;gap:4px}.ns-nav a{color:#536a75;text-decoration:none;padding:6px 9px;border-radius:6px;font-size:12px}.ns-nav a:hover{background:var(--accent-soft);color:var(--accent)}
.ns-spacer{flex:1}
.ns-kicker{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:650}
.ns-pill{font-size:11px;padding:5px 9px;border-radius:5px;background:#f0f4f5;color:#546b75;white-space:nowrap;font-variant-numeric:tabular-nums}
.ns-pill.teal{background:var(--accent-soft);color:var(--accent-ink)}.ns-pill.amber{background:#fff4df;color:#825c11}
.ns-avatar{width:29px;height:29px;display:inline-grid;place-items:center;border-radius:50%;background:#edf2f3;color:#5b7079;font-size:11px}
.ns-who{display:flex;align-items:center;gap:6px}
.ns-tool{display:inline-flex;gap:7px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:12px}
.ns-icon,.ns-tool svg,.ns-viewbar svg{width:17px;height:17px;flex-shrink:0}
.ns-textbtn{background:transparent;border:0;color:var(--accent);padding:6px;font-size:12px;text-decoration:none}

main.page{max-width:1100px;margin:0 auto;padding:28px 24px}
main.page h1{font-size:22px;letter-spacing:-.4px;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:16px 0}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;text-decoration:none;color:var(--ink)}
.card:hover{border-color:#a4cdd2}.card h3{margin:0 0 6px;color:var(--accent);font-size:15px}
table.grid{border-collapse:collapse;width:100%;font-size:12px;background:#fff}
table.grid th,table.grid td{padding:8px 10px;border-bottom:1px solid #e7edef;text-align:left;white-space:nowrap}
table.grid th{color:#83939b;font-weight:500;font-size:10px;letter-spacing:.8px;text-transform:uppercase;position:sticky;top:0;background:#fff}
td.num{text-align:right;font-variant-numeric:tabular-nums}
tr.sel{background:var(--accent-soft)}.pager{display:flex;gap:8px;align-items:center;margin:10px 0}
.tabs{display:flex;gap:6px;margin-bottom:10px}.filters{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.form{display:grid;gap:10px;max-width:360px}.form label{display:grid;gap:3px;font-size:12px;color:var(--muted)}

body.ns-wide{overflow:hidden}
main.wide{padding:0;height:calc(100vh - var(--head-h))}
.ns-app{height:100%;display:flex;flex-direction:column;position:relative}
.ns-shell{display:flex;flex:1;min-height:0}
.ns-rail{width:var(--rail-w);flex:none;background:#fff;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;padding:18px 5px;gap:12px;z-index:3}
.ns-rail button{border:0;background:none;width:54px;min-height:59px;padding:8px 0;display:flex;flex-direction:column;align-items:center;gap:7px;border-radius:8px;color:#536a75;font-size:10px}
.ns-rail button:hover,.ns-rail button.active{background:var(--accent-soft);color:var(--accent)}
.ns-rail svg{width:21px;height:21px}
.ns-rail .ns-rail-gap{height:1px;width:27px;background:var(--line);margin:1px 0}
.ns-stage{position:relative;flex:1;min-width:0;background:var(--stage);overflow:hidden;display:flex;flex-direction:column}
#viewport{position:relative;flex:1;min-height:260px;background:var(--stage)}
#viewport canvas{display:block;width:100%;height:100%}
.ns-stage-top{position:absolute;top:22px;left:28px;right:24px;display:flex;align-items:flex-start;gap:12px;z-index:2;pointer-events:none}
.ns-stage-top>*{pointer-events:auto}
.ns-stage-id{pointer-events:none;background:linear-gradient(#fbfcfcee,#fbfcfc00);padding:2px 8px 6px 2px;border-radius:6px}
.ns-title{font-size:19px;letter-spacing:-.4px;font-weight:600;margin-top:5px}
.ns-subtitle{color:var(--muted);font-size:12px;margin-top:6px;font-variant-numeric:tabular-nums}.ns-subtitle i{font-style:normal;margin:0 8px;color:#a0afb5}
.ns-viewbar{display:flex;background:#fff;padding:4px;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 7px #20363e0a;gap:2px}
.ns-viewbar button{padding:7px 11px;background:transparent;border:0;border-radius:5px;font-size:12px;display:flex;align-items:center;gap:6px}
.ns-viewbar button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.ns-viewbar button:hover:not(:disabled){background:#f0f5f6}
.ns-pop{position:absolute;top:52px;right:118px;width:300px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px #20363e1c;padding:6px 16px 14px;z-index:6}
#tools-menu{width:220px;right:118px}
.ns-pop[hidden]{display:none}
.ns-menuitem{display:block;width:100%;text-align:left;border:0;border-radius:6px;padding:9px 10px;background:none}
.ns-menuitem:hover,.ns-menuitem.on{background:var(--accent-soft);color:var(--accent)}
.ns-keys{font-size:11px;line-height:1.6;margin-top:8px}
.ns-scene-label{position:absolute;left:30px;bottom:calc(24px + var(--dock-off,0px));display:flex;gap:14px;color:#4a5f68;font-size:12px;z-index:2;pointer-events:none;background:#fbfcfcd9;padding:4px 6px;border-radius:6px}
.ns-legend{display:flex;align-items:center;gap:6px}
.ns-legend b{width:19px;height:2px;background:var(--beam)}
.ns-legend b.selected{height:3px;background:var(--sel)}
.ns-legend b.spread{height:0;background:none;border-top:2px dashed #b99b65}
.ns-beamnav{position:absolute;bottom:calc(22px + var(--dock-off,0px));left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 20px #20363e10;display:flex;align-items:center;gap:13px;padding:8px 10px;color:#49616b;font-size:12px;white-space:nowrap;z-index:2}
.ns-beamnav button{border:0;background:#f2f6f7;border-radius:4px;width:26px;height:26px;padding:0;display:grid;place-items:center}
.ns-beamnav button svg{width:16px;height:16px}
.ns-beamnav i{font-style:normal;color:#a0afb5;margin:0 5px}
.ns-beamnav strong{font-weight:600;color:#a36c0b;font-variant-numeric:tabular-nums}
.ns-scale{position:absolute;right:26px;bottom:calc(25px + var(--dock-off,0px));color:#768992;font-size:10px;text-align:center;z-index:2;pointer-events:none}
.ns-scale span{display:block;width:64px;height:7px;border:1px solid #768992;border-top:0;margin:0 auto 4px}.ns-scale em{font-style:normal;font-variant-numeric:tabular-nums}
.ns-foot{height:var(--foot-h);flex:none;border-top:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:17px;padding:0 18px 0 81px;font-size:11px;color:#4f646d;white-space:nowrap;overflow:hidden}
.ns-dot{width:5px;height:5px;border-radius:50%;background:#58a99d;display:inline-block;margin-right:5px;vertical-align:middle}
.ns-dot.busy{background:var(--sel)}
#cursor-readout{font-family:ui-monospace,Consolas,monospace;margin-left:auto;font-variant-numeric:tabular-nums}
.ns-foot-msg{max-width:40%;overflow:hidden;text-overflow:ellipsis}

.ns-results{position:absolute;top:0;bottom:0;right:0;width:320px;background:#fff;border-left:1px solid var(--line);z-index:4;box-shadow:-12px 0 30px #20363e10;overflow:auto;padding:22px}
.ns-results[hidden]{display:none}
.ns-results h2{font-size:19px;margin:0;font-weight:600;letter-spacing:-.3px}
.ns-results h3{font-size:11px;letter-spacing:1px;text-transform:uppercase;margin:24px 0 8px;color:var(--muted);font-weight:600}
.ns-results table{width:100%;border-collapse:collapse;font-size:12px}
.ns-results td{padding:8px 0;border-bottom:1px solid #edf1f2;vertical-align:top}
.ns-results td:first-child{color:#607680;padding-right:10px}
.ns-results td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.ns-results .btns{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.ns-results #warnings h4{margin:12px 0 4px;font-size:11px;color:var(--muted);font-weight:600}
.warn{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:6px;padding:10px 12px 10px 32px;font-size:12px;line-height:1.5;color:var(--warn-ink);margin-top:8px;position:relative}
.warn::before{content:"⚠";position:absolute;left:11px;top:9px;font-size:13px}
.warn .muted{font-size:11px;color:#8a7044;margin-top:3px}
p.warn{margin:8px 0}
.ns-legend-text{font-size:11px;margin-top:18px}
.ns-row{display:flex;align-items:center;gap:10px}
.ns-close{background:none;border:0;padding:5px;color:#71858d;display:grid;place-items:center}.ns-close svg{width:18px;height:18px}

.ns-dialog{width:min(1040px,calc(100% - 80px));max-width:1040px;height:600px;max-height:calc(100% - 48px);padding:0;border:1px solid #d5e0e4;border-radius:10px;box-shadow:0 24px 80px #20363e30;color:var(--ink);background:#fff;overflow:hidden}
.ns-dialog[open]{display:flex;flex-direction:column}
.ns-dialog::backdrop{background:#dde6eaa6}
.ns-dialog-head{padding:18px 26px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px;flex:none}
.ns-dialog-title{font-size:21px;font-weight:600;letter-spacing:-.4px}
.ns-dialog-desc{font-size:12px;color:var(--muted);margin-top:3px}
.ns-category-icon{width:39px;height:39px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.ns-category-icon svg{width:21px;height:21px}
.ns-dialog-main{display:flex;flex:1;min-height:0}
.ns-list{width:235px;flex:none;background:#f7f9fa;border-right:1px solid var(--line);padding:20px 14px;overflow:auto}
.ns-list .ns-kicker{margin:0 4px 12px}
.ns-content{flex:1;min-width:0;padding:20px 26px;overflow:auto}
.ns-dialog-foot{padding:14px 26px;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;background:#fff;flex:none}
.ns-dialog-foot .ns-muted{font-size:11px}
.ns-secondary,.ns-primary,.ns-danger{padding:8px 14px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;white-space:nowrap}
.ns-secondary{background:#fff;border:1px solid #d7e2e6}
.ns-primary{background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:600}.ns-primary:hover:not(:disabled){background:#066f7a}
.ns-primary svg,.ns-secondary svg{width:16px;height:16px}
.ns-danger{background:transparent;border:1px solid transparent;color:var(--err)}.ns-danger:hover:not(:disabled){border-color:#e8c9c4}
.ns-btnrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ns-btnrow.ns-bottom{align-self:end}.ns-wrap{flex-wrap:wrap;column-gap:20px}
.ns-crumb{font-size:11px;color:#81949c;margin-bottom:6px}
.ns-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:6px 0 18px}
.ns-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:0 0 10px;font-size:12px;color:#70858e}
.ns-tabs button.active{border-color:var(--accent);color:var(--accent);font-weight:600}
.ns-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;align-items:end}
.ns-grid.three{grid-template-columns:repeat(3,1fr)}.ns-grid.four{grid-template-columns:repeat(4,1fr)}
.ns-field{display:block;font-size:11px;color:#647a84;line-height:1.3}
.ns-field input:not([type=checkbox]):not([type=range]):not([type=file]),.ns-field select:not([size]){display:block;width:100%;height:35px;margin-top:6px;min-width:0;font-size:12px}
.ns-field input[type=range]{display:block;width:100%;margin-top:12px}
.ns-field input[type=file]{display:block;margin-top:6px;font-size:12px}
.ns-listbox{display:block;width:100%;margin-top:8px;font-size:12px;border-radius:6px}
.ns-section-label{font-size:10px;letter-spacing:1.2px;color:#566a73;text-transform:uppercase;margin:20px 0 10px;font-weight:600}
.ns-section-label small{letter-spacing:0;text-transform:none;font-weight:400;margin-left:6px}
section[data-pane]>.ns-grid>div>.ns-section-label:first-child{margin-top:0}
.ns-check{display:flex;align-items:center;gap:7px;font-size:12px;color:#526d78;margin:10px 0}
.ns-advanced{margin-top:16px;border-top:1px solid #e4eaed;padding-top:12px;font-size:12px}
.ns-advanced summary{cursor:pointer;color:#526d78;font-weight:600}
.ns-advanced .ns-grid{margin-top:14px}
.ns-advanced.ns-nested{margin-left:14px;border-top:1px dashed #e4eaed}
.ns-advanced.ns-nested summary{font-weight:500}
.ns-segment{display:inline-flex;background:#edf2f4;border-radius:7px;padding:4px;margin:0 0 20px;gap:3px}
.ns-segment button{background:none;border:0;border-radius:5px;padding:8px 17px;color:#4f636c;font-size:12px}
.ns-segment button.active{background:#fff;color:var(--accent);box-shadow:0 1px 4px #20363e10;font-weight:600}
.ns-notice{background:#eff6f7;border:1px solid #d9e9ec;border-radius:6px;padding:12px 14px;color:#557782;font-size:11px;line-height:1.6}
.ns-file-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0}
.ns-file-action{display:flex;align-items:flex-start;text-align:left;gap:12px;border:1px solid #dbe5e8;background:#fff;border-radius:8px;padding:16px;cursor:pointer;font-size:12px}
.ns-file-action:hover{border-color:#9dbcc3}
.ns-file-action svg{color:var(--accent);width:22px;height:22px;flex:none}
.ns-file-action strong{display:block;font-size:12px}
.ns-file-action small{display:block;font-size:11px;color:#788c95;margin-top:5px;line-height:1.4}
.ns-file-action input[type=file]{margin-top:8px;font-size:11px;max-width:100%}
.ns-selbeam{margin-top:18px}
.ns-toast{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);padding:11px 18px;background:#203e48;color:#fff;border-radius:7px;box-shadow:0 8px 25px #20363e25;z-index:30;font-size:12px}
.ns-toast[hidden]{display:none}

.tree{font-size:12px;margin:0 0 12px}
.tree-probe{padding:10px 10px 6px;border:1px solid transparent;border-radius:7px;margin-top:6px}
.tree-probe b{font-weight:600}.tree-probe .muted{display:block;font-size:11px;margin:3px 0 0 22px}
.tree-bs{padding:3px 0 3px 30px}.tree-bs a{color:#526d78;text-decoration:none}.tree a.sel{font-weight:600;color:var(--accent)}
.tree input{margin:0 6px 0 0}
#ws-tree:empty::before{content:"Loading probe…";display:block;color:var(--muted);font-size:11px;padding:4px}

#weld-editor label:not(.chk){display:flex;flex-direction:column;gap:6px;font-size:11px;color:#647a84;margin:0 0 10px;min-width:0}
#weld-editor label:not(.chk)>input,#weld-editor label:not(.chk)>select{width:100%;height:32px;min-width:0;box-sizing:border-box}
#weld-editor .chk{display:flex;align-items:center;gap:7px;font-size:12px;color:#526d78;margin:8px 0}
#weld-editor .regions .two{grid-template-columns:1fr 1fr 32px;align-items:end}
#weld-editor .regions .two>button{width:32px;height:32px;padding:0;margin-bottom:10px;display:grid;place-items:center;font-size:16px;line-height:1;color:#71858d;background:#fff;border:1px solid #d7e2e6;border-radius:6px}
#weld-editor .regions .two>button:hover{color:var(--err);border-color:#e8c9c4}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btns{display:flex;gap:6px;margin:6px 0;flex-wrap:wrap}
.ind-wrap{overflow:auto;max-height:300px;margin-top:12px;border:1px solid var(--line);border-radius:8px}
table.ind{border-collapse:collapse;font-size:11px;width:100%}table.ind th{font-size:10px;color:#83939b;font-weight:500;text-align:left;padding:7px 5px;background:#f7f9fa;position:sticky;top:0}
table.ind td{padding:3px 4px;border-top:1px solid #edf1f2;white-space:nowrap}table.ind tr.sel{background:var(--accent-soft)}table.ind input,table.ind select{font-size:11px;padding:2px 4px;height:auto}
#ind-top,#beam-top{margin-top:10px}
.blk-targets{border-collapse:collapse;font-size:11px;margin-top:10px}.blk-targets td{padding:3px 4px;border-top:1px solid #edf1f2}

#dock{flex:0 0 var(--dock-h,38%);min-height:120px;max-height:calc(100% - 200px);overflow:auto;background:#fff;color:var(--ink);display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);position:relative;z-index:3}
#dock .dock-panel{padding:8px 14px;font-size:12px;flex:0 0 auto;border-bottom:1px solid #edf1f2}
#dock-split{flex:0 0 6px;cursor:row-resize;background:#e7eef0;position:relative;z-index:3}#dock-split:hover{background:#9dbcc3}
#dock[hidden],#dock-split[hidden],.dock-panel[hidden]{display:none}
#ut-panel .ut-head{margin-bottom:3px}#ut-panel .ut-rows th{text-align:left;padding-right:8px;vertical-align:top;white-space:nowrap}#ut-panel .ut-rows td{font-family:ui-monospace,monospace}
#q-panel .q-row,#cv-panel .q-row,#as-panel .q-row,#pl-panel .q-row,#jb-panel .q-row{margin:2px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}#q-panel .q-body,#as-panel .q-body{display:flex;gap:12px;align-items:flex-start}#as-panel canvas{border:1px solid var(--line);max-width:62%}#q-panel canvas{border:1px solid var(--line);max-width:60%;image-rendering:auto}

@media (max-width:1000px){.ns-project small,.ns-scene-label,.ns-scale,.ns-head .ns-pill,.ns-nav{display:none}.ns-dialog{width:calc(100% - 32px)}.ns-list{width:205px}.ns-content{padding:18px}.ns-stage-top{left:18px;right:18px}.ns-viewbar button{padding:7px}.ns-grid.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.ns-dialog-main{flex-direction:column;overflow:auto}.ns-list{width:100%;border-right:0;border-bottom:1px solid var(--line)}.ns-content{overflow:visible;flex:none}.ns-grid.three,.ns-grid.four{grid-template-columns:1fr 1fr}.ns-file-actions{grid-template-columns:1fr}.ns-stage-top{flex-wrap:wrap}.ns-results{width:min(320px,100%)}}
.ns-beamnav[hidden],.ns-scale[hidden]{display:none}
#details-btn.on{border-color:#a4cdd2;background:var(--accent-soft);color:var(--accent)}
#details-count{cursor:pointer;padding:2px 6px}

.ns-stage.details-open .ns-stage-top{right:344px}
.ns-stage.details-open .ns-scale{right:346px}
.ns-stage.details-open .ns-beamnav{left:calc((100% - 320px) / 2)}

.ns-stage.details-open #viewport{margin-right:320px}
#details-ctx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ns-beamnav,.ns-beamnav *{white-space:nowrap}

.ns-file{display:flex;align-items:center;gap:10px;margin-top:8px;min-width:0;position:relative}
.ns-file input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;margin:0;pointer-events:none}
.ns-file-btn{flex:none;padding:7px 12px;border:1px solid #d7e2e6;border-radius:6px;background:#fff;color:var(--ink);font-size:12px;cursor:pointer}
.ns-file:hover .ns-file-btn,.ns-file:focus-within .ns-file-btn{border-color:#9dbcc3;color:var(--accent)}
.ns-file:focus-within .ns-file-btn{outline:2px solid #087f8c55;outline-offset:1px}
.ns-file-name{font-size:11px;color:#788c95;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

#dlg-ws .ns-content{display:flex;flex-direction:column}
#dlg-ws #ws-list{max-height:120px;flex:none}
#dlg-ws .ns-ws-actions{position:sticky;bottom:-20px;background:#fff;padding:10px 0;margin:0}

.ns-empty{border:1px dashed #cfdbe0;border-radius:8px;padding:28px 20px;text-align:center;color:var(--muted);font-size:12px;margin-top:12px;background:#fafcfc}
.ns-empty strong{display:block;color:var(--ink);font-size:13px;margin-bottom:6px;font-weight:600}
#ind-top:empty{display:none}
#weld-editor label:has(>#w-hp-type){width:calc(50% - 5px)}
.ind-wrap:has(>.ns-empty){border:0;overflow:visible}

.ns-bscards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0 0 18px}
.ns-bscard{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:12px;cursor:pointer}
.ns-bscard strong{font-size:13px;font-weight:600}
.ns-bscard span{color:#607680;font-variant-numeric:tabular-nums;line-height:1.4}
.ns-bscard:hover{border-color:#a4cdd2}
.ns-bscard.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-soft);cursor:default}
.ns-bscard:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

body.ns-page{background:var(--stage)}
.ns-hero{padding:28px 0 8px}.ns-hero h1{font-size:26px;letter-spacing:-.5px;margin:6px 0 10px;font-weight:600}
.ns-hero p{max-width:640px;font-size:14px;color:#4f646d;margin:0}
.ns-hero-actions{display:flex;gap:8px;margin-top:18px}.ns-hero-actions a{text-decoration:none}.ns-hero-actions .ns-secondary{color:var(--ink)}
.ns-home-cards{margin:24px 0}.ns-home-cards .card{padding:18px 18px 16px}
.ns-home-cards .card p{margin:0;color:#607680;line-height:1.5}
.ns-card-ico{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--accent-soft);color:var(--accent);margin-bottom:10px}.ns-card-ico svg{width:19px;height:19px}
.ns-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin:0 0 18px}
.ns-panel h2{font-size:15px;margin:0 0 10px;font-weight:600}
.ns-panel table.grid{background:transparent}
th.num{text-align:right}
.ns-foot-note{font-size:11px}
.ns-pagehead{margin:8px 0 18px}.ns-pagehead h1{margin:6px 0 4px}.ns-pagehead p{margin:0}
#catalog-app .tabs{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:8px;gap:2px;margin-bottom:14px;flex-wrap:wrap}
#catalog-app .tabs button{border:0;background:transparent;padding:7px 11px;border-radius:5px;font-size:12px;color:var(--ink)}
#catalog-app .tabs button.active,#catalog-app .tabs button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
#catalog-app .filters input,#catalog-app .filters select{padding:7px 10px;border:1px solid #d7e2e6;border-radius:6px;font:inherit}
#catalog-app .filters{align-items:center}
#catalog-app .pager{display:flex;gap:6px;align-items:center;margin-top:12px}
#catalog-app .pager button{padding:6px 11px;border:1px solid #d7e2e6;border-radius:6px;background:#fff}
.ns-bscard .ns-src{font-size:10.5px;color:#83939b}
.ns-bscard:disabled{opacity:.55;cursor:default}

.ns-table{width:100%;border-collapse:collapse;font-size:13px}
.ns-table th,.ns-table td{padding:6px 10px;border-bottom:1px solid var(--ns-line,#e3e8ef);text-align:left}
.ns-hidden-row td{opacity:.55}
.ns-adminlist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ns-segment a{padding:6px 12px;border-radius:6px;text-decoration:none}
.ns-segment a.active{background:var(--ns-navy,#0b2545);color:#fff}
.ns-locked{opacity:.55;cursor:not-allowed}
.ns-locked *{cursor:not-allowed}
.ns-brand .ns-mark{height:38px;width:auto;display:block}
.ns-auth-logo{display:block;width:min(420px,90%);height:auto;margin:8px 0 22px}

.ns-cadwin{width:min(1480px,calc(100% - 24px));height:calc(100% - 24px);max-width:none;max-height:none;padding:0;border:1px solid #d5e0e4;border-radius:10px;box-shadow:0 24px 80px #20363e40;color:var(--ink);background:#fff;overflow:hidden}
.ns-cadwin[open]{display:flex;flex-direction:column}
.ns-cadwin::backdrop{background:#dde6eacc}
.cad-head,.cad-foot{display:flex;align-items:center;gap:9px;padding:10px 18px;flex:none;background:#fff}
.cad-head{border-bottom:1px solid var(--line)}.cad-foot{border-top:1px solid var(--line);flex-wrap:wrap}
.cad-title{font-size:18px;font-weight:600;letter-spacing:-.3px}.cad-sub{font-size:11.5px;color:var(--muted)}
.cad-head button svg{width:15px;height:15px;vertical-align:-3px;margin-right:4px}.cad-head .ns-iconbtn svg{margin:0}
.cad-body{display:flex;flex:1;min-height:0}
.cad-tools{width:124px;flex:none;border-right:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:5px;background:var(--surface);overflow:auto}
.cad-tools button{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%}
.cad-tools kbd{font:10.5px ui-monospace,Menlo,Consolas,monospace;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 4px;background:#fff}
.cad-sep{height:1px;background:var(--line);margin:6px 0}
.cad-stage{position:relative;flex:1;min-width:0;background:var(--stage)}
#cad-svg{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;user-select:none;cursor:crosshair}
#cad-svg.pan{cursor:grab}#cad-svg.sel{cursor:default}
.cad-hud{position:absolute;left:10px;bottom:52px;display:flex;gap:14px;font:12px ui-monospace,Menlo,Consolas,monospace;color:#40606b;background:#ffffffe6;border:1px solid var(--line);border-radius:6px;padding:4px 9px;pointer-events:none;max-width:calc(100% - 20px);flex-wrap:wrap}
.cad-hud #cad-prompt{color:var(--accent-ink);font-weight:600}
.cad-entry{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:8px;align-items:center;background:#ffffffee;border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.cad-entry label{font-weight:600;color:var(--accent-ink)}.cad-entry input{flex:1;min-width:120px;font-family:ui-monospace,Menlo,Consolas,monospace}
.cad-props{width:300px;flex:none;border-left:1px solid var(--line);padding:12px 14px;overflow:auto;display:flex;flex-direction:column;gap:7px;background:#fff}
.cad-props .ns-section-label{margin-top:8px}
.cad-valid{border-radius:8px;padding:8px 10px;font-size:12px;border:1px solid var(--line);background:var(--surface)}
.cad-valid.ok{background:#eaf7f0;border-color:#bfe3d0;color:#1e6b46}.cad-valid.bad{background:#fdf0ee;border-color:#efc9c3;color:var(--err)}
.cad-valid ul{margin:4px 0 0;padding-left:16px}.cad-valid .warn{color:var(--warn-ink)}
.cad-vt{width:100%;border-collapse:collapse;font-size:12px}.cad-vt td{padding:2px 3px}.cad-vt input{width:100%;padding:3px 5px}.cad-vt tr.on td{background:var(--accent-soft)}
.cad-vt button{padding:1px 6px;font-size:11px}
#cad-svg .cs{fill:none;stroke:#20363e;stroke-width:1.6;vector-effect:non-scaling-stroke}
#cad-svg .cs.solid{fill:#087f8c14}#cad-svg .cs.ghost{stroke-dasharray:6 4;stroke:#7d949c}#cad-svg .cs.sel{stroke:var(--sel);stroke-width:2.4}
#cad-svg .cs.nore{stroke:#8aa0a8;stroke-dasharray:3 3}
#cad-svg .draft{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}
#cad-svg .gl{stroke:#e5ecee;stroke-width:1;vector-effect:non-scaling-stroke}#cad-svg .gl.m{stroke:#d3dde0}#cad-svg .ax{stroke:#8ec3cb;stroke-width:1.2;vector-effect:non-scaling-stroke}
#cad-svg .vh{fill:#fff;stroke:var(--accent);stroke-width:1.6;vector-effect:non-scaling-stroke}#cad-svg .vh.on{fill:var(--sel);stroke:var(--sel)}
#cad-svg .wall{fill:none;stroke:#2a8f5a;stroke-width:4;opacity:.55;vector-effect:non-scaling-stroke;stroke-linecap:round}#cad-svg .wall.back{stroke:#a55247}
#cad-svg .sn{fill:none;stroke:#d79526;stroke-width:1.8;vector-effect:non-scaling-stroke}
@media (max-width:900px){.cad-props{display:none}.cad-tools{width:92px}}
#cad-svg .cs.pick{stroke:var(--accent);stroke-width:2.4;stroke-dasharray:6 3}
#cad-svg .dm{fill:none;stroke:#087f8c;stroke-width:1.2;vector-effect:non-scaling-stroke}#cad-svg .dm.sel{stroke:var(--sel);stroke-width:2}
#cad-svg .dt{fill:#087f8c;font-family:ui-monospace,Menlo,Consolas,monospace;text-anchor:middle}#cad-svg .dt.sel{fill:var(--sel)}
#cad-svg .rb{fill:#087f8c14;stroke:#087f8c;stroke-width:1.2;vector-effect:non-scaling-stroke}#cad-svg .rb.cross{fill:#2a8f5a14;stroke:#2a8f5a;stroke-dasharray:5 3}
.cad-tools button[data-tool]{padding:5px 8px}
.cad-helpbox{position:absolute;top:12px;left:12px;right:12px;max-width:760px;max-height:calc(100% - 90px);overflow:auto;background:#fffffff2;border:1px solid var(--line);border-radius:12px;padding:14px 18px 16px;box-shadow:0 12px 40px #0a2a3a30;z-index:5;font-size:12.5px}
.cad-helpbox h3{margin:0 0 6px;font-size:15px}.cad-helpbox ol{margin:0 0 10px;padding-left:18px}.cad-helpbox code{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:11.5px}
.cad-helpbox #cad-help-close{position:absolute;top:8px;right:10px}.cad-helpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.cad-layers{display:flex;flex-direction:column;gap:3px}.cad-layer{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:6px;border:1px solid transparent}.cad-layer.cur{background:#087f8c14;border-color:#087f8c55}
.cad-layer input[type=text]{flex:1;min-width:0;padding:2px 5px;font-size:12px}.cad-layer label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:2px}.cad-layer .n{font-size:11px;color:var(--muted)}
.cad-menu{position:absolute;z-index:8;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #0a2a3a30;padding:5px;display:flex;flex-direction:column}
.cad-menu button{text-align:left;background:none;border:0;padding:6px 10px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer;display:flex;justify-content:space-between;gap:16px}.cad-menu button:hover,.cad-menu button:focus{background:var(--surface);outline:none}.cad-menu button:disabled{opacity:.4;cursor:default}.cad-menu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}
.cad-menu kbd{font:10.5px ui-monospace,Menlo,Consolas,monospace;color:var(--muted)}
.cad-metrics{font-size:12px;color:var(--muted);display:grid;grid-template-columns:auto 1fr;gap:1px 10px}.cad-flash{animation:cadflash 1s}@keyframes cadflash{0%{background:#ffe9a8}100%{background:transparent}}
#cad-svg .cs.locked{opacity:.55}

.ns-foot{display:flex;gap:16px;justify-content:center;padding:18px 12px 28px;font-size:12px}
.ns-foot a,.ns-legal-links a{color:var(--muted,#8a97a6);text-decoration:none}
.ns-foot a:hover,.ns-legal-links a:hover{text-decoration:underline}
.ns-legal-links{display:flex;gap:10px;font-size:11px;margin-right:6px}
@media (max-width:1100px){.ns-legal-links{display:none}}
.ns-legal-text h2{font-size:15px;margin:16px 0 4px}.ns-legal-text p{margin:0;max-width:70ch}
#fv-host canvas{max-width:100%;height:auto;border:1px solid var(--line);border-radius:6px}
.ns-helplink{font-size:12.5px;margin-right:10px;color:var(--teal,#0a7f8c)}

.ns-optdlg{width:min(520px,calc(100% - 32px));padding:0;border:1px solid #d5e0e4;border-radius:10px;box-shadow:0 24px 80px #20363e30;color:var(--ink);background:#fff;overflow:hidden;max-height:calc(100vh - 48px)}
.ns-optdlg[open]{display:flex;flex-direction:column}
.ns-optdlg::backdrop{background:#dde6eaa6}
.ns-optbody{padding:16px 22px;display:grid;gap:12px;overflow:auto}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.opt-row{display:flex;align-items:center;gap:8px;font-size:12px}.opt-row label{flex:1}.opt-row input[type=color]{width:36px;height:26px;padding:0;border:1px solid var(--line)}
.ns-helpshot{margin:16px 0}.ns-helpshot img{max-width:100%;border:1px solid var(--line);border-radius:8px}.ns-helpshot figcaption{font-size:11px;color:var(--muted);margin-top:4px}
#pl-panel .pl-tw{overflow-x:auto}#pl-panel .pl-guide{margin:4px 0;font-size:12px}#pl-panel .pl-guide summary{cursor:pointer;font-weight:600}#pl-panel .pl-ck label{cursor:pointer}
@media (max-width:700px){#pl-panel .pl-t,#pl-panel .pl-t tbody,#pl-panel .pl-t tr,#pl-panel .pl-t td{display:block;width:100%;box-sizing:border-box}#pl-panel .pl-t tr:first-child{display:none}#pl-panel .pl-t tr{margin:0 0 8px;border:1px solid var(--line);border-radius:6px;padding:4px 6px}#pl-panel .pl-t td{border:0;padding:2px 0}#pl-panel .pl-t td::before{content:attr(data-l) ": ";font-weight:600;color:#4a5f68}#pl-panel .pl-t td[data-l=""]::before{content:""}#pl-panel .pl-ck li{padding:8px 0;font-size:14px}#pl-panel .pl-ck input{width:22px;height:22px;vertical-align:middle;margin-right:8px}#pl-panel button,#pl-panel select,#pl-panel input[type=number]{min-height:36px}#pl-panel #pl-out{max-height:none!important}}
#pl-cout{overflow-x:auto}
/* dock: taller default for the analysis panels and an expand button */
#dock:has(#as-panel:not([hidden])),#dock:has(#jb-panel:not([hidden])),#dock:has(#pl-panel:not([hidden])),#dock:has(#cv-panel:not([hidden])),#dock:has(#cp-panel:not([hidden])){flex-basis:var(--dock-h,64%)}
#dock-bar{position:sticky;top:0;z-index:4;display:flex;justify-content:flex-end;height:0;overflow:visible;flex:0 0 0}
#dock-grow{position:relative;top:2px;right:8px;font-size:11px;padding:1px 8px;border:1px solid var(--line);border-radius:10px;background:#f3f7f8;cursor:pointer;height:20px}
#as-panel .as-r1,#as-panel .as-r2{gap:6px 8px}#as-panel label{white-space:nowrap}
#as-panel .q-body{align-items:flex-start;flex-wrap:nowrap}#as-panel #as-cv{flex:0 1 780px;min-width:320px;max-width:64%;height:auto}#as-panel .as-out{flex:1 1 280px;max-height:200px;overflow:auto;min-width:240px}
#as-panel .as-msg{margin:4px 0;padding:5px 9px;border-left:4px solid #e67e22;background:#fff6ec;border-radius:3px}
#as-panel .as-d{margin:4px 0;border-top:1px solid #edf1f2;padding-top:3px}#as-panel .as-d summary{cursor:pointer;font-weight:600}
#as-panel .as-ta{display:flex;flex-direction:column;gap:2px;margin:3px 0}#as-panel .as-ta textarea{width:min(560px,100%);font:12px monospace}
#as-panel .as-g{display:inline-flex;gap:6px;align-items:center;margin-right:10px;padding:2px 6px;background:#f6f9fa;border-radius:4px}
#as-panel #as-cv2{max-width:100%;height:auto}
#pl-panel .pl-verdict{margin:0 0 6px;padding:5px 9px;border-left:4px solid #2e8b57;background:#f0f8f3;font-weight:600;font-size:13px;border-radius:3px}#pl-panel .pl-verdict.gaps{border-left-color:#b3261e;background:#fdeceb;color:#b3261e}
#as-panel .as-warn{font-size:11px;padding:2px 8px;background:#fff3cd;border-left-color:#935800}
#as-panel tr.as-conv td{color:#d81b60}
#as-panel .as-edge{font-size:11px;padding:2px 8px;background:#eef6fb;border-left-color:#2980b9}

@media (max-width:1100px){#as-panel .q-body{flex-wrap:wrap}#as-panel #as-cv{max-width:100%;flex:1 1 100%}#as-panel .as-out{flex:1 1 100%;max-height:none;min-width:0}#as-panel .as-out table{max-width:100%}}
@media (max-width:700px){.ns-head{padding:0 10px;gap:8px}.ns-divider,.ns-legal-links,.ns-spacer{display:none}.ns-project{flex:1 1 0;min-width:110px;max-width:none;white-space:normal;line-height:1.15;font-size:13px;overflow:hidden;text-overflow:clip;display:block}
#pl-panel .q-row,#as-panel .q-row,#cv-panel .q-row,#cp-panel .q-row{flex-direction:column;align-items:stretch}
#pl-panel label,#as-panel label,#cv-panel label,#cp-panel label{display:flex;flex-direction:column;gap:2px;width:100%;white-space:normal}
#pl-panel label.chk,#as-panel label.chk,#cv-panel label.chk{flex-direction:row;align-items:center}
#pl-panel select,#pl-panel input:not([type=checkbox]),#as-panel select,#as-panel input:not([type=checkbox]),#cv-panel input:not([type=checkbox]),#cp-panel select,#cp-panel input:not([type=checkbox]){width:100%!important;max-width:100%!important;box-sizing:border-box}
#pl-panel button,#as-panel button,#cp-panel button{width:100%}}
#as-panel .as-notes{display:flex;gap:6px;margin:2px 0;flex-wrap:wrap}#as-panel .as-notes>span{font-size:11px;padding:1px 8px;border-left:4px solid;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#as-panel .as-notes>.as-warn{background:#fff3cd;border-color:#935800;flex:1 1 300px}#as-panel .as-notes>.as-edge{background:#eef6fb;border-color:#2980b9}#as-panel .as-notes>[hidden]{display:none}@media (max-width:700px){#as-panel .as-notes>span{white-space:normal}}
#wz-panel .q-row{margin:2px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}#wz-panel .wz-steps{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:4px 0;padding:0}#wz-panel .wz-steps li{padding:2px 9px;border-radius:12px;background:#eef2f3;font-size:12px}#wz-panel .wz-steps li.on{background:#1f6fa3;color:#fff;font-weight:600}#wz-panel .wz-steps li.done{background:#d5ecdc}#wz-panel .wz-body{margin:6px 0}#wz-panel .as-msg{margin:4px 0;padding:5px 9px;border-left:4px solid #e67e22;background:#fff6ec;border-radius:3px}#wz-panel .pl-verdict{margin:0 0 6px;padding:5px 9px;border-left:4px solid #2e8b57;background:#f0f8f3;font-weight:600;border-radius:3px}#wz-panel .pl-verdict.gaps{border-left-color:#b3261e;background:#fdeceb;color:#b3261e}
#dock:has(#wz-panel:not([hidden]):not([data-collapsed])){flex-basis:var(--dock-h,64%)}
@media (max-width:700px){#wz-panel .q-row{flex-direction:column;align-items:stretch}#wz-panel label{display:flex;flex-direction:column;gap:2px;width:100%}#wz-panel select,#wz-panel input{width:100%!important;max-width:100%!important;box-sizing:border-box}#wz-panel button{width:100%}}
#as-panel .as-notes>.as-print-ctl{border-left:0;padding:0;white-space:nowrap;overflow:visible;order:2}#as-panel .as-print-ctl button,#as-panel .as-print-ctl select{font-size:11px;padding:1px 6px}
#as-panel .as-notes>#as-lobe[data-risk=amber]{background:#fff3cd;border-color:#935800}#as-panel .as-notes>#as-lobe[data-risk=red]{background:#fde7e9;border-color:#b3261e}#as-panel #as-palobes tr.red td{color:#b3261e}
#as-panel .as-calsteps{margin:4px 0;padding-left:18px;font-size:11px}#as-panel .as-calsteps li.done{color:#1b6e2d}#as-panel .as-calsteps li.done::marker{content:'\2713 '}

#as-panel .acc-verdict{font-size:14px;margin:4px 0}#as-panel .acc-accept{color:#1b6e2d}#as-panel .acc-reject{color:#b3261e}#as-panel .acc-not-recorded{color:#555}

#jb-panel .jb-items{margin:4px 0;padding-left:20px}#jb-panel .jb-items li{margin:2px 0}#jb-panel .jb-kind{display:inline-block;min-width:78px;font-size:11px;color:#456}#jb-panel .jb-items input{width:min(320px,60vw)}#jb-panel .q-row{margin:2px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.vp-unverified{color:#935800;font-weight:600}.vp-confirmed{color:#1b6e2d;font-weight:600}#vp details{margin-top:4px;font-size:12px}#vp tr[hidden]{display:none}
#wz-panel .wz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.howto{margin:4px 0;font-size:12px}.howto summary{cursor:pointer;font-weight:600}.howto ul{margin:4px 0 4px 18px;padding:0}.howto li{margin:2px 0}

.ns-restore{position:fixed;left:50%;top:8px;transform:translateX(-50%);z-index:60;max-width:min(560px,94vw);background:#fff8e1;border:1px solid #935800;border-radius:6px;padding:8px 12px;font-size:13px;box-shadow:0 2px 8px rgba(0,0,0,.25)}.ns-restore button{margin-left:4px}

.ns-offline{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#444;color:#fff;font-size:12px;padding:4px 10px;text-align:center}
.ns-ver{margin-left:auto;font-size:11px;color:var(--muted)}.ns-update{position:fixed;left:50%;bottom:34px;transform:translateX(-50%);z-index:80;background:#fff8e1;border:1px solid #935800;color:#3d2a00;border-radius:6px;padding:8px 12px;font-size:13px;max-width:min(620px,94vw)}.ns-update button{margin-left:8px;font:inherit;padding:2px 10px}

.ns-methodbar{display:flex;align-items:center;gap:8px;background:#fff;padding:4px 4px 4px 12px;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 7px #20363e0a}
.ns-methodlabel{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.ns-methodbar strong{font-size:13px;color:var(--ink,#1b2a30)}
.ns-methodbar button{padding:7px 11px;background:var(--accent-soft);color:var(--accent);border:0;border-radius:5px;font-size:12px;font-weight:600}
.ns-methodbar button:hover{background:#dcecef}
.ns-methodbar button:focus-visible,.ns-tile:focus-visible,.ns-landing button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.ns-rail [hidden],#tools-menu [hidden],#beamnav [hidden]{display:none !important}
@media (max-width:700px){.ns-methodbar{order:5;flex-basis:100%}.ns-methodbar button{margin-left:auto}}

.ns-app[data-method="pa"] [data-m]:not([data-m~="pa"]),.ns-app[data-method="tofd"] [data-m]:not([data-m~="tofd"]),.ns-app[data-method="conv"] [data-m]:not([data-m~="conv"]){display:none !important}
.ns-landing{position:fixed;inset:0;z-index:50;background:#f4f8f9;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px}
.ns-landing[hidden]{display:none}
.ns-landing-in{max-width:1040px;width:100%}
.ns-landing h1{margin:8px 0 6px;font-size:28px;color:#1b2a30}
.ns-landing-sub{margin:0 0 24px;color:#3d535b;font-size:15px}
.ns-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ns-tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:20px;background:#fff;border:2px solid #c3d3d8;border-radius:12px;color:#1b2a30;cursor:pointer;font:inherit;min-height:260px}
.ns-tile:hover{border-color:var(--accent);box-shadow:0 4px 14px #20363e1a}
.ns-tile-art{color:var(--accent)}
.ns-tile-title{font-size:20px;font-weight:700}
.ns-tile-blurb{font-size:14px;color:#2f444c}
.ns-tile-hint{font-size:13px;color:#3d535b;margin-top:auto}
.ns-landing-files{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ns-landing-files button{padding:10px 16px;border-radius:8px;border:1px solid var(--accent);background:#fff;color:var(--accent);font-size:14px;font-weight:600;cursor:pointer}
.ns-landing-files button:disabled{border-color:#8da0a6;color:#4a5f66;background:#eef3f4;cursor:not-allowed}
.ns-landing-note{font-size:13px;color:#3d535b}
.ns-leave{border:1px solid var(--line);border-radius:10px;padding:18px;max-width:380px}
@media (max-width:760px){.ns-tiles{grid-template-columns:1fr}.ns-tile{min-height:0}.ns-landing h1{font-size:22px}}
#wz-panel .gd-grid{display:grid;grid-template-columns:minmax(300px,1.3fr) minmax(260px,1fr);gap:12px;align-items:start}
#wz-panel .gd-plot{margin:0;background:#fff;border:1px solid #e4eaed;border-radius:6px;padding:6px;overflow:auto}
#wz-panel .gd-plot figcaption{font-size:11px;margin-top:2px}
#wz-panel .gd-details{margin:6px 0;font-size:12px}#wz-panel .gd-details summary{cursor:pointer;font-weight:600;color:#33505c}
#wz-panel .gd-table{border-collapse:collapse}#wz-panel .gd-table th{text-align:left;font-weight:600;padding:2px 12px 2px 0}
#wz-panel .ns-adv{margin:8px 0;font-size:12px}#wz-panel .ns-adv summary{cursor:pointer;color:#33505c;font-weight:600}
#wz-panel .gd-h{margin:0 0 6px;font-size:15px}#wz-panel .gd-sum{margin:6px 0 8px;padding-left:18px}
#wz-panel button.primary{background:#1f5f99;color:#fff;border-color:#1f5f99;font-weight:600}
@media (max-width:700px){
#wz-panel{padding-bottom:56px}
#wz-panel .gd-grid{grid-template-columns:1fr}
#wz-panel .gd-plot{order:-1}
#wz-panel .wz-steps{position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;padding:6px 8px;background:#fff;border-top:1px solid #cfd8dc;justify-content:space-around;flex-wrap:nowrap}
#wz-panel .wz-steps li{flex:1;text-align:center;padding:6px 2px;font-size:11px;min-height:32px}
#wz-panel[hidden] .wz-steps{display:none}
}
.ns-adv-inline{display:inline-block;vertical-align:top;font-size:12px}.ns-adv-inline summary{cursor:pointer;color:#33505c;font-weight:600}.ns-adv-inline[open]{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.lv-grid{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(300px,1.5fr);gap:12px;align-items:start}
#lv-panel .q-row{margin:2px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#lv-panel .lv-stage{margin:0;background:#fff;border:1px solid #e4eaed;border-radius:6px;padding:4px;touch-action:none;cursor:ew-resize;overflow:hidden}
#lv-panel .lv-stage:focus-visible{outline:3px solid #0072B2}
#lv-panel .lv-tr{margin:0;background:#fff;border:1px solid #e4eaed;border-radius:6px;padding:4px}
#lv-panel .lv-read{font-size:12px;margin:4px 0;min-height:36px}
.lv-chip{display:inline-block;width:11px;height:11px;border-radius:2px;vertical-align:-1px}
#lv-panel .ns-adv,#lv-panel .gd-details{margin:6px 0;font-size:12px}#lv-panel summary{cursor:pointer;font-weight:600;color:#33505c}
#lv-panel .gd-table{border-collapse:collapse;font-size:12px}#lv-panel .gd-table th,#lv-panel .gd-table td{text-align:left;padding:2px 10px 2px 0}
#dock:has(#lv-panel:not([hidden])){flex-basis:var(--dock-h,50%)}
@media (max-width:700px){.lv-grid{grid-template-columns:1fr}#lv-panel .q-row{flex-direction:column;align-items:stretch}#lv-panel label{display:flex;flex-direction:column;gap:2px;width:100%}#lv-panel input,#lv-panel select{width:100%}}
#lv-panel .lv-col{position:relative}
#lv-panel .lv-hov{position:absolute;z-index:3;pointer-events:none;background:#1f2a30;color:#fff;font-size:11px;padding:3px 7px;border-radius:4px;max-width:260px}
#lv-panel .lv-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;font-size:12px}
#lv-panel .lv-strip-h{font-weight:600;color:#33505c}
#lv-panel .lv-strip button{font-size:12px;padding:4px 9px;min-height:30px;border:1px solid #c5d0d5;border-radius:14px;background:#fff;cursor:pointer}
#lv-panel .lv-strip button[aria-pressed="true"]{border-color:#0072B2;box-shadow:0 0 0 2px #0072B2 inset;font-weight:600}
#lv-panel .lv-strip button:disabled{opacity:.45;cursor:default}
#lv-panel .lv-strip button:focus-visible,.lv-tip :focus-visible{outline:3px solid #0072B2;outline-offset:1px}
#lv-panel .lv-stage.lv-dragging-refl{cursor:grabbing}
.lv-tip{position:fixed;z-index:60;width:260px;background:#fff;border:1px solid #9fb2ba;border-radius:8px;box-shadow:0 6px 22px rgba(0,0,0,.22);padding:8px 10px;font-size:12px;display:flex;flex-direction:column;gap:6px}
.lv-tip[hidden]{display:none}
.lv-tip label{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lv-tip input,.lv-tip select{width:130px;font-size:13px;min-height:28px}
.lv-tip-h{display:flex;align-items:center;gap:6px}.lv-tip-h button{margin-left:auto}
.lv-tip-b{display:flex;gap:8px}.lv-tip button{min-height:32px;padding:3px 10px}
@media (max-width:640px){.lv-tip.lv-sheet{left:0;right:0;bottom:0;top:auto;width:auto;border-radius:12px 12px 0 0;max-height:52vh;overflow:auto;padding:12px 14px 16px}.lv-tip.lv-sheet input,.lv-tip.lv-sheet select{width:150px;min-height:40px}.lv-tip.lv-sheet button{min-height:42px}#lv-panel .lv-strip button{min-height:40px}}
#lp-panel .q-row{margin:2px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#lp-panel .lv-stage{margin:0;background:#fff;border:1px solid #e4eaed;border-radius:6px;padding:4px;touch-action:none;cursor:ew-resize;overflow:hidden}
#lp-panel .lv-stage:focus-visible{outline:3px solid #0072B2}
#lp-panel .lv-tr,#lp-panel .lp-ss{margin:0;background:#fff;border:1px solid #e4eaed;border-radius:6px;padding:4px}
#lp-panel .lp-ss{position:relative;line-height:0}
#lp-panel .lp-ss canvas{display:block;margin:4px}
#lp-panel .lp-sso{position:absolute;left:4px;top:4px;cursor:crosshair;touch-action:none}
#lp-panel .lv-read{font-size:12px;margin:4px 0;min-height:36px}
#lp-panel .lp-lawv{font-size:12px;font-weight:600;color:#33505c}
#lp-panel .ns-adv,#lp-panel .gd-details{margin:6px 0;font-size:12px}#lp-panel summary{cursor:pointer;font-weight:600;color:#33505c}
#lp-panel .gd-table{border-collapse:collapse;font-size:12px}#lp-panel .gd-table th,#lp-panel .gd-table td{text-align:left;padding:2px 10px 2px 0}
#lp-panel .lv-col{position:relative}
#lp-panel .lv-hov{position:absolute;z-index:3;pointer-events:none;background:#1f2a30;color:#fff;font-size:11px;padding:3px 7px;border-radius:4px;max-width:260px}
#lp-panel .lv-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;font-size:12px}
#lp-panel .lv-strip-h{font-weight:600;color:#33505c}
#lp-panel .lv-strip button{font-size:12px;padding:4px 9px;min-height:30px;border:1px solid #c5d0d5;border-radius:14px;background:#fff;cursor:pointer}
#lp-panel .lv-strip button[aria-pressed="true"]{border-color:#0072B2;box-shadow:0 0 0 2px #0072B2 inset;font-weight:600}
#lp-panel .lv-strip button:disabled{opacity:.45;cursor:default}
#lp-panel .lv-strip button:focus-visible,#lp-panel .lp-tabs button:focus-visible{outline:3px solid #0072B2;outline-offset:1px}
#lp-panel .lv-stage.lv-dragging-refl{cursor:grabbing}
#lp-panel .lp-tabs{display:none;gap:6px;margin:4px 0}
#lp-panel .lp-tabs button{font-size:13px;padding:6px 14px;min-height:36px;border:1px solid #c5d0d5;border-radius:16px;background:#fff;cursor:pointer}
#lp-panel .lp-tabs button[aria-selected="true"]{border-color:#0072B2;box-shadow:0 0 0 2px #0072B2 inset;font-weight:600}
#dock:has(#lp-panel:not([hidden])){flex-basis:var(--dock-h,50%)}
@media (max-width:700px){#lp-panel .lv-grid{grid-template-columns:1fr}#lp-panel .q-row{flex-direction:column;align-items:stretch}#lp-panel label{display:flex;flex-direction:column;gap:2px;width:100%}#lp-panel input,#lp-panel select{width:100%}#lp-panel .lp-tabs{display:flex}#lp-panel[data-tab="s"] #lp-pane-a,#lp-panel[data-tab="a"] #lp-pane-s{display:none}}
#lt-panel .q-row{margin:2px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#lt-panel .lv-stage{margin:0;background:#fff;border:1px solid #e4eaed;border-radius:6px;padding:4px;touch-action:none;cursor:ew-resize;overflow:hidden}
#lt-panel .lv-stage:focus-visible{outline:3px solid #0072B2}
#lt-panel .lv-tr,#lt-panel .lp-ss{margin:0;background:#fff;border:1px solid #e4eaed;border-radius:6px;padding:4px}
#lt-panel .lp-ss{position:relative;line-height:0}
#lt-panel .lp-ss canvas{display:block;margin:4px}
#lt-panel .lp-sso{position:absolute;left:4px;top:4px;cursor:crosshair;touch-action:none}
#lt-panel .lv-read{font-size:12px;margin:4px 0;min-height:36px}
#lt-panel .lp-lawv{font-size:12px;font-weight:600;color:#33505c}
#lt-panel .ns-adv,#lt-panel .gd-details{margin:6px 0;font-size:12px}#lt-panel summary{cursor:pointer;font-weight:600;color:#33505c}
#lt-panel .gd-table{border-collapse:collapse;font-size:12px}#lt-panel .gd-table th,#lt-panel .gd-table td{text-align:left;padding:2px 10px 2px 0}
#lt-panel .lv-col{position:relative}
#lt-panel .lv-hov{position:absolute;z-index:3;pointer-events:none;background:#1f2a30;color:#fff;font-size:11px;padding:3px 7px;border-radius:4px;max-width:260px}
#lt-panel .lv-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;font-size:12px}
#lt-panel .lv-strip-h{font-weight:600;color:#33505c}
#lt-panel .lv-strip button{font-size:12px;padding:4px 9px;min-height:30px;border:1px solid #c5d0d5;border-radius:14px;background:#fff;cursor:pointer}
#lt-panel .lv-strip button[aria-pressed="true"]{border-color:#0072B2;box-shadow:0 0 0 2px #0072B2 inset;font-weight:600}
#lt-panel .lv-strip button:disabled{opacity:.45;cursor:default}
#lt-panel .lv-strip button:focus-visible,#lt-panel .lp-tabs button:focus-visible{outline:3px solid #0072B2;outline-offset:1px}
#lt-panel .lv-stage.lv-dragging-refl{cursor:grabbing}
#lt-panel .lp-tabs{display:none;gap:6px;margin:4px 0}
#lt-panel .lp-tabs button{font-size:13px;padding:6px 14px;min-height:36px;border:1px solid #c5d0d5;border-radius:16px;background:#fff;cursor:pointer}
#lt-panel .lp-tabs button[aria-selected="true"]{border-color:#0072B2;box-shadow:0 0 0 2px #0072B2 inset;font-weight:600}
#dock:has(#lt-panel:not([hidden])){flex-basis:var(--dock-h,50%)}
@media (max-width:700px){#lt-panel .lv-grid{grid-template-columns:1fr}#lt-panel .q-row{flex-direction:column;align-items:stretch}#lt-panel label{display:flex;flex-direction:column;gap:2px;width:100%}#lt-panel input,#lt-panel select{width:100%}#lt-panel .lp-tabs{display:flex}#lt-panel[data-tab="a"] #lt-pane-d,#lt-panel[data-tab="d"] #lt-pane-a{display:none}}
#lp-panel .lv-col,#lt-panel .lv-col,#lp-panel .lv-grid>*,#lt-panel .lv-grid>*{min-width:0}
#lp-panel .lv-svg,#lt-panel .lv-svg{max-width:100%;height:auto}
.ns-hints{display:flex;flex-direction:column;gap:6px;margin:0 0 8px}
.ns-hint{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:6px 10px;border:1px solid #1f6f8b;border-radius:6px;background:#e6f3f8;color:#10303c;font-size:13px}
.ns-hint button{flex:none;min-height:32px;padding:2px 10px}
#landing-hints{margin-top:12px}
#wz-panel[data-collapsed="1"] .gd-grid,#wz-panel[data-collapsed="1"] .gd-details,#wz-panel[data-collapsed="1"] .wz-nav,#wz-panel[data-collapsed="1"] .wz-note{display:none}
#wz-panel[data-collapsed="1"] #wz-steps{margin:4px 0}
#wz-edit{min-height:32px}
#landing-signin{color:var(--accent-ink)}
/* phase 7: the live stage over the top view */
#live-overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.live-ov{position:absolute;inset:0;pointer-events:none}
.live-ov[hidden]{display:none}
.live-ov .lv-stage{position:absolute;left:0;top:0;width:640px;margin:0;padding:0;border:0;background:transparent;overflow:visible;pointer-events:none}
.live-ov .lv-stage:focus-visible{outline:3px solid #0072B2}
.live-ov .lv-svg [data-section],.live-ov .lv-svg polygon[fill="#f2f2f2"],.live-ov .lv-svg polygon[fill="#cfcfcf"]{display:none}
.live-ov .lv-svg>text,.live-ov .lv-svg>line,.live-ov [data-lobe]{display:none}
.live-ov .lv-hov{position:absolute;z-index:3;pointer-events:none;background:#1f2a30;color:#fff;font-size:11px;padding:3px 7px;border-radius:4px;max-width:260px}
.live-ov .lv-tip{pointer-events:auto}
.ns-view-note{position:absolute;left:30px;bottom:calc(52px + var(--dock-off,0px));z-index:2;font-size:12px;color:#33474f;background:#fbfcfcee;padding:2px 8px;border-radius:6px;pointer-events:none}
.ns-view-note:empty{display:none}
#wb-main[data-unified="1"] .ns-scene-label{display:none}
.ns-view-note{bottom:calc(84px + var(--dock-off,0px))}
@media (max-width:700px){
  .ns-stage-top{position:relative;order:-1;top:auto;left:auto;right:auto;padding:4px 8px;flex-wrap:wrap;gap:6px}
  .ns-stage-top .ns-stage-id,.ns-stage-top .ns-spacer{display:none}
  #viewport{min-height:220px}
  .ns-view-note{left:8px;right:8px;bottom:8px}
}
#dock-top{position:relative;top:2px;right:14px;font-size:11px;padding:1px 8px;border:1px solid var(--line);border-radius:10px;background:#f3f7f8;cursor:pointer;height:20px}
.ns-stage.top-collapsed #viewport{min-height:0;flex:0 0 78px;overflow:hidden}
.ns-stage.top-collapsed #dock{flex:1 1 auto;max-height:none}
.ns-stage.top-collapsed #dock-split{display:none}
