:root{--hdr: 52px;--ftr: 28px;--chrome: calc(var(--hdr) + var(--ftr) - 48px);--bg: #0f1215;--panel: #171b20;--line: #2a3038;--text: #e4e8ec;--muted: #8a949e;--accent: #1fa3b8;--danger: #d0503c;color-scheme:dark;font:14px/1.4 system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}header{display:flex;align-items:center;gap:24px;padding:0 16px;height:48px;border-bottom:1px solid var(--line);background:#0b0e11}.logo{letter-spacing:.15em;color:var(--accent)}header nav a{color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:999px}header nav a.on{background:var(--text);color:var(--bg)}h1{margin:0 0 4px}h3{margin:16px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}h3:first-child{margin-top:0}button,input,select{font:inherit;color:inherit;background:#20262d;border:1px solid var(--line);border-radius:6px;padding:5px 9px}textarea{font:inherit;color:inherit}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.on,button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger:hover{border-color:var(--danger);color:var(--danger)}input[type=color]{padding:2px;height:32px}.muted,em{color:var(--muted);font-style:normal}.small{font-size:12px}.row,.toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.toolbar{padding:8px 0}.hint{color:var(--muted);font-size:12px;flex:1;min-width:200px}.field{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.field input,.field select{color:var(--text);width:100%}.check{display:flex;gap:8px;align-items:center;margin:12px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid4{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.builder{display:grid;grid-template-columns:280px 1fr 300px;height:calc(100dvh - 48px - var(--chrome))}.panel{background:var(--panel);padding:14px;overflow-y:auto;border-right:1px solid var(--line)}.panel:last-child{border-right:0;border-left:1px solid var(--line)}.panel>button{width:100%;margin-top:8px}.viewport{display:flex;flex-direction:column;min-width:0;padding:0 10px 10px}.viewport canvas{border-radius:8px}details{border-bottom:1px solid var(--line)}summary{padding:6px 0;cursor:pointer}button.add{display:flex;justify-content:space-between;width:100%;margin:0 0 4px;text-align:left;background:transparent}.tag{background:#000c;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none}.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.stats div{background:var(--panel);padding:8px}.stats small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.stats b{font-size:18px;color:var(--accent)}table.list{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}.list th{text-align:left;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);padding:4px}.list td{border-bottom:1px solid var(--line);padding:5px 4px;vertical-align:middle}.list td.actions{white-space:nowrap;text-align:right}.list td.actions button{margin-left:4px}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:8px}.badge{margin-left:8px;font-size:11px;padding:1px 6px;border-radius:999px;background:var(--accent);color:#fff}.page{max-width:1300px;margin:0 auto;padding:24px 16px}.editor{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;margin:8px 0 16px}@media(max-width:900px){.builder{grid-template-columns:1fr;height:auto}.viewport{height:70vh;order:-1}.panel{border:0}table.wide{display:block;overflow-x:auto}}a{color:var(--accent)}.error{color:var(--danger)}.ok{color:#4caf7a}.ofl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:10px}.ofl ul{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.ofl li button{width:100%;text-align:left;background:transparent;border-color:transparent;text-transform:capitalize}@media(max-width:900px){.ofl{grid-template-columns:1fr}}.filter{width:100%;margin-bottom:6px}.objects{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:6px}.objects li+li{border-top:1px solid var(--line)}.objects li{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 6px;cursor:pointer;-webkit-user-select:none;user-select:none;border-top:2px solid transparent;border-bottom:2px solid transparent}.objects li:hover{background:#20262d}.objects li.on{background:var(--accent);color:#fff}.objects li.on em{color:#e6f7fa}.objects li.off .name,.objects li.off em{opacity:.45;text-decoration:line-through}.objects li.dropabove{border-top-color:var(--accent)}.objects li.dropbelow{border-bottom-color:var(--accent)}.objects .grip{color:var(--muted);cursor:grab;font-size:11px;letter-spacing:-2px}.objects .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.objects em{flex-shrink:0;font-size:12px}.objects .eye{display:grid;place-items:center;padding:3px;border:0;background:transparent;color:inherit}.ctxmenu{position:fixed;z-index:50;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px;box-shadow:0 8px 24px #0008}.ctxtitle{padding:6px 8px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.ctxmenu button{display:flex;justify-content:space-between;gap:16px;width:100%;border:0;background:transparent;text-align:left}.ctxmenu button:hover:not(:disabled){background:#20262d}kbd{font:11px ui-monospace,monospace;color:var(--muted)}.hint{cursor:help}.mounted{background:#20262d;border-radius:6px;padding:6px 8px;margin:6px 0}.mounted p{margin:0 0 6px}.mountpick{display:flex;flex-direction:column;gap:6px;margin:8px 0}.mountpick select{width:100%}.range input{width:100%;padding:0;accent-color:var(--accent)}.range span{display:flex;justify-content:space-between}.lamp{border:1px solid var(--line);border-radius:6px;padding:8px;margin:8px 0;display:flex;flex-direction:column;gap:6px}.lamp .check{margin:0}.swatches{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.swatches button{width:22px;height:22px;padding:0;border-radius:50%;border:2px solid transparent}.swatches button.on{border-color:var(--text)}.swatches input[type=color]{width:30px;height:24px;padding:0 2px}.seg{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.seg .muted{width:100%}.seg button{flex:1;padding:4px 6px;font-size:12px}.gtag{flex-shrink:0;font-size:10px;line-height:16px;min-width:16px;text-align:center;border-radius:4px;background:#3a4048;color:#fff;padding:0 3px}.patch .cell{width:100%;min-width:90px;background:transparent;border-color:transparent;padding:2px 4px}.patch .cell:hover,.patch .cell:focus{border-color:var(--line);background:#20262d}@media print{:root{color-scheme:light}body{background:#fff;color:#000}header,.noprint{display:none!important}.page{max-width:none;padding:0}.list th,.list td{border-color:#bbb;color:#000}.patch .cell{color:#000;border:0}h3{color:#000}}button.mini{padding:1px 6px;font-size:12px;margin-right:2px}.nowrap{white-space:nowrap}.patch .cell.num{width:64px;min-width:0}tr.bad td{background:#3a1d1a}@media print{tr.bad td{background:#fdd}}.plot{max-width:none}.check.inline{margin:0 6px;font-size:13px}.sheet{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;background:#fff;color:#111;border-radius:8px;padding:16px}.sheet .muted,.sheet em{color:#666}.sheet .list th,.sheet .list td{border-color:#ddd;color:#111}.sheet h3{color:#444}.plan{width:100%;height:auto;max-height:calc(100dvh - 160px - var(--chrome));display:block;font-family:system-ui,sans-serif}.legend{display:flex;flex-direction:column;gap:4px}.titleblock{display:flex;flex-direction:column;border:2px solid #111;padding:8px;gap:2px;font-size:12px}.titleblock b{font-size:16px}@media(max-width:900px){.sheet{grid-template-columns:1fr}}@media print{@page{size:A3 landscape;margin:10mm}.sheet{padding:0;border-radius:0}.plan{max-height:none}}.editor-box{border:1px solid #ddd;border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px}.sheet input,.sheet select{background:#fff;color:#111;border-color:#ccc}.sheet .field span{color:#555}tr.sel td{background:#e6f5f8}.simgrid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px}.simpanel{border-radius:8px;border:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.simsheet{display:flex;flex-direction:column;gap:8px}.scale{display:flex;align-items:center;gap:8px;font-size:12px;color:#444}.scale i{flex:1;height:12px;border-radius:3px}@media(max-width:900px){.simgrid{grid-template-columns:1fr}}.rackpage{max-width:none}.rackgrid{display:grid;grid-template-columns:260px minmax(0,1fr) 320px;gap:12px;align-items:start}.rackgrid .panel{border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:6px}.rackdevs{max-height:60vh;overflow-y:auto}.rackdraw{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.rackcol{display:flex;flex-direction:column;align-items:center;gap:4px}.rack{max-width:100%;height:auto}@media(max-width:1100px){.rackgrid{grid-template-columns:1fr}}@media print{.rackgrid{grid-template-columns:1fr 320px}.rackgrid>aside:first-child{display:none}}header nav{display:flex;flex-wrap:wrap;gap:2px}header{height:auto;min-height:48px;flex-wrap:wrap}.wikigrid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.wikinav{display:flex;flex-direction:column;gap:4px}.wikinav a{display:block;color:var(--text);text-decoration:none;padding:4px 8px;border-radius:6px}.wikinav a.on,.wikinav a:hover{background:#20262d}.wikiart{max-width:820px;line-height:1.6}.wikiart h1{margin:8px 0 12px}.wikiart h2{margin-top:28px}.wikiart code{background:#20262d;padding:1px 5px;border-radius:4px}.note{border-left:3px solid var(--accent);background:#17252a;padding:8px 12px;margin:12px 0;border-radius:0 6px 6px 0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.card{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none;background:var(--panel)}.card:hover{border-color:var(--accent)}@media(max-width:800px){.wikigrid{grid-template-columns:1fr}}.sheet button{background:#f1f2f4;color:#111;border-color:#c9cdd2}.sheet button.danger{color:#b3261e}.sheet button.on,.sheet button.primary{background:var(--accent);color:#fff}.account{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px}.login{max-width:320px;margin:15vh auto;padding:24px;display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.login .logo{font-size:20px}.psec{border-bottom:1px solid var(--line);padding:4px 0 12px;margin-bottom:8px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.psec:last-child{border-bottom:0}.psec>h3,.psec>summary h3{margin:0}details.psec{display:block}details.psec>summary{display:flex;align-items:baseline;justify-content:space-between;gap:8px;list-style:none;padding:2px 0}details.psec>summary::-webkit-details-marker{display:none}details.psec>summary h3:before{content:"▸";display:inline-block;width:14px;transition:transform .15s}details.psec[open]>summary h3:before{transform:rotate(90deg)}details.psec>summary em{font-size:12px}details.psec[open]>summary{margin-bottom:8px}.pname{width:100%;font-weight:600}.btns4,.btns3{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.btns3{grid-template-columns:repeat(3,1fr);margin-top:6px}.btns4 button,.btns3 button{padding:5px 2px;font-size:13px}.psec select,.psec .search{width:100%}details.sub{border:0}details.sub>summary{font-size:13px;color:var(--muted);padding:2px 0 6px}details.sub>summary em,details.cat>summary em{float:right;font-size:12px;color:var(--muted)}.dims{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:4px 6px;align-items:center}.dims small{font-size:11px;color:var(--muted)}.dims .field>span{display:none}.dims input{padding:4px 6px}details.cat{border-bottom:1px solid var(--line)}details.cat>summary{padding:6px 0}.addlist{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-bottom:6px;max-height:320px;overflow-y:auto}.addlist button.add{display:flex;gap:8px;justify-content:space-between;align-items:baseline;margin:0;padding:4px 6px;border-color:transparent;font-size:13px}.addlist button.add span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addlist button.add em{flex-shrink:0;font-size:11px}.addlist button.add:hover{background:#20262d}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#05070999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .12s ease-out}.modal{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px 16px;box-shadow:0 18px 50px #00000080;animation:pop .14s ease-out}.modal h2{margin:0 0 8px;font-size:16px}.modal p{margin:0 0 18px;color:var(--text);line-height:1.5;white-space:pre-line}.modal-btns{display:flex;justify-content:flex-end;gap:8px}.modal-btns button{min-width:96px;padding:7px 14px}button.danger.solid{background:var(--danger);border-color:var(--danger);color:#fff}button.danger.solid:hover{filter:brightness(1.1);color:#fff}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.98)}}button{display:inline-flex;align-items:center;justify-content:center;gap:6px}button>svg.lucide{width:15px;height:15px;flex-shrink:0;stroke-width:2}button.mini>svg.lucide{width:13px;height:13px}.btns4{grid-template-columns:1fr 1fr}.psec .head{display:flex;align-items:center;justify-content:space-between;gap:8px}.psec .head h3{margin:0;display:flex;align-items:center;gap:6px}.psec .head h3 em{font-size:12px;text-transform:none;letter-spacing:0}.info{cursor:help;color:var(--muted);font-size:13px;text-transform:none}.seg.mini{display:inline-flex;gap:0}.seg.mini button{padding:3px 8px;font-size:12px;border-radius:0}.seg.mini button:first-child{border-radius:6px 0 0 6px}.seg.mini button:last-child{border-radius:0 6px 6px 0;border-left:0}.groups{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;overflow-x:hidden;max-height:46vh;overflow-y:auto}details.grp{border:1px solid var(--line);border-radius:6px}details.grp>summary{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 8px;font-size:13px;font-weight:600;list-style:none;cursor:pointer}details.grp>summary::-webkit-details-marker{display:none}details.grp>summary:before{content:"▸";color:var(--muted);transition:transform .15s}details.grp[open]>summary:before{transform:rotate(90deg)}details.grp>summary .name{flex:1}details.grp>summary em{font-weight:400;font-size:12px}details.grp .objects{border:0;border-top:1px solid var(--line);border-radius:0 0 6px 6px;max-height:none}.objects.tall{max-height:46vh}.objects li em{font-size:11px}.stats div i{display:block;font-style:normal;font-size:11px;color:var(--muted);margin-top:2px}table.pack{margin-bottom:8px;table-layout:fixed}table.pack th:first-child{text-align:left}table.pack th:nth-child(2),table.pack td:nth-child(2){width:40px;text-align:right}table.pack th:nth-child(3),table.pack td:nth-child(3){width:58px;text-align:right}table.pack td:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}details.psec>button{width:100%}details.grp{min-width:0}details.grp>summary .eye{display:grid;place-items:center;padding:3px;border:0;background:transparent;color:inherit}.cable-pt{fill:#fff;stroke-width:.05;cursor:grab}.cable-pt:hover{fill:#ffe9a8}.cable-mid{cursor:copy;opacity:.55}.cable-mid:hover{opacity:1}.cable-mid circle{fill:#fff;stroke:#556;stroke-width:.025}.cable-mid path{stroke:#334;stroke-width:.025;fill:none}.modal-input{width:100%;margin:-6px 0 16px}.patch .cell{background:#171c22;border:1px solid #232a32;border-radius:4px}.patch .cell:hover{border-color:#3a4552}.patch .cell:focus{border-color:var(--accent);background:#1d242c;outline:none}.patch .cell.error{color:var(--danger)}.patch td.center{text-align:center}.printonly{display:none}@media print{.printonly{display:inline}.patch td.center input{display:none}.patch .cell{border:0;background:transparent;color:#000}}.page.sim{max-width:none}.sim .simgrid{grid-template-columns:290px minmax(0,1fr) 440px;align-items:start}@media(max-width:1400px){.sim .simgrid{grid-template-columns:280px minmax(0,1fr)}.sim .simside{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:12px}}@media(max-width:900px){.sim .simgrid,.sim .simside{grid-template-columns:1fr}}.sim .simpanel{padding:12px 14px;gap:0}.sim .simpanel .check em{margin-left:auto;font-size:12px}.sim .simpanel .check{display:flex;align-items:center;gap:6px}.chips{display:flex;flex-wrap:wrap;gap:4px}.chips button{padding:2px 7px;font-size:12px;border-radius:999px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.card>header{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line)}.card>header h3{margin:0;white-space:nowrap}.card .empty{padding:24px 16px}.mapcard>header .scale{flex:1;color:var(--muted);max-width:360px;margin-left:auto}.mapwrap{position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#f4f2ee;padding:8px;display:flex;justify-content:center}.mapwrap.panning,.cables .planbox.panning{cursor:grabbing}.mapwrap svg{max-height:calc(100dvh - 190px - var(--chrome));width:auto;max-width:100%}.simside{display:grid;gap:12px}.spectrum{display:block;width:100%;height:auto;padding:4px 6px;cursor:crosshair}.spectrum text{fill:var(--muted);font-size:10px}.spectrum .grid{stroke:#2a3038;stroke-width:1}.spectrum path{fill:none;stroke-width:2}.spectrum .c-sum{stroke:#e9eef3;stroke-width:2.4}.spectrum .c-sub{stroke:#e0703a;stroke-dasharray:5 3}.spectrum .c-top{stroke:#3aa0e0;stroke-dasharray:5 3}.spectrum .c-sum-t{fill:#e9eef3}.spectrum .c-sub-t{fill:#e0703a}.spectrum .c-top-t{fill:#3aa0e0}.spectrum .cursor{stroke:var(--accent);stroke-width:1.5}.simtable{width:100%}.simtable td,.simtable th{padding:4px 8px}.simtable tr.dim{opacity:.4}.simtable .cell.num{width:64px;background:#171c22;border:1px solid #232a32;border-radius:4px;padding:2px 4px;color:var(--text)}.badge{display:inline-block;font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;margin-right:6px;color:#fff}.badge.sub{background:#5a3a2a}.badge.top{background:#244a8f}.badge.mon{background:#3a5a3a}.sim3d{position:relative;height:calc(100dvh - 190px - var(--chrome));min-height:420px}.sim3d-label{color:#fff;font:700 12px system-ui;background:#0009;padding:1px 5px;border-radius:4px;pointer-events:none;white-space:nowrap}.hint3d{position:absolute;left:12px;bottom:8px;margin:0}.cables .cablesheet{grid-template-columns:minmax(0,1fr) 340px;height:calc(100dvh - 140px - var(--chrome));padding:0;gap:0;overflow:hidden}.cables .planbox{position:relative;min-height:0;background:#fbfaf8;border-right:1px solid #e3e3e3;touch-action:none}.cables .planbox.panning{cursor:grabbing}.cables .planbox>svg{width:100%;height:100%;display:block}.cables .legend{overflow-y:auto;padding:14px 16px}.zoombar{position:absolute;top:10px;left:10px;display:flex;gap:4px;align-items:center;z-index:1;background:#ffffffe6;border:1px solid #ddd;border-radius:8px;padding:4px}.zoombar button{padding:4px 6px}.zoombar span{padding:0 6px}.cable-seg{stroke:transparent;cursor:move;pointer-events:stroke}.cable-seg:hover{stroke:#1fa3b840}.tips{margin:4px 0 8px;padding-left:16px}.tips li{margin:1px 0}.btns2{display:grid;grid-template-columns:1fr 1fr;gap:6px}@media print{.cables .cablesheet{height:auto;display:block}}.viewport{position:relative}.minimap{position:absolute;right:12px;bottom:12px;width:210px;background:#0c0f12e0;border:1px solid var(--line);border-radius:8px;padding:6px;z-index:2;-webkit-user-select:none;user-select:none;touch-action:none}.minimap svg{width:100%;max-height:min(300px,30vh);display:block}.mm-room{fill:#1b2026;stroke:#5a6470;stroke-width:.08}.mm-stage{fill:#3a3228;stroke:#6a5a48;stroke-width:.05}.mm-obj{fill:#7d8894;opacity:.75}.mm-cone{fill:#1fa3b838;stroke:#1fa3b899;stroke-width:.05;pointer-events:none}.mm-ray{stroke:var(--accent);stroke-width:.06;stroke-dasharray:.2 .15;pointer-events:none}.mm-cam{fill:var(--accent);stroke:#fff;stroke-width:.08;cursor:grab}.mm-target{fill:none;stroke:#ffd36a;stroke-width:.12;cursor:grab;pointer-events:all}.mm-info{font-size:10px;color:var(--muted);margin-top:4px;text-align:center}.zoombar .sep{width:1px;height:18px;background:#ddd;margin:0 4px}.zoombar .tog{display:flex;align-items:center;gap:4px;font-size:12px;color:#333;padding:0 4px;cursor:pointer}.cable-label{paint-order:stroke;stroke:#fbfaf8;stroke-width:.06;font-weight:700;pointer-events:none}.screen-thumb{width:100%;border-radius:4px;border:1px solid var(--line);display:block;margin:4px 0 6px}.filebtn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:#20262d;border:1px solid var(--line);border-radius:6px;padding:5px 9px}.filebtn:hover{border-color:var(--accent)}.filebtn svg.lucide{width:15px;height:15px}.btns4.light{grid-template-columns:1fr 1fr;margin-top:6px}.cside{padding:16px 18px;gap:10px;background:#fff}.cside h3{display:flex;align-items:baseline;gap:8px;margin:10px 0 2px;font-size:12px;letter-spacing:.08em;color:#5a6068}.cside h3 em{font-size:11px;letter-spacing:0;text-transform:none;color:#9aa0a8;font-weight:400}.cempty{display:grid;justify-items:center;gap:6px;text-align:center;padding:28px 12px;color:#6a7078;border:1px dashed #d6d9dd;border-radius:10px}.cempty svg.lucide{width:22px;height:22px;color:var(--accent)}.cempty b{color:#222}.ctotals{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ctotals div{background:#f4f6f8;border-radius:8px;padding:8px 10px;display:grid}.ctotals b{font-size:17px;color:#13262b}.ctotals small{font-size:11px;color:#7a8088}.ctypes{display:grid;gap:4px}.ctype{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 8px 7px 0;border-bottom:1px solid #eef0f2}.ctype .nm{display:grid;gap:3px;min-width:0;font-size:13px;color:#1d2329}.ctype .num{text-align:right;display:grid}.ctype .num b{font-size:13px;color:#1d2329}.ctype .num small{font-size:11px;color:#8a9098}.cline{display:block;width:4px;height:100%;min-height:28px;border-radius:2px}.chips{display:flex;flex-wrap:wrap;gap:3px}.chip{font-size:11px;background:#eef1f4;color:#39424c;border-radius:999px;padding:1px 7px;white-space:nowrap}.chead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.chead h3{margin:0}.csearch{width:140px;padding:4px 8px;font-size:12px;background:#f4f6f8!important;border:1px solid #e0e3e7!important;border-radius:999px}details.cgrp{border:1px solid #e6e9ec;border-radius:8px;overflow:hidden}details.cgrp>summary{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:600;color:#1d2329;background:#f7f8fa;list-style:none;cursor:pointer}details.cgrp>summary::-webkit-details-marker{display:none}details.cgrp>summary .cline{min-height:14px;height:14px}details.cgrp>summary em{margin-left:auto;font-size:11px;font-weight:500;color:#7a8088;background:#e9ecef;border-radius:999px;padding:0 7px}details.cgrp ul{list-style:none;margin:0;padding:0}details.cgrp li{display:flex;align-items:center;gap:10px;padding:7px 10px;border-top:1px solid #eef0f2;cursor:pointer}details.cgrp li:hover,details.cgrp li.hot{background:#f2f8f9}details.cgrp li.on{background:#e3f4f6;box-shadow:inset 3px 0 0 var(--accent)}details.cgrp li .txt{flex:1;min-width:0;display:grid}details.cgrp li .t{font-size:13px;color:#1d2329;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}details.cgrp li .ft{font-size:11px;color:#7a8088;display:flex;align-items:center;gap:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}details.cgrp li .ft svg.lucide{width:11px;height:11px;flex-shrink:0}details.cgrp li .len{font-size:12px;font-weight:600;color:#13262b;background:#eef1f4;border-radius:6px;padding:2px 7px;white-space:nowrap}.cnote{margin-top:8px}.cside .editor-box{border:1px solid #cfe9ed;background:#f4fbfc;border-radius:10px;padding:12px}.cside .editor-box h3{margin-top:0}.pdialog{width:min(520px,100%)}.pgrid{display:grid;grid-template-columns:100px 1fr;gap:10px 12px;align-items:center;margin:6px 0 14px}.pgrid>span{font-size:13px;color:var(--muted)}.pchecks{display:grid;gap:4px}.printdoc{display:none}@media print{body.print-job #root>header,body.print-job .page>:not(.printdoc){display:none!important}body.print-job .page{width:auto!important}body.print-job .printdoc{width:100%}body.print-job .page{padding:0;margin:0;max-width:none}body.print-job .printdoc{display:block;color:#111;background:#fff}.pp-page{break-after:page;page-break-after:always}.pp-page:last-child{break-after:auto;page-break-after:auto}.pp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;font-size:10pt;border-bottom:1.5px solid #111;padding-bottom:4px;margin-bottom:6px}.pp-title{display:flex;align-items:center;gap:10px}.pp-logo{max-height:12mm;max-width:45mm;object-fit:contain}.pp-plan{display:flex;justify-content:center}.pp-plan svg{height:100%;width:100%}.pp-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:8.5pt;border-top:1px solid #999;padding-top:4px;margin-top:4px}.pp-legend span{display:inline-flex;align-items:center;gap:4px}.pp-table{width:100%;border-collapse:collapse;font-size:9pt;margin:6px 0 14px}.pp-table th{text-align:left;border-bottom:1.5px solid #111;padding:3px 5px}.pp-table td{border-bottom:1px solid #ccc;padding:3px 5px;vertical-align:top}.pp-table .r{text-align:right;white-space:nowrap}.pp-table tr.sum td{font-weight:700;border-top:1.5px solid #111}.pp-table td.box{text-align:center;font-size:11pt}.pp-table tr{break-inside:avoid}.pp-sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.printdoc svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.patch{max-width:1500px}.phead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:14px}.phead h1{margin:0 0 4px}.phead p{margin:0;max-width:720px}.ptiles{display:flex;flex-wrap:wrap;gap:8px}.ptiles>div{flex:1 0 86px}.ptiles div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:grid}.ptiles b{font-size:20px;color:var(--accent)}.ptiles small{font-size:11px;color:var(--muted)}.ptools{margin-bottom:14px}.pcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;overflow:hidden}.pcard>header{display:flex;align-items:baseline;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.pcard>header h3{margin:0}.pcard>header em{font-size:12px}.pempty{padding:18px 14px;margin:0}.ptable{width:100%;border-collapse:collapse}.ptable th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:8px 6px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}.ptable td{padding:3px 6px;border-bottom:1px solid #20262d;vertical-align:middle}.ptable tbody tr:nth-child(2n) td{background:#ffffff04}.ptable tbody tr:hover td{background:#1fa3b80f}.ptable .c{text-align:center}.ptable td.ctl{white-space:nowrap;width:1%}.ptable td.ctl .mini{opacity:.35;padding:2px 4px}.ptable tr:hover td.ctl .mini:not(:disabled){opacity:1}.ptable td.sig .cell{font-weight:600}.chn{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 6px;border-radius:6px;background:#22303a;color:#cfe9ee;font-weight:700;font-size:13px}.bus{display:inline-block;padding:2px 8px;border-radius:6px;background:#2a2440;color:#ddd3ff;font-weight:700;font-size:12px;white-space:nowrap}.p48{padding:2px 7px;font-size:11px;font-weight:700;border-radius:999px;background:transparent;color:var(--muted);border:1px dashed #3a4552}.p48.on{background:#b3261e;border:1px solid #b3261e;color:#fff}.pmat{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px}.pmat span{background:#1d232a;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:13px}.pmat b{color:var(--accent)}.pcols{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}@media print{.pp-h{font-size:10pt;margin:8px 0 2px;text-transform:uppercase;letter-spacing:.06em}.pp-table th.box,.pp-table td.box{width:18px;text-align:center}.pp-table .c{text-align:center}.pp-narrow{width:auto;min-width:50%}}.plotsheet{grid-template-columns:minmax(0,1fr) 340px;height:calc(100dvh - 140px - var(--chrome));padding:0;gap:0;overflow:hidden}.plotsheet .planbox{position:relative;min-height:0;background:#fbfaf8;border-right:1px solid #e3e3e3;display:flex;justify-content:center;padding:10px}.plotsheet .planbox>svg{width:100%;height:100%}.plotsheet .legend{overflow-y:auto}.cside .titleblock{border:1.5px solid #1d2329;border-radius:6px;padding:10px 12px;gap:3px;color:#39424c}.cside .titleblock b{color:#13262b}.toggles{display:grid;gap:2px}.tgl{display:flex;align-items:center;gap:10px;padding:5px 4px;border-radius:6px;cursor:pointer}.tgl:hover{background:#f4f6f8}.tgl input{position:absolute;opacity:0;pointer-events:none}.tgl .sw{flex-shrink:0;width:30px;height:17px;border-radius:999px;background:#d3d7dc;position:relative;transition:background .15s}.tgl .sw:after{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.tgl input:checked+.sw{background:var(--accent)}.tgl input:checked+.sw:after{transform:translate(13px)}.tgl input:focus-visible+.sw{outline:2px solid var(--accent);outline-offset:2px}.tgl .tl{display:grid;font-size:13px;color:#1d2329}.tgl .tl small{font-size:11px;color:#8a9098}.lg-list{display:grid}.lg-row{display:grid;grid-template-columns:36px 30px minmax(0,1fr);align-items:center;gap:6px;padding:3px 0;border-bottom:1px solid #eef0f2;font-size:13px;color:#1d2329}.lg-n{font-weight:700;text-align:right;color:#13262b}.lg-name em{color:#8a9098;font-size:11px}.lg-points{display:grid;gap:8px}.pt-top{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#1d2329}.pt-top b{white-space:nowrap}.pt-bar{height:6px;background:#e9ecef;border-radius:999px;overflow:hidden;margin-top:3px}.pt-bar i{display:block;height:100%;background:#3aa66a;border-radius:999px}.pt.bad .pt-bar i{background:#c33}.pt.bad .pt-top b{color:#c33}@media print{.pp-plotgrid{display:grid;grid-template-columns:minmax(0,1fr) 72mm;gap:6mm}.pp-plotgrid.nolegend{grid-template-columns:1fr}.pp-plotgrid .pp-plan{min-height:0}.pp-plotgrid .pp-plan svg{width:100%;height:100%}.pp-side{display:grid;align-content:start;gap:4px;font-size:8.5pt}.pp-side .titleblock{font-size:8.5pt}.pp-side .titleblock b{font-size:11pt}.pp-side .lg-row{font-size:8.5pt;grid-template-columns:26px 22px 1fr}.pp-side .lg-row svg{width:24px;height:24px}.pp-side .pt-bar i{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pp-side .pt-top{font-size:8.5pt}}.auth{max-width:380px}.auth .seg.mini{display:grid;grid-template-columns:1fr 1fr}.invite-note{margin:0;padding:8px 10px;border-radius:8px;background:#1fa3b81f;border:1px solid rgba(31,163,184,.35);font-size:13px}.account{gap:8px}.proj-chip,.me-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:13px;max-width:360px}.proj-chip:hover,.me-chip:hover{border-color:var(--accent)}.me-chip.on{border-color:var(--accent);background:var(--panel2, rgba(255,255,255,.06))}.proj-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-chip svg.lucide{width:16px;height:16px}.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:1px 8px;border-radius:999px;background:#232a32;color:var(--muted);white-space:nowrap}.tag svg.lucide{width:12px;height:12px}.tag.accent{background:#1fa3b82e;color:#7fd3e0;margin-left:6px}.tag.bad{background:#d0503c2e;color:#f0907e}.tag.vis-private{background:#2a2f36;color:#aab2bc}.tag.vis-org-view{background:#3aa0e029;color:#8cc8f0}.tag.vis-org-edit{background:#3aa66a2e;color:#8fd6ad}.plink{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--accent);text-decoration:none}.plink svg.lucide{width:14px;height:14px}.portal{max-width:1300px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:8px 14px;color:var(--muted)}.tabs button.on{color:var(--text);border-bottom-color:var(--accent);background:transparent}.search-lg{flex:1;max-width:360px}.projgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:14px}.proj{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:8px;background:#1a1f25}.proj.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.proj-top{display:flex;align-items:center;gap:6px;min-width:0}.proj-top b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-meta{display:grid;font-size:12px;color:var(--muted)}.proj-tags{display:flex;flex-wrap:wrap;gap:4px}.proj-actions{display:flex;gap:4px}.proj-actions .primary{flex:1}.pcard>header h3{display:flex;align-items:center;gap:6px}.pcard>header h3 svg.lucide{width:16px;height:16px}.ptable td.r{text-align:right}.inv-new{display:flex;align-items:center;gap:10px;padding:12px 14px;flex-wrap:wrap}.inv-list{list-style:none;margin:0;padding:0 14px 12px;display:grid;gap:6px}.inv-list li{display:flex;align-items:center;gap:8px;font-size:12px}.inv-list code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#14181d;padding:4px 8px;border-radius:6px;color:#9fd8e2}.profgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}.formgrid{display:grid;gap:10px;padding:14px}.formgrid button{justify-self:start}.sharedlg{width:min(560px,100%)}.sharedlg .seg.mini{display:grid;grid-template-columns:repeat(3,1fr);margin-top:6px}.sh-add{display:grid;grid-template-columns:1fr auto auto;gap:6px;margin:6px 0 10px}.sh-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px;max-height:240px;overflow-y:auto}.sh-list li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;background:#1a1f25}.sh-list li em{font-size:12px}.sh-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:#14181d;margin-bottom:14px}.sh-link code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#9fd8e2}.sh-link svg.lucide{width:16px;height:16px;flex-shrink:0}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;object-fit:cover;background:var(--accent);color:#fff;font-weight:600;line-height:1}.avatar-edit{display:flex;align-items:center;gap:10px}label.btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:#20262d;border:1px solid var(--line);border-radius:6px;padding:5px 9px}label.btn:hover{border-color:var(--accent)}label.btn svg.lucide{width:15px;height:15px}.logo-pick{display:flex;align-items:center;gap:8px;margin:6px 0}.logo-pick img{max-height:40px;max-width:140px;object-fit:contain;background:#fff;border-radius:4px;padding:3px}.logo-empty{font-size:12px;color:var(--muted)}td.who{display:flex;align-items:center;gap:8px}.user-menu{position:relative}.user-menu .me-chip{background:transparent;cursor:pointer}.user-menu .me-chip svg.lucide:last-child{width:14px;height:14px;opacity:.7}.user-menu .menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:240px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 10px 30px #00000073}.menu-head{display:flex;align-items:center;gap:10px;padding:6px 8px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.menu-head div{display:flex;flex-direction:column;min-width:0}.menu-head span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu .menu a,.user-menu .menu button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:var(--text);text-decoration:none;font-size:13px;text-align:left}.user-menu .menu a:hover,.user-menu .menu button:hover{background:#ffffff12}.user-menu .menu svg.lucide{width:16px;height:16px;color:var(--muted)}.user-menu .menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.wordmark{display:inline-flex;align-items:center;gap:.4em;font-weight:800;letter-spacing:-.02em;color:var(--text);white-space:nowrap}.wordmark .mark{flex:none}header .brand{text-decoration:none;display:inline-flex}header .brand:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.auth-wrap{--blackout: #07090c;--haze: #121821;--alu: #8d99a6;--tungsten: 255, 217, 160;--cool: 120, 214, 230;--amber: 255, 160, 70;--card: clamp(380px, 27vw, 580px);position:relative;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) var(--card);grid-template-rows:1fr auto;background:var(--blackout);overflow:hidden}.stage-scene{position:absolute;inset:0 var(--card) 0 0;overflow:hidden}.stage-scene .haze{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 45% at 50% 62%,rgba(var(--tungsten),.07),transparent 70%),radial-gradient(80% 60% at 30% 30%,rgba(var(--cool),.05),transparent 70%),var(--haze)}.stage-scene .truss{position:absolute;left:4%;right:4%;top:9%;height:16px;border-top:2px solid var(--alu);border-bottom:2px solid var(--alu);background:repeating-linear-gradient(60deg,transparent 0 9px,var(--alu) 9px 10.5px,transparent 10.5px 18px),repeating-linear-gradient(-60deg,transparent 0 9px,var(--alu) 9px 10.5px,transparent 10.5px 18px);opacity:.85}.stage-scene .floor{position:absolute;z-index:2;left:0;right:0;bottom:0;height:36%;background:linear-gradient(to bottom,#0d121880,#090c10 55%);border-top:1px solid rgba(var(--tungsten),.18)}.stage-scene .fx{position:absolute;top:calc(9% + 18px);width:18px;height:22px;margin-left:-9px;border-radius:4px 4px 7px 7px;background:#232a33;border:1px solid #3a4350;transform-origin:50% 0;transform:rotate(var(--a));animation:sweep 9s ease-in-out infinite alternate;z-index:1}.stage-scene .beam{position:absolute;top:16px;left:50%;width:40vh;height:66vh;translate:-50% 0;pointer-events:none;clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:blur(9px);mix-blend-mode:screen;background:linear-gradient(to bottom,rgba(var(--c),.42),rgba(var(--c),.12) 60%,rgba(var(--c),.03))}.stage-scene .fx:after{content:"";position:absolute;left:3px;right:3px;bottom:-3px;height:5px;border-radius:50%;background:rgb(var(--c));box-shadow:0 0 14px 4px rgba(var(--c),.8)}.stage-scene .fx.warm{--c: var(--tungsten)}.stage-scene .fx.cool{--c: var(--cool)}.stage-scene .fx.amber{--c: var(--amber)}@keyframes sweep{0%{transform:rotate(calc(var(--a) - 11deg))}to{transform:rotate(calc(var(--a) + 11deg))}}@media(prefers-reduced-motion:reduce){.stage-scene .fx{animation:none}}.auth-copy{grid-column:1;grid-row:2;position:relative;z-index:3;padding:0 clamp(24px,5vw,120px) clamp(32px,9vh,120px)}.auth-copy h1{max-width:15ch;font-size:clamp(32px,3.6vw,84px);line-height:1.08;letter-spacing:-.025em;font-weight:800;margin:0 0 14px;color:#f3f5f7;text-wrap:balance}.auth-copy p{margin:0;color:#aab4bf;font-size:clamp(16px,1.1vw,23px);line-height:1.55;max-width:36em}.auth-card{grid-column:2;grid-row:1 / 3;position:relative;z-index:3;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:1em;font-size:clamp(15px,.95vw,19px);padding:clamp(40px,6vh,80px) clamp(28px,3vw,64px);background:#12161b;border-left:1px solid #232a32}.auth-card .wordmark{margin-bottom:1em;font-size:1.75em!important}.auth-card .wordmark .mark{width:1.25em;height:1.25em}.auth-card h2{margin:0 0 .2em;font-size:1.5em;letter-spacing:-.01em}.auth-card .field{gap:.4em;font-size:1em}.auth-card .field>span:first-child{font-size:.87em;color:#aab4bf}.auth-card input{padding:.7em .8em;font-size:1em;background:#0b0e12;border-color:#2a313a;border-radius:8px}.auth-card input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1fa3b840}.auth-card .seg.mini{display:grid;grid-template-columns:1fr 1fr}.auth-card .seg.mini button{padding:.55em;font-size:.93em}.auth-card .go{display:flex;justify-content:center;align-items:center;gap:.5em;padding:.75em;font-size:1em;font-weight:600;border-radius:8px;margin-top:4px}.auth-card .error{margin:0;padding:.6em .75em;border-radius:8px;background:#d0503c1f;border:1px solid rgba(208,80,60,.4);color:#f2a596;font-size:.9em}.auth-foot{margin:.4em 0 0;font-size:.87em;line-height:1.5;color:var(--muted)}.auth-card .invite-note{font-size:.9em;padding:.7em .85em}.auth-card .go svg.lucide,.pw-eye svg.lucide{width:1.15em;height:1.15em}.pw{position:relative;display:block}.pw input{width:100%;padding-right:40px;box-sizing:border-box}.pw-eye{position:absolute;right:4px;top:50%;translate:0 -50%;border:0;background:transparent;padding:6px;color:var(--muted);display:grid}.auth-card .corner{position:absolute;width:clamp(18px,1.4vw,28px);height:clamp(18px,1.4vw,28px);border:0 solid #4a5461}.auth-card .corner.tl{top:12px;left:12px;border-top-width:3px;border-left-width:3px;border-top-left-radius:4px}.auth-card .corner.tr{top:12px;right:12px;border-top-width:3px;border-right-width:3px;border-top-right-radius:4px}.auth-card .corner.bl{bottom:12px;left:12px;border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:4px}.auth-card .corner.br{bottom:12px;right:12px;border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:4px}@media(max-width:820px){.auth-wrap{grid-template-columns:1fr;grid-template-rows:240px auto auto}.stage-scene{inset:0 0 auto 0;height:240px}.stage-scene .beam{height:260px;width:180px}.auth-copy{grid-row:2;padding:22px 16px 8px}.auth-copy h1{font-size:26px}.auth-card{grid-column:1;grid-row:3;border-left:0;border-top:1px solid #232a32;padding:36px 20px 40px}}.topbar{position:sticky;top:0;z-index:40;height:var(--hdr);min-height:var(--hdr);flex-wrap:nowrap;gap:18px;padding:0 14px;background:#090b0eeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #222930}.topbar .brand{flex:none;padding-right:4px}.topbar nav{display:flex;flex-wrap:nowrap;align-items:center;gap:0;min-width:0;overflow-x:auto;scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.navgroup{display:flex;align-items:center;gap:2px;padding:0 8px}.navgroup+.navgroup{border-left:1px solid #262d35}.navgroup:first-child{padding-left:0}.topbar nav a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:7px;color:#9aa5b0;text-decoration:none;font-size:13.5px;white-space:nowrap;background:transparent;transition:color .12s,background-color .12s}.topbar nav a svg.lucide{width:16px;height:16px;flex:none;opacity:.85}.topbar nav a:hover{color:var(--text);background:#ffffff0d}.topbar nav a.on{color:#fff;background:#1fa3b824}.topbar nav a.on svg.lucide{color:var(--accent);opacity:1}.topbar nav a.on:after{content:"";position:absolute;left:10px;right:10px;bottom:-9px;height:2px;border-radius:2px;background:var(--accent)}.topbar nav a:focus-visible,.topbar .proj-chip:focus-visible,.user-menu .me-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar .account{flex:none;gap:8px}.topbar .proj-chip{gap:8px;padding:5px 12px;background:#ffffff08;max-width:300px}.topbar .proj-chip b{font-weight:600}.dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:#3fbf7f}.dot.saving{background:#e0b341;animation:pulse 1s ease-in-out infinite alternate}.dot.error,.dot.conflict,.dot.rejected{background:var(--danger)}.dot.readonly,.dot.local{background:#7d8894}@keyframes pulse{to{opacity:.35}}@media(prefers-reduced-motion:reduce){.dot.saving{animation:none}}.tb-page,.tb-burger,.tb-dot{display:none}@media(max-width:900px){.topbar{gap:10px;padding:0 6px 0 12px}.topbar .wordmark{font-size:0!important;gap:0}.tb-nav,.tb-tools,.topbar .account{display:none!important}.tb-page{display:block;flex:1;min-width:0;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-dot{display:inline-block}.tb-burger{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:var(--text)}.tb-burger svg.lucide{width:24px;height:24px}}.mm-sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0000008c}.mm-sheet{position:absolute;top:0;right:0;bottom:0;width:min(88vw,340px);overflow-y:auto;background:#0e1216;border-left:1px solid var(--line);padding:8px 10px 24px;animation:mm-in .16s ease-out}@keyframes mm-in{0%{transform:translate(24px);opacity:0}}@media(prefers-reduced-motion:reduce){.mm-sheet{animation:none}}.mm-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 10px 8px}.mm-sheet-head button.icon{width:44px;height:44px;display:grid;place-items:center;border:0;background:none}.mm-sheet-head svg.lucide{width:22px;height:22px}.mm-proj{display:flex;align-items:center;gap:10px;margin:0 4px 6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none}.mm-proj span{display:flex;flex-direction:column;min-width:0}.mm-proj b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-proj em{font-style:normal;font-size:12px;color:var(--muted)}.mm-sheet h4{margin:14px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6c7681}.mm-sheet nav a,.mm-sheet nav button{display:flex;align-items:center;gap:14px;width:100%;min-height:48px;padding:0 12px;border:0;border-radius:10px;background:none;color:#c3cbd3;font-size:15px;text-decoration:none;text-align:left}.mm-sheet nav a.on{background:#1fa3b824;color:#fff}.mm-sheet nav a.on svg.lucide{color:var(--accent)}.mm-sheet nav svg.lucide{width:20px;height:20px;flex:none}.content{padding-bottom:var(--ftr)}.statusbar{position:fixed;left:0;right:0;bottom:0;z-index:40;height:var(--ftr);display:flex;align-items:center;gap:0;padding:0 10px;background:#0a0d10;border-top:1px solid #222930;font-size:12px;color:#8a949e}.sb-item{display:inline-flex;align-items:center;gap:7px;padding:0 12px;height:100%;white-space:nowrap;color:inherit;text-decoration:none}.sb-item+.sb-item{border-left:1px solid #1c2229}.sb-spacer+.sb-item{border-left:0}a.sb-item:hover{color:var(--text);background:#ffffff0a}.sb-proj{color:#c3cbd3;min-width:0;overflow:hidden;text-overflow:ellipsis}.sb-proj em{font-style:normal;color:#6c7681}.sb-org img{height:16px;max-width:48px;object-fit:contain;border-radius:2px;background:#fff;padding:1px}.sb-spacer{flex:1}.sb-ver{color:#5d6670}@media(max-width:760px){.sb-org,.sb-ver,.sb-proj em{display:none}}@media print{.statusbar{display:none!important}.content{padding:0}}.page.plot{display:flex;flex-direction:column;height:calc(100dvh - var(--hdr) - var(--ftr))}.page.plot>.sheet{flex:1;min-height:0;height:auto}.page.plot .phead{margin-bottom:8px}.ptiles div.bad b{color:var(--danger)}.plotbar,.cabletools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0 10px}.chipset{display:flex;flex-wrap:wrap;gap:4px}.chip-tgl{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.chip-tgl input{position:absolute;opacity:0;pointer-events:none}.chip-tgl:before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor}.chip-tgl.on{color:var(--text);border-color:#1fa3b899;background:#1fa3b81f}.chip-tgl.on:before{background:var(--accent);border-color:var(--accent)}.chip-tgl:hover{border-color:var(--accent)}.chip-tgl:focus-within{outline:2px solid var(--accent);outline-offset:2px}.drawtool{display:flex;align-items:flex-end;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.drawtool.on{border-color:var(--accent);box-shadow:0 0 0 3px #1fa3b826}.dt-field{display:grid;gap:2px;font-size:11px;color:var(--muted)}.dt-field select{font-size:13px}kbd{display:inline-block;padding:0 5px;margin-left:4px;border:1px solid currentColor;border-radius:4px;font:11px/16px system-ui,sans-serif;opacity:.75}.cabletools .hint{font-size:13px;color:var(--muted)}a.bookbtn{color:var(--text);text-decoration:none;border:1px solid;border-radius:6px;box-sizing:border-box}a.bookbtn:hover{border-color:var(--accent)}button.bookbtn,a.bookbtn{width:100%;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-color:#1fa3b880;background:#1fa3b81a}.modal.bookdlg{width:min(860px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.bookdlg h2{display:flex;align-items:center;gap:8px;font-size:18px}.bookdlg h2 svg.lucide{color:var(--accent);width:20px;height:20px}.bookdlg h3{font-size:13px;margin:14px 0 6px;color:var(--text)}.bk-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-bottom:14px}.bk-cols .formgrid{padding:0;gap:8px}.bk-cols textarea{width:100%;font:inherit;color:var(--text);background:#20262d;border:1px solid var(--line);border-radius:6px;padding:5px 9px;resize:vertical}.bookdlg .check.off{color:var(--muted)}.bookdlg .check em{font-style:normal;font-size:12px}@media(max-width:700px){.bk-cols{grid-template-columns:1fr}}@media print{body.book-job #root{display:none!important}.land{page:land}.pp-sheet{display:grid;grid-template-columns:minmax(0,1fr) 80mm;border:.5mm solid #111;box-sizing:border-box;overflow:hidden}.ps-plan{min-height:0;padding:3mm;display:flex}.ps-plan svg{width:100%;height:100%}.ps-side{min-width:0;display:flex;flex-direction:column;border-left:.5mm solid #111;min-height:0;font-size:8pt}.ps-legend{flex:1;min-height:0;min-width:0;overflow:hidden;padding:2mm 3mm;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:2px}.ps-legend .lg-row{grid-template-columns:24px 20px 1fr;font-size:8pt;padding:1px 0}.ps-legend .lg-row svg{width:22px;height:22px}.ps-legend .pt-top{font-size:8pt}.ps-legend .pt-bar i{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ps-types{display:grid;gap:3px}.ps-compact{margin:0;padding:0;list-style:none;columns:2;column-gap:3mm;font-size:7pt;line-height:1.3}.ps-compact li{break-inside:avoid;padding:.3mm 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-table td:has(>.pp-sw){white-space:nowrap}.ps-types div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:4px}.tb{border-top:.5mm solid #111}.tb-logos{display:flex;justify-content:space-between;align-items:center;gap:3mm;padding:2mm 3mm;border-bottom:.25mm solid #111}.tb-logos img{max-height:11mm;max-width:28mm;object-fit:contain}.tb-main{display:grid;padding:1.5mm 3mm;border-bottom:.25mm solid #111}.tb-main small,.tb-rows dt{font-size:6.5pt;color:#555}.tb-main b{font-size:11pt;line-height:1.15}.tb-plan b{font-size:13pt}.tb-rows{margin:0;display:grid;grid-template-columns:1fr 1fr}.tb-rows div{padding:1mm 3mm;border-bottom:.25mm solid #bbb}.tb-rows div:nth-child(odd){border-right:.25mm solid #bbb}.tb-rows dd{margin:0;font-size:8pt}.bk-cover{display:flex;flex-direction:column;gap:7mm;box-sizing:border-box;padding:4mm 2mm 0}.bk-top{display:flex;justify-content:space-between;align-items:center;min-height:16mm}.bk-top img{max-height:18mm;max-width:60mm;object-fit:contain}.bk-title h1{margin:0;font-size:34pt;line-height:1.05;letter-spacing:-.02em;text-wrap:balance}.bk-title p{margin:2mm 0 0;font-size:13pt;color:#444}.bk-hero{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:3mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}.bk-info{display:grid;grid-template-columns:1fr;gap:3mm}.bk-facts{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3mm 6mm}.bk-facts dt{font-size:8pt;color:#666}.bk-facts dd{margin:0;font-size:11pt;font-weight:600}.bk-note{margin:0;padding:3mm 4mm;border-left:1mm solid #1fa3b8;background:#f2f7f8;font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.bk-figs{margin-top:auto;display:grid;grid-template-columns:repeat(6,1fr);border-top:.5mm solid #111;border-bottom:.25mm solid #111}.bk-figs div{display:grid;padding:2.5mm 2mm}.bk-figs div+div{border-left:.25mm solid #bbb}.bk-figs b{font-size:14pt}.bk-figs span{font-size:8pt;color:#555}.bk-foot{display:flex;align-items:center;gap:2mm;font-size:8pt;color:#666;padding-bottom:1mm}.bk-toc ol{margin:6mm 0 0;padding:0;list-style:none;counter-reset:toc;display:grid;gap:4mm}.bk-toc li{counter-increment:toc;display:grid;grid-template-columns:12mm 1fr;grid-template-rows:auto auto;column-gap:2mm}.bk-toc li:before{content:counter(toc);grid-row:span 2;font-size:18pt;font-weight:700;color:#1fa3b8;-webkit-print-color-adjust:exact;print-color-adjust:exact}.bk-toc li b{font-size:13pt}.bk-toc li span{font-size:10pt;color:#555}.bk-shot{display:flex;flex-direction:column;box-sizing:border-box}.bk-shot img{flex:1;min-height:0;width:100%;object-fit:contain;-webkit-print-color-adjust:exact;print-color-adjust:exact}.bk-pack{break-inside:avoid}}.cside>*{flex-shrink:0}.plotbar .seg button{white-space:nowrap}.quickadd{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 8px}.quickadd button{padding:5px 10px;font-size:13px;font-weight:600}.page.rider{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,46%);gap:24px;align-items:start}.rd-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.rd-tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:9px 14px;color:var(--muted);font-weight:600;white-space:nowrap}.rd-tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.rd-panel{display:flex;flex-direction:column;gap:12px}.rd-panel h3{margin:10px 0 0}.rd-panel input[type=color]{width:64px;height:34px;padding:2px}.rd-rows{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.rd-row{display:grid;gap:6px;width:100%;align-items:center}.rd-rowhead span{font-size:12px;color:var(--muted)}.rd-row input{min-width:0}.rd-techedit{display:flex;flex-direction:column;gap:4px}.rd-techtitle{display:flex;gap:6px}.rd-techtitle input{flex:1;font-weight:700}.rd-planprev{background:#fff;border-radius:8px;padding:8px}.rd-preview{position:sticky;top:0;display:flex;flex-direction:column;gap:8px;max-height:calc(100dvh - var(--hdr) - var(--ftr) - 24px)}.rd-prevbar{display:flex;align-items:center;gap:10px}.rd-prevbar b{flex:1}.rd-frame{overflow:auto;background:#4a535b;border-radius:10px;padding:10px}.rd-doc{--rd: #127a8c;background:#fff;color:#1b1f23;padding:28px 30px;border-radius:4px;font-size:13px;line-height:1.45}.rd-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:3px solid var(--rd);margin-bottom:14px}.rd-kicker{color:var(--rd);font-weight:800;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.rd-doc h1{font-size:28px;line-height:1.1;margin:6px 0 2px;text-transform:uppercase;letter-spacing:-.01em}.rd-tour{font-size:16px;color:#4a535b}.rd-meta{font-size:11px;color:#6b747c;margin-top:8px}.rd-logo{max-height:64px;max-width:160px;object-fit:contain}.rd-intro{color:#3a434b;margin:0 0 14px}.rd-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.rd-tiles div{border:1px solid #dfe4e8;border-radius:6px;padding:8px 10px}.rd-tiles b{display:block;font-size:20px;color:var(--rd);line-height:1.1}.rd-tiles span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6b747c}.rd-doc section{margin-top:18px;break-inside:avoid-page}.rd-doc h2{display:flex;align-items:center;gap:8px;font-size:16px;text-transform:uppercase;letter-spacing:.02em;margin:0 0 8px}.rd-doc h2:before{content:"";width:12px;height:12px;border-radius:2px;background:var(--rd)}.rd-sched{display:flex;flex-wrap:wrap;gap:6px}.rd-sched span{border-left:3px solid var(--rd);background:#f2f5f6;padding:5px 10px}.rd-table{width:100%;border-collapse:collapse;font-size:12px}.rd-table th{text-align:left;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#6b747c;border-bottom:1.5px solid #1b1f23;padding:4px 6px}.rd-table td{padding:5px 6px;border-bottom:1px solid #e6eaed;color:#1b1f23}.rd-table tr:nth-child(2n) td{background:#f6f8f9}.rd-table .n{width:32px;font-weight:700}.rd-panel .rd-table td{color:var(--text);border-bottom-color:var(--line)}.rd-panel .rd-table th{border-bottom-color:var(--muted)}.rd-panel .rd-table tr:nth-child(2n) td{background:transparent}.rd-48{font-style:normal;font-size:9px;font-weight:800;background:var(--rd, #127a8c);color:#fff;border-radius:3px;padding:1px 4px;margin-left:6px}.rd-plot svg{width:100%;height:auto;max-height:420px}.rd-tech{margin-bottom:8px}.rd-tech h3{font-size:13px;margin:0 0 2px;color:#1b1f23}.rd-tech p{margin:0;white-space:pre-wrap}@media(max-width:1100px){.page.rider{grid-template-columns:minmax(0,1fr)}.rd-preview{position:static;max-height:none}}@media print{.printdoc .rd-doc{padding:0;border-radius:0;font-size:11px}.printdoc .rd-doc *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.patch .ptable .cell{background:transparent;border:1px solid transparent;border-radius:5px;padding:4px 6px;min-width:0;text-overflow:ellipsis}.patch .ptable .cell:hover{border-color:#33404b;background:#161b21}.patch .ptable .cell:focus{border-color:var(--accent);background:#1a2027;outline:none}.patch .ptable .cell.error{color:var(--danger)}.ptable{table-layout:fixed}.ptable td{padding:2px 4px}.ptable col.w-ctl{width:84px}.ptable col.w-ch{width:50px}.ptable col.w-src,.ptable col.w-sig{width:13%}.ptable col.w-mic{width:19%}.ptable col.w-48{width:56px}.ptable col.w-stand{width:12%}.ptable col.w-in,.ptable col.w-pos{width:10%}.ptable col.w-bus{width:90px}.ptable col.w-dest{width:26%}.ptable col.w-univ{width:84px}.ptable col.w-addr{width:150px}.ptable col.w-range{width:100px}.ptable td.rep .cell{color:var(--muted)}.chn{--src: #22303a;background:color-mix(in srgb,var(--src) 22%,#1a2026);color:#f0f4f6;box-shadow:inset 3px 0 0 var(--src)}.ptable td.sig .cell{font-weight:700}.ptiles div.ok b{color:#3fae6a}.dmxmap{position:relative;height:18px;margin:12px 14px 22px;background:repeating-linear-gradient(90deg,#1c2229 0,#1c2229 calc(6.25% - 1px),#232a32 calc(6.25% - 1px),#232a32 6.25%);border-radius:4px}.dmxmap>i{position:absolute;top:0;bottom:0;min-width:2px;border-radius:2px;box-shadow:inset -1px 0 #00000073}.dmxmap>i.bad{background:repeating-linear-gradient(45deg,var(--danger) 0 4px,#8a2e22 4px 8px)}.dmxscale{position:absolute;left:0;right:0;top:100%;height:14px}.dmxscale b{position:absolute;transform:translate(-50%);font-size:10px;font-weight:500;color:var(--muted);margin-top:3px}.dmxscale b:first-child{transform:none}.dmxscale b:last-child{transform:translate(-100%)}.dmxtable td{padding:5px 6px}.dmxtable td>span:not(.chn):not(.tag),.dmxmode{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmxmode{font-size:12px}.dmxtable td.addr{white-space:nowrap}.dmxtable td.addr .cell.num{width:64px;display:inline-block;margin-right:6px}.dmxtable .cell.num{border:1px solid #2b343d;background:#161b21}.dmxtable td.range{font-variant-numeric:tabular-nums;font-weight:600;color:#7fd3e0}.dmxtable tr.bad td{background:#d0503c14}.dmxwarn{display:flex;align-items:center;gap:4px;font-size:12px;color:#f0907e;margin-top:2px}.dmxwarn svg.lucide{width:13px;height:13px}.pout col.w-dest{width:24%}.pout col.w-in{width:20%}.pout col.w-pos{width:12%}.dmxtable .chn{min-width:30px}.orient{display:flex;flex-direction:column;gap:8px;padding:10px 0 2px;border-top:1px solid var(--line)}.orient-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.orient-head em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0;color:var(--accent)}.orient-seg{flex-wrap:nowrap;gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.orient-seg button{border:0;border-radius:0;background:transparent;color:var(--text);padding:6px 4px;white-space:nowrap}.orient-seg button+button{border-left:1px solid var(--line)}.orient-seg button:hover{background:#20262d}.orient-seg button.on{background:#1fa3b82e;color:#7fd3e0;font-weight:700}.orient-gizmo{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;padding:6px 8px}.orient-gizmo svg.lucide{width:15px;height:15px}.orient-gizmo.on{border-color:var(--accent);background:#1fa3b829;color:#7fd3e0}.orient-gizmo kbd{margin-left:auto}.cno{display:inline-block;min-width:26px;margin-right:6px;padding:0 5px;border:1.5px solid;border-radius:999px;font-size:11px;font-weight:800;text-align:center;color:var(--text)}.lg-row .lg-eye{margin-left:auto;padding:2px 5px;background:transparent;border-color:transparent;color:var(--muted);opacity:.55}.lg-row:hover .lg-eye,.lg-row.off .lg-eye{opacity:1}.lg-row .lg-eye svg.lucide{width:15px;height:15px}.lg-row.off>:not(.lg-eye){opacity:.4}.lg-row.off .lg-name{text-decoration:line-through}.planhidden{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px dashed var(--line);border-radius:8px;font-size:12px;color:var(--muted);margin-bottom:8px}.planhidden svg.lucide{width:14px;height:14px;flex:none}.planhidden span{flex:1}.lg-row:has(.lg-eye){grid-template-columns:36px 30px minmax(0,1fr) 28px}.cables .cablesheet.planlayout{grid-template-columns:236px minmax(0,1fr) 330px;height:calc(100dvh - 118px - var(--chrome))}.plan-left{border-right:1px solid #e3e3e3;overflow-y:auto}.plan-left h3:first-child{margin-top:0}.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.qa-grid button{display:flex;align-items:center;gap:6px;padding:5px 6px;font-size:12px;font-weight:600;background:#fff;color:#1d2329;border:1px solid #dde1e5;border-radius:8px;text-align:left;min-width:0}.qa-grid button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-grid button:hover:not(:disabled){border-color:#1fa3b8;background:#f4fbfc}.qa-grid button svg{flex:none}.drawbox{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #dde1e5;border-radius:10px}.drawbox.on{border-color:#1fa3b8;background:#f4fbfc}.drawbox .field span{color:#5a6068}.drawbox p{margin:0;color:#39424c}.plan-center{display:flex;flex-direction:column;min-width:0;min-height:0}.plan-center .planbox{flex:1}.plan-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #e3e3e3;border-right:1px solid #e3e3e3;background:#fff}.plan-toolbar .hint{display:flex;align-items:center;gap:5px;font-size:12px;color:#7a828a;white-space:nowrap}.plan-toolbar .hint svg{width:14px;height:14px}.plan-toolbar>button{white-space:nowrap}.popover{position:relative}.popover>summary{list-style:none;display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid #dde1e5;border-radius:8px;font-size:13px;color:#1d2329;cursor:pointer;-webkit-user-select:none;user-select:none}.popover>summary::-webkit-details-marker{display:none}.popover>summary svg{width:15px;height:15px}.popover[open]>summary{border-color:#1fa3b8}.popover .pop{position:absolute;top:calc(100% + 6px);left:0;z-index:5;display:flex;flex-direction:column;gap:6px;min-width:200px;padding:10px 12px;background:#fff;border:1px solid #dde1e5;border-radius:10px;box-shadow:0 8px 24px #0000001f;color:#1d2329;font-size:13px}.pop-sep{height:1px;background:#eef0f2;margin:2px 0}.plan-right{overflow-y:auto}.layers{display:flex;flex-direction:column;gap:2px}.ly-group{border-bottom:1px solid #eef0f2;padding:2px 0}.ly-head,.ly-row,.ly-obj{display:flex;align-items:center;gap:6px;padding:4px;border-radius:6px;cursor:pointer;color:#1d2329;font-size:13px}.ly-head{font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#39424c}.ly-head:hover,.ly-row:hover,.ly-obj:hover{background:#f3f6f8}.ly-row{padding-left:14px}.ly-obj{padding-left:46px;font-size:12px;color:#39424c}.ly-obj.sel{background:#e4f4f7;color:#0f6d7e;font-weight:600}.ly-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ly-head em,.ly-row em{font-style:normal;font-weight:500;font-size:11px;color:#9aa0a8;letter-spacing:0}.ly-chev{width:14px;height:14px;flex:none;color:#9aa0a8;transition:transform .12s}.ly-chev.open{transform:rotate(90deg)}.ly-eye{flex:none;padding:2px 4px;background:transparent;border:0;color:#9aa0a8}.ly-eye svg.lucide{width:15px;height:15px}.ly-eye:hover{color:#1d2329}.ly-eye[aria-pressed=false]{color:#c0504a}.ly-group.off .ly-head .ly-name,.ly-type.off>.ly-row .ly-name,.ly-obj.off .ly-name{color:#b0b6bc;text-decoration:line-through}.ly-type.off>.ly-row svg:not(.lucide){opacity:.35}.plan-right .planhidden{border-color:#dde1e5;color:#5a6068}@media(max-width:1300px){.cables .cablesheet.planlayout{grid-template-columns:200px minmax(0,1fr) 290px}.qa-grid{grid-template-columns:1fr}}.cables .cablesheet.planlayout{grid-template-columns:272px minmax(0,1fr) 330px}.qa-grid button{gap:5px;padding:5px}.qa-grid button svg{width:20px;height:20px}.plan-toolbar .seg{flex-wrap:nowrap}.plan-toolbar .seg button{white-space:nowrap;flex:none}.popover .pop{gap:2px}.popover .pop .check{display:flex;align-items:center;gap:8px;margin:0;padding:5px 2px;min-height:0;cursor:pointer}.screen-media .row{flex-wrap:wrap;gap:6px}.screen-media input.grow{flex:1;min-width:0}.screen-media video.screen-thumb{background:#000;aspect-ratio:16 / 9;object-fit:contain}.filebtn.busy{opacity:.6;pointer-events:none}.screen-media form.row input.grow{flex:1 1 100%}iframe.yt-screen{border:0;display:block;background:#000}.pp-rack{display:grid;grid-template-columns:1fr 1fr;gap:10mm;margin:4px 0 10px}.pp-rack figure{margin:0;break-inside:avoid}.pp-rack figcaption{font-size:9pt;font-weight:600;margin-bottom:2px}.pp-rack svg{max-height:120mm}.crash{max-width:640px}.crash pre{white-space:pre-wrap;opacity:.8}.rd-prevbar{flex-wrap:wrap}.rd-prevbar .grow{flex:1}.docs-kind button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.docs-kind svg.lucide{width:15px;height:15px}.rd-mappe{background:var(--panel, #171b20);border:1px solid var(--line);border-radius:10px;padding:12px 16px;overflow:auto}.rd-mappe h3{font-size:13px;margin:14px 0 6px}.rd-mappe .check.off{color:var(--muted)}.rd-mappe .check em{font-style:normal;font-size:12px}.rd-cell{align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shotstage{position:fixed;left:-20000px;top:0;width:1600px;height:1000px;pointer-events:none}.aufbau{max-width:1100px}.au-progress{position:sticky;top:var(--hdr);z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:10px 14px;margin:0 -2px 10px;background:#0f1215f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:10px}.au-progress .grow{flex:1}.au-bar{flex:1 1 100%;height:8px;background:#232a31;border-radius:99px;overflow:hidden}.au-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#3fbf7a);border-radius:inherit;transition:width .3s}.au-progress button{display:inline-flex;align-items:center;gap:6px}.au-progress svg.lucide{width:15px;height:15px}.au-error{color:var(--danger);margin:0 0 10px}.au-jump{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto}.au-jump a{padding:6px 12px;border:1px solid var(--line);border-radius:99px;color:var(--muted);text-decoration:none;white-space:nowrap}.au-jump a:hover{color:var(--text);border-color:var(--accent)}.au-sec{margin:22px 0 8px;scroll-margin-top:calc(var(--hdr) + 90px)}.au-sec h2{font-size:18px;margin:0 0 6px}.au-schema{overflow-x:auto;background:#0c0f12;border:1px solid var(--line);border-radius:12px;padding:6px;margin:8px 0}.au-schema svg{display:block;width:100%;height:auto}.au-area rect{fill:#161b20;stroke:#232a31}.au-area text{fill:#6f7a84;font-size:13px;font-weight:600}.au-node{cursor:pointer}.au-node rect{fill:#1a2026;stroke:#3a444e;stroke-width:1.2}.au-node text{fill:var(--text);font-size:12.5px;pointer-events:none}.au-node:hover rect,.au-node:focus-visible rect{stroke:var(--accent)}.au-node:focus{outline:none}.au-node.sel rect{stroke:var(--accent);stroke-width:2.5;fill:#14303a}.au-node.ok rect{stroke:#3fbf7a}.au-node.dim{opacity:.3}.au-okdot{fill:#3fbf7a;stroke:#0c0f12;stroke-width:2}.au-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px;color:var(--muted)}.au-legend b{color:var(--text);margin-right:4px}.au-legend span{display:inline-flex;align-items:center;gap:6px}.au-filter{position:sticky;top:calc(var(--hdr) + 92px);z-index:4;display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border-radius:99px;background:#14303a;border:1px solid var(--accent);margin-top:10px}.au-filter button.icon{padding:2px;border:0;background:none}.au-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.au-list li{display:flex;align-items:center;gap:12px;padding:8px 12px;border-top:1px solid var(--line);background:var(--panel)}.au-list li:first-child{border-top:0}.au-list li.done{background:#12171b}.au-list li.done .au-main>div:first-child{color:var(--muted)}.au-main{flex:1;min-width:0}.au-main .cno{display:inline-block;min-width:30px;margin-right:8px;padding:0 5px;border:2px solid;border-radius:5px;font-size:12px;text-align:center}.au-sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.au-who{white-space:nowrap}.au-tick{flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:10px;border:2px solid #4a5560;background:#12171b}.au-tick.on{background:#3fbf7a;border-color:#3fbf7a;color:#0c0f12}.au-tick svg.lucide{width:26px;height:26px;stroke-width:3}.au-cats h3{margin:14px 0 6px}.au-plugs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:12px 0}.au-plug{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.au-plug.used{border-color:#1fa3b88c}.au-plug img{width:100%;aspect-ratio:16 / 10;object-fit:cover;background:#fff}.au-plug>div{padding:10px 14px 12px}.au-plug h3{margin:0 0 6px;font-size:15px;text-transform:none;letter-spacing:0;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.au-plug p{margin:0 0 6px}.au-badge{font-size:11px;font-weight:600;color:var(--accent);border:1px solid rgba(31,163,184,.55);border-radius:99px;padding:1px 8px}.au-credits a{color:var(--muted)}@media(max-width:640px){.au-who{display:none}.au-list li{padding:6px 10px}}.au-node.hub rect{fill:#182c3a;stroke:#5b9cf0;stroke-width:1.8}.au-node.hub text{font-weight:700}@media(max-width:760px){.minimap{width:128px;right:8px;bottom:8px;padding:4px}.minimap svg{max-height:170px}.mm-info{display:none}}:root{--side: 236px}:root[data-nav=mini]{--side: 64px}@media(min-width:901px){:root{--hdr: 0px}.topbar{display:none!important}.content{margin-left:var(--side);transition:margin-left .18s ease}.statusbar{left:var(--side)!important;transition:left .18s ease}}.side{position:fixed;top:0;bottom:0;left:0;z-index:45;width:var(--side);display:flex;flex-direction:column;gap:4px;padding:14px 10px 10px;background:#0a0d10;border-right:1px solid #1a2027;transition:width .18s ease}@media(max-width:900px){.side{display:none}}@media(prefers-reduced-motion:reduce){.side,.content,.statusbar{transition:none!important}}.side-brand{display:flex;align-items:center;gap:10px;height:34px;padding:0 6px;margin-bottom:8px;color:#fff;text-decoration:none;font-weight:800;font-size:17px;letter-spacing:-.01em;white-space:nowrap}.side-brand svg{flex:none}.side-proj{display:flex;align-items:center;gap:10px;padding:7px 8px;border:1px solid #1f262e;border-radius:10px;background:linear-gradient(180deg,#12171c,#0e1216);color:var(--text);text-decoration:none;transition:border-color .12s}.side-proj:hover{border-color:#2f3a45}.side-proj-ico{position:relative;flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;font-size:12px;font-weight:800;letter-spacing:.02em;color:#bfeaf2;background:linear-gradient(135deg,#12515d,#0d2f37);box-shadow:inset 0 0 0 1px #5bd6eb2e}.side-proj-ico .dot{position:absolute;right:-3px;bottom:-3px;width:10px;height:10px;border:2px solid #0e1216}.side-proj-txt{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.side-proj-txt b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-proj-txt em{font-style:normal;font-size:11.5px;color:#77828d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-proj>svg.lucide{flex:none;width:15px;height:15px;color:#66717c}.side-search{display:flex;align-items:center;gap:9px;height:34px;margin:6px 0 4px;padding:0 8px 0 10px;border:1px solid #1f262e;border-radius:8px;background:#0f1317;color:#7c8792;font-size:13px;cursor:pointer}.side-search:hover{border-color:#2f3a45;color:var(--text)}.side-search svg.lucide{width:15px;height:15px;flex:none}.side-search span{flex:1;text-align:left;white-space:nowrap}.side kbd,.pal kbd{font:600 10.5px/1 system-ui,sans-serif;color:#8a949e;padding:3px 5px;border:1px solid #2a323b;border-bottom-width:2px;border-radius:4px;background:#12171c;white-space:nowrap}.side-nav{flex:1;overflow-y:auto;overflow-x:hidden;margin:0 -4px;padding:0 4px;scrollbar-width:thin}.side-nav section{padding:10px 0 2px}.side-nav h4{margin:0 0 4px;padding:0 10px;font-size:11.5px;font-weight:600;color:#5f6a75;white-space:nowrap}.side-link{position:relative;display:flex;align-items:center;gap:11px;width:100%;height:34px;padding:0 10px;border:0;border-radius:8px;background:none;color:#a3adb7;font-size:13.5px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .12s,color .12s}.side-link svg.lucide{flex:none;width:17px;height:17px;color:#75808b;transition:color .12s}.side-link:hover{background:#ffffff0b;color:#e9eef2}.side-link:hover svg.lucide{color:#c7d0d8}.side-link.on{background:#1fa3b821;color:#fff;font-weight:600}.side-link.on svg.lucide{color:#5bd6eb}.side-link.on:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent);box-shadow:0 0 10px #1fa3b8b3}.side-link:focus-visible,.side-search:focus-visible,.side-proj:focus-visible,.side-brand:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.side-link kbd{margin-left:auto}.side-foot{display:flex;flex-direction:column;gap:1px;padding-top:8px;border-top:1px solid #1a2027}.side .user-menu{margin:4px 0}.side .user-menu .me-chip{display:flex;width:100%;gap:10px;padding:6px 8px;border:1px solid transparent;border-radius:10px;background:none;text-align:left;max-width:none}.side .user-menu .me-chip:hover,.side .user-menu .me-chip.on{border-color:#1f262e;background:#0f1317}.side .user-menu .me-name{display:flex!important;flex-direction:column;min-width:0;flex:1;font-size:13px;line-height:1.25}.side .user-menu .me-name em{font-style:normal;font-size:11.5px;color:#77828d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side .user-menu .me-chip>svg.lucide{display:block!important;transform:rotate(180deg)}.user-menu.up .menu{top:auto;bottom:calc(100% + 6px);left:0;right:auto}.side-toggle{color:#66717c;font-size:12.5px}:root[data-nav=mini] .side{padding-left:8px;padding-right:8px;align-items:center}:root[data-nav=mini] .side-brand span,:root[data-nav=mini] .side-proj-txt,:root[data-nav=mini] .side-proj>svg.lucide,:root[data-nav=mini] .side-search span,:root[data-nav=mini] .side-search kbd,:root[data-nav=mini] .side-link span,:root[data-nav=mini] .side-link kbd,:root[data-nav=mini] .side .user-menu .me-name,:root[data-nav=mini] .side .user-menu .me-chip>svg.lucide{display:none!important}:root[data-nav=mini] .side-brand{padding:0;justify-content:center;width:40px}:root[data-nav=mini] .side-proj{padding:4px;border:0;background:none}:root[data-nav=mini] .side-search{width:40px;justify-content:center;padding:0}:root[data-nav=mini] .side-nav{margin:0;padding:0;width:100%;overflow:visible}:root[data-nav=mini] .side-nav h4{height:1px;margin:6px 10px 8px;padding:0;overflow:hidden;background:#1f262e;font-size:0}:root[data-nav=mini] .side-link{justify-content:center;width:40px;padding:0;margin:0 auto}:root[data-nav=mini] .side-link.on:before{left:-8px}:root[data-nav=mini] .side-foot{width:100%;align-items:center}:root[data-nav=mini] .side .user-menu .me-chip{justify-content:center;padding:4px;width:44px}:root[data-nav=mini] [data-tip]:hover:after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);z-index:80;pointer-events:none;padding:5px 9px;border:1px solid #2a323b;border-radius:6px;background:#161b21;color:#e9eef2;font:500 12.5px/1.2 system-ui,sans-serif;white-space:nowrap;box-shadow:0 6px 20px #00000073}:root[data-nav=mini] .side-proj,:root[data-nav=mini] .side-search,:root[data-nav=mini] .side-brand{position:relative}.session-banner{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:10px 16px 0;padding:9px 14px;border-radius:10px;font-size:13px;border:1px solid #2a323b;background:#12171c}.session-banner svg.lucide{width:17px;height:17px;flex:none}.session-banner span{flex:1;min-width:200px}.session-banner button{display:inline-flex;align-items:center;gap:6px}.session-banner.conflict{border-color:#d0503c99;background:#d0503c1a}.session-banner.conflict svg.lucide{color:var(--danger)}.session-banner.readonly svg.lucide{color:#8a949e}.pal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:#04060899;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pal{width:min(620px,100%);overflow:hidden;border:1px solid #2a323b;border-radius:14px;background:#11161b;box-shadow:0 24px 70px #0009;animation:pal-in .14s ease-out}@keyframes pal-in{0%{transform:translateY(-6px) scale(.985);opacity:0}}@media(prefers-reduced-motion:reduce){.pal{animation:none}}.pal-input{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid #1f262e}.pal-input svg.lucide{width:18px;height:18px;color:#7c8792;flex:none}.pal-input input{flex:1;height:52px;padding:0;border:0;background:none;font-size:16px;color:var(--text);outline:none}.pal-list{list-style:none;margin:0;padding:6px;max-height:min(420px,55vh);overflow-y:auto}.pal-list li{display:flex;align-items:center;gap:12px;height:40px;padding:0 10px;border-radius:8px;color:#c3cbd3;font-size:14px;cursor:pointer}.pal-list li svg.lucide{width:17px;height:17px;color:#75808b;flex:none}.pal-list li.on{background:#1fa3b824;color:#fff}.pal-list li.on svg.lucide{color:#5bd6eb}.pal-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pal-sub{flex:1;min-width:0;font-size:12.5px;color:#6c7681;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pal-kind{font-size:11.5px;color:#6c7681}.pal-empty{justify-content:center;color:#6c7681!important;cursor:default!important}.pal-foot{display:flex;gap:16px;padding:8px 14px;border-top:1px solid #1f262e;font-size:12px;color:#6c7681}.pal-foot kbd{margin-right:3px}.tb-icon{display:none}@media(max-width:900px){.tb-icon{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:none;color:var(--text)}.tb-icon svg.lucide{width:20px;height:20px}}html,body{height:100%;overflow:hidden}.content{height:calc(100dvh - var(--hdr) - var(--ftr));overflow:auto;padding-bottom:0;overscroll-behavior:contain}.au-progress{top:0}.au-filter{top:92px}.au-sec{scroll-margin-top:90px}@media print{html,body{height:auto;overflow:visible}.content{height:auto!important;overflow:visible!important;margin:0!important}}@media(min-width:1101px){.page.sim,.page.rackpage{height:100%;display:flex;flex-direction:column;overflow:hidden;padding-bottom:12px}.sim .simgrid,.rackgrid{flex:1;min-height:0;align-items:stretch}.sim .simgrid>*,.rackgrid>*{min-height:0;overflow:auto}.sim .simgrid{grid-template-columns:270px minmax(0,1fr) minmax(320px,400px)}.sim .simside{grid-column:auto;display:flex;flex-direction:column;gap:12px}.page.rider{height:100%;overflow:hidden;align-items:stretch;padding-bottom:12px}.rd-edit{min-height:0;overflow:auto;padding-right:4px}.rd-preview{position:static;height:100%;max-height:none;min-height:0}.rd-frame,.rd-mappe{flex:1;min-height:0;overflow:auto}}.ptoggles{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#12171c}.ptoggles button{display:grid;place-items:center;width:30px;height:28px;padding:0;border:0;border-radius:6px;background:none;color:#6c7681}.ptoggles button:hover{color:var(--text);background:#ffffff0d}.ptoggles button.on{color:#5bd6eb}.ptoggles svg.lucide{width:16px;height:16px}@media(max-width:900px){.ptoggles{display:none}}@media(max-width:1100px){.rackpage .ptoggles,.sim .ptoggles{display:none}}@media(min-width:901px)and (max-width:1100px){.builder,.cables .cablesheet.planlayout{grid-template-columns:var(--pl) minmax(0,1fr) var(--pr)}.builder{--pl: 250px;--pr: 270px}.cables .cablesheet.planlayout{--pl: 200px;--pr: 270px}.builder.noleft,.cables .cablesheet.planlayout.noleft{--pl: 0px}.builder.noright,.cables .cablesheet.planlayout.noright{--pr: 0px}:is(.builder,.cables .cablesheet.planlayout).noleft>:first-child,:is(.builder,.cables .cablesheet.planlayout).noright>aside:last-of-type{display:none!important}:is(.builder,.cables .cablesheet.planlayout)>:nth-child(1){grid-column:1}:is(.builder,.cables .cablesheet.planlayout)>:nth-child(2){grid-column:2}:is(.builder,.cables .cablesheet.planlayout)>:nth-child(3){grid-column:3}}@media(min-width:1101px){.builder,.rackgrid,.sim .simgrid,.cables .cablesheet.planlayout{grid-template-columns:var(--pl) minmax(0,1fr) var(--pr)}.builder{--pl: 280px;--pr: 300px}.rackgrid{--pl: 260px;--pr: 320px}.sim .simgrid{--pl: 270px;--pr: minmax(320px, 400px)}.cables .cablesheet.planlayout{--pl: 272px;--pr: 330px}.builder.noleft,.rackgrid.noleft,.sim .simgrid.noleft,.cables .cablesheet.planlayout.noleft{--pl: 0px;column-gap:0}.builder.noright,.rackgrid.noright,.sim .simgrid.noright,.cables .cablesheet.planlayout.noright{--pr: 0px;column-gap:0}.noleft>:first-child,.noright>aside:last-of-type,.sim .simgrid.noright>.simside{display:none!important}:is(.builder,.rackgrid,.sim .simgrid,.cables .cablesheet.planlayout)>:nth-child(1){grid-column:1}:is(.builder,.rackgrid,.sim .simgrid,.cables .cablesheet.planlayout)>:nth-child(2){grid-column:2}:is(.builder,.rackgrid,.sim .simgrid,.cables .cablesheet.planlayout)>:nth-child(3){grid-column:3}.rackgrid.noleft:not(.noright),.rackgrid.noright:not(.noleft),.sim .simgrid.noleft:not(.noright),.sim .simgrid.noright:not(.noleft){column-gap:12px}}@media(min-width:1101px)and (max-width:1300px){.cables .cablesheet.planlayout{--pl: 200px;--pr: 290px}}.builder.viewing>aside{display:none!important}.builder.viewing{grid-template-columns:minmax(0,1fr)!important}.builder.viewing>main{grid-column:1 / -1!important}.modeseg button{display:inline-flex;align-items:center;gap:6px}.modeseg svg.lucide{width:15px;height:15px}.objects .eye.lock{color:#4d5761}.objects li:hover .eye.lock{color:var(--muted)}.objects .eye.lock.on{color:#e0b341}.objects .eye svg.lucide{width:15px;height:15px}.builder>.viewport{min-height:0;overflow:hidden}.viewport>div:has(>canvas){flex:1 1 0;min-height:0;height:auto!important}@media(max-width:1279px){.side-toggle{display:none!important}}details.grp>summary .eye.lock{color:#4d5761}details.grp>summary:hover .eye.lock{color:var(--muted)}details.grp>summary .eye.lock.on{color:#e0b341}details.grp>summary .eye svg.lucide{width:15px;height:15px}.modal.projedit{width:min(460px,100%)}.projedit h2{display:flex;align-items:center;gap:8px}.projedit h2 svg.lucide{width:18px;height:18px;color:var(--accent)}.projedit .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.projedit .row{display:flex;gap:8px}.projedit .row button{display:inline-flex;align-items:center;gap:6px}.au-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px}.au-head h2{display:flex;align-items:center;gap:10px}.au-planbox{position:relative;height:clamp(340px,64vh,760px);margin:8px 0;overflow:hidden;background:#fbfaf8;border:1px solid var(--line);border-radius:12px}.au-planbox{touch-action:pan-y;cursor:grab}.au-planbox.zoomed{touch-action:none}.au-planbox>svg{width:100%;height:100%;max-height:none;display:block}.au-planbox .zoombar{color:#111}@media(max-width:640px){.au-planbox{height:56vh}}.au-mark{cursor:pointer}.au-mark circle{fill:#ffffffd9;stroke:#9aa3ab}.au-mark.ok circle{fill:#2f9f63;stroke:#fff}.au-mark path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round}.au-legend.plan{margin-top:2px;padding:6px 12px;border-radius:8px;background:#fbfaf8;color:#444}.au-legend.plan b{color:#111}.au-jump a.ok{color:#3fbf7a;border-color:#3fbf7a73}.au-jump a.now{color:var(--text);border-color:var(--accent);background:#1fa3b81f}.au-step>p{margin:0 0 8px}.au-no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:14px;background:#232a31;color:var(--text)}.au-no svg.lucide{width:16px;height:16px;stroke-width:3}.au-step.now .au-no{background:var(--accent);color:#fff}.au-step.ok .au-no{background:#3fbf7a;color:#0c0f12}.au-now{margin-left:8px;padding:1px 8px;border-radius:99px;font-size:11.5px;color:var(--accent);border:1px solid rgba(31,163,184,.55)}.au-warn{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:0 7px;border-radius:99px;font-size:11.5px;font-weight:600;color:#e0b341;border:1px solid rgba(224,179,65,.5);vertical-align:1px}.au-warn svg.lucide{width:12px;height:12px}.au-planbox .zoombar button{background:#fff;color:#222;border:1px solid #d5d8db}.au-planbox .zoombar button:disabled{opacity:.45}.au-planbox .zoombar .seg button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.au-planbox .zoombar .seg button{white-space:nowrap}.sb-peers{gap:0}.sb-peers .peer{display:inline-flex;margin-left:-4px;border-radius:50%;box-shadow:0 0 0 2px var(--bg, #0f1317);opacity:.55}.sb-peers .peer:first-child{margin-left:0}.sb-peers .peer.here{opacity:1;box-shadow:0 0 0 2px var(--pc)}.sb-peers em{margin-left:8px;font-style:normal;opacity:.8}.peer-note{display:flex;align-items:center;gap:6px;margin:0 0 10px;padding:6px 8px;border-radius:6px;background:#ffffff0d;font-size:12.5px}.peer-note i{flex:none;width:8px;height:8px;border-radius:50%}
