@fnndsc/argus 0.49.1 → 0.49.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/assets/{Settings-D8x0YjvS.js → Settings-Lh5-Idpb.js} +1 -1
  2. package/dist/assets/{Texture-CK20OQnL.js → Texture-Bp42AyqW.js} +1 -1
  3. package/dist/assets/{addVolumesToViewports-fPmPOfGO.js → addVolumesToViewports-CqLqXcsP.js} +1 -1
  4. package/dist/assets/{asciidoc-CGtN2l3a.js → asciidoc-DYNSNX1_.js} +1 -1
  5. package/dist/assets/{cornerstoneEngine-DDdBaE6m.js → cornerstoneEngine-6xiFBOB0.js} +2 -2
  6. package/dist/assets/{documentEngines-D3GYh2kY.js → documentEngines-C5DYI4ra.js} +1 -1
  7. package/dist/assets/{field-BQZnfTSA.js → field-Wkt-fU0b.js} +1 -1
  8. package/dist/assets/{index-Ceix7Gik.js → index-BKw_J3Md.js} +1 -1
  9. package/dist/assets/{index-w3PP7X0p.js → index-BQY_hujx.js} +1 -1
  10. package/dist/assets/{index-SZTH_-qm.js → index-BaJhYqUt.js} +1 -1
  11. package/dist/assets/{index-D0GSkGWj.js → index-BhzSFK40.js} +1 -1
  12. package/dist/assets/{index-DeGuhg0r.js → index-CiWHVI9f.js} +1 -1
  13. package/dist/assets/{index-BKFXqCRC.js → index-CotD-dDN.js} +242 -243
  14. package/dist/assets/{index-CJIx63h3.js → index-CpDv-7oE.js} +1 -1
  15. package/dist/assets/{index-DKMh-q29.js → index-CvDKJ7nD.js} +1 -1
  16. package/dist/assets/{index-BSo1Dd1Z.js → index-CxQF3c8h.js} +1 -1
  17. package/dist/assets/{index-Cwz73PB7.js → index-DF6qopFM.js} +1 -1
  18. package/dist/assets/{index-Cr-62kat.js → index-DHkZ5Kgb.js} +1 -1
  19. package/dist/assets/{index-BLMIEiga.js → index-DWr2lQSh.js} +1 -1
  20. package/dist/assets/{index-Db9z1L78.js → index-DZoHb_SF.js} +1 -1
  21. package/dist/assets/index-DlON4O9R.css +1 -0
  22. package/dist/assets/{index-NiyDE9lH.js → index-tOqrPAF9.js} +1 -1
  23. package/dist/assets/{niivueEngine-D-uIPpFn.js → niivueEngine-DsDS7ZkL.js} +2 -2
  24. package/dist/assets/{slabScene-PrhPPnHj.js → slabScene-CG9k3RVf.js} +1 -1
  25. package/dist/assets/{syntax-D-JNcq73.js → syntax-M9RoONg1.js} +3 -3
  26. package/dist/build.json +1 -1
  27. package/dist/index.html +2 -2
  28. package/dist/notes.json +1 -1
  29. package/package.json +2 -2
  30. package/dist/assets/index-CywLvK7B.css +0 -1
@@ -0,0 +1 @@
1
+ @font-face{font-family:Antonio;src:url(./antonio-latin-400-normal-CZjzwNAN.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Antonio;src:url(./antonio-latin-700-normal-DSH-lEDG.woff2) format("woff2");font-weight:700;font-display:swap}html{font-size:22px;color:#fff}:root{--lfw: 168px;--bar-height: 28px;--left-frame-padding: .75rem;--elbow-radius: 100px;--elbow-inner: 60px;--elbow-inner-radius: 44px;--bar-spur: 8px;--bar-spur-lift: 22px;--bar-bite-radius: 8px;--panel-border: 8px solid #000}body{display:flex;flex-direction:row;margin:0;padding:10px 0 0 5px;background-color:#000;color:var(--daybreak);font-family:Antonio,Arial Narrow,Avenir Next Condensed,sans-serif;line-height:1.5}.wrap-all{display:flex;flex-direction:column;flex:1 1 auto;min-width:auto;min-height:auto;width:100%}.wrap,.takeover-wrap{display:flex;flex:1 1 auto;width:100%;padding:0 15px 0 5px;overflow:hidden}#gap.wrap,.takeover-wrap{margin-top:var(--left-frame-padding)}main{display:block;flex:1 1 auto;min-width:0;padding:60px 0 11px 50px}.left-frame,.takeover-gutter{display:flex;flex-direction:column;justify-content:space-between;position:relative;flex:none;width:var(--lfw);background-color:var(--orange);color:#000;text-align:right;font-weight:700;line-height:1.2}.left-frame-top,.takeover-gutter-head{display:flex;flex-direction:column;flex:none;width:var(--lfw);border-bottom-left-radius:var(--elbow-radius);background-color:var(--october-sunset);color:#000;text-align:right;font-weight:700;line-height:1.2}button[class^=panel-]{display:flex;justify-content:flex-end;width:var(--lfw);padding:var(--left-frame-padding);border:none;border-bottom:8px solid #000;color:#000;text-align:right;font-family:inherit;font-weight:700;font-size:inherit;line-height:1.2;cursor:pointer}button.panel-1{min-height:160px;flex-direction:column;justify-content:space-between;align-items:flex-end;overflow:hidden}button.panel-2{position:relative;flex:1 1 auto;border-bottom:0;border-bottom-left-radius:var(--elbow-radius)}button.panel-3{align-items:flex-end;border-top-left-radius:var(--elbow-radius)}button.panel-7{border-top:8px solid #000;border-bottom:0}button.panel-console,button.panel-lang{border-bottom:8px solid #000}.banner{min-width:0;min-height:0;padding-left:5px;padding-bottom:4.4px;color:var(--honey);text-align:right;text-transform:uppercase;line-height:1.1}.panel-1,.panel-4,.panel-spacer{background-color:var(--orange)}.panel-2,.panel-3,.panel-6{background-color:var(--october-sunset)}.panel-5,.panel-7,.panel-gather{background-color:var(--harvestgold)}.panel-spacer{width:var(--lfw);background-color:var(--orange);color:#000;text-align:right;font-weight:700;line-height:1.2}.hop{font-family:inherit;font-size:inherit;font-weight:700;line-height:1.2;text-align:right}h1{margin:0;font-size:4rem;font-weight:400;letter-spacing:.2em;line-height:1.2;text-align:right;text-transform:uppercase}.right-frame,.takeover-main{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.right-frame-top,.takeover-head{position:relative;display:flex;flex-direction:column;width:100%;min-width:0}.bar-panel{display:flex;width:100%}.data-cascade-button-group{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;min-width:0;min-height:0;padding-bottom:var(--left-frame-padding)}.first-bar-panel{position:relative;margin-top:2.5vh}.bar-1,.bar-2,.bar-3,.bar-4,.bar-5,.bar-6,.bar-7,.bar-8,.bar-9,.bar-10{height:var(--bar-height)}.bar-1,.bar-6{width:10%;background-color:var(--october-sunset);border-right:8px solid #000}.bar-2,.bar-7{width:12%;background-color:var(--orange);border-right:8px solid #000}.bar-3,.bar-8{width:17%;background-color:var(--honey);border-right:8px solid #000}.bar-5,.bar-10{width:5%;background-color:var(--october-sunset);border-left:8px solid #000}.bar-4,.bar-9{position:relative;width:56.0022%;background-color:var(--harvestgold);z-index:-1}.bar-4:before,.bar-9:before,.bar-4:after,.bar-9:after{content:"";position:absolute}.bar-4:before,.bar-9:before{right:60%;width:40%;height:var(--bar-spur);background-color:var(--october-sunset)}.bar-4:before{top:calc(-1 * var(--bar-spur-lift))}.bar-9:before{bottom:calc(-1 * var(--bar-spur-lift))}.bar-4:after,.bar-9:after{right:68%;width:32%;height:48%;background-color:#000;z-index:-1}.bar-4:after{top:52%;border-top-right-radius:var(--bar-bite-radius)}.bar-9:after{bottom:52%;border-bottom-right-radius:var(--bar-bite-radius)}.headtrim,.baseboard{position:fixed;left:0;right:0;height:10px;background-color:#000;z-index:999}.headtrim{top:0}.baseboard{bottom:0}*{box-sizing:border-box}button{margin:0;padding:0;font-family:inherit;font-size:inherit;font-weight:700;line-height:1.5;color:inherit}input,select,textarea{margin:0;padding:0;font-family:inherit;font-size:inherit;line-height:1.5;color:inherit}.argus-input-line input{font-weight:400}a{color:var(--honey);text-decoration:none;text-transform:uppercase;line-height:1.3}.banner a{line-height:1.1}.about-footer a{color:var(--october-sunset);text-transform:none}p{margin:0}label{line-height:1.5}:root{--face-label: "Antonio", sans-serif;--face-data: inherit;--lfw: 168px;--state-done: var(--daybreak);--state-running: var(--orange);--state-error: color-mix(in srgb, #f2402a 80%, var(--october-sunset));--mars: #f2402a}@font-face{font-family:MesloLGS NF;src:url(./MesloLGS-NF-Regular-DAUcZJjt.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:MesloLGS NF;src:url(./MesloLGS-NF-Bold-DbxbaV6p.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:JetBrainsMono NF Mono;src:url(./JetBrainsMonoNerdFontMono-Regular-BVvG7sQH.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrainsMono NF Mono;src:url(./JetBrainsMonoNerdFontMono-Bold-RfOFb4rr.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-400-normal-SafcrIr2.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-500-normal-BR1ody1F.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-600-normal-DVQm9bgb.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-700-normal-CnDBPjkL.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2");font-weight:500;font-display:swap}#status-strip{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:.8rem;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}#status-strip .readout{color:var(--honey)}#status-strip .readout:empty{display:none}#status-strip .lamp-online{color:#000}#status-strip .mismatch{color:#ff5f5f;font-weight:700}.lamp-online{background:#6f6;color:#000;padding:0 .5rem;border-radius:.6rem}.lamp-host{background:#ffaf00;color:#000;padding:0 .5rem;border-radius:.6rem}.lamp-mode{padding:0 .5rem;border-radius:.6rem}#status-strip .lamp-mode[data-mode=READ]{background:var(--honey);color:#000}#status-strip .lamp-mode[data-mode=MANAGE]{background:var(--pumpkin-pie);color:#000}#status-strip .lamp-host{color:#000}.lamp-question{background:#ffaf00;color:#000;padding:0 .5rem;border-radius:.6rem}#status-strip .lamp-question{color:#000}.lamp-offline{background:var(--state-error);color:var(--butter);padding:0 .5rem;border-radius:.6rem}.wrap:not(#gap),.left-frame{transition:translate .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1)}body[data-zoom]{height:100dvh;overflow:hidden}body[data-zoom] .wrap:not(#gap){translate:0 calc(-1 * var(--zoom-header-height, 100vh));margin-bottom:calc(-1 * var(--zoom-header-height, 0px))}body[data-zoom] .left-frame,body[data-gutter=away] .left-frame{translate:calc(-100% - 20px) 0;margin-right:calc(-1 * var(--lfw))}#gutter-restore{display:none}body[data-gutter=away] #gutter-restore{display:block;position:fixed;left:0;top:20%;bottom:20%;width:12px;z-index:1000;border-radius:0 6px 6px 0;background-color:var(--october-sunset);cursor:pointer;animation:beckon 3.5s ease-in-out infinite}#gutter-restore:hover{animation:none;background-color:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}#drawer{transition:height .5s cubic-bezier(.22,1,.36,1)}#drawer.drawer-dragging{transition:none}body[data-zoom=console] #drawer{height:auto!important;flex:1 1 auto;min-height:0}body[data-zoom=console] main{display:none}body[data-zoom]:not([data-zoom=console]) #drawer{height:0!important}body[data-zoom] .pane-zoomed .files-panel{max-height:calc(100dvh - 7rem)}.lcars-bar-zoom{width:40px;height:28px;background-color:var(--butter);margin-left:.5rem;cursor:pointer}.lcars-bar-zoom:hover{filter:brightness(1.18)}body[data-zoom=console] #drawer .lcars-bar-zoom{background-color:var(--october-sunset)}.files-header-bar{margin:.2rem 0 .5rem}.pane-zoomed .files-header-bar .lcars-bar-zoom{background-color:var(--october-sunset)}.lcars-bar-split{width:28px;height:28px;margin-left:.5rem;cursor:pointer;background:linear-gradient(to right,var(--pumpkin-pie) 45%,transparent 45%,transparent 55%,var(--pumpkin-pie) 55%)}.lcars-bar-split.lcars-split-row{background:linear-gradient(to bottom,var(--pumpkin-pie) 45%,transparent 45%,transparent 55%,var(--pumpkin-pie) 55%)}.lcars-bar-split:hover{filter:brightness(1.4);box-shadow:0 0 10px var(--pumpkin-pie)}.pane-handle{cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}.pane-handle:hover .lcars-bar-end{filter:brightness(1.25)}.pane-drawer{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.35rem .6rem;margin:-.3rem 0 .5rem;background-color:#00000059;border-left:6px solid var(--pumpkin-pie);border-radius:0 12px 12px 0}.pane-drawer[hidden]{display:none}.pane-drawer button:focus{outline:2px solid var(--butter);outline-offset:2px;box-shadow:0 0 8px var(--butter)}.pane-drawer .drawer-children{display:inline-flex;gap:.4rem}.drawer-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.drawer-group+.drawer-group{margin-left:.7rem;padding-left:.7rem;border-left:2px solid color-mix(in srgb,var(--harvestgold) 35%,transparent)}.drawer-group:empty{display:none}.drawer-label{color:var(--harvestgold);font-family:var(--face-label);font-size:.7rem;letter-spacing:.14em;margin-right:.1rem}.drawer-structure .pacs-capsule{background-color:var(--harvestgold);color:#000}.drawer-structure .drawer-mode{background-color:#ffeecc38;color:var(--butter)}.drawer-structure .drawer-mode.drawer-mode-selected{background-color:var(--butter);color:#000;box-shadow:0 0 8px #fec9}.pane-drawer[data-mode=move] .drawer-split{background-color:var(--october-sunset)}.pane-drawer .drawer-split:disabled{opacity:.3;cursor:default}.drawer-binding .drawer-bind,.drawer-binding .drawer-cwdbind{background-color:#ffeecc38;color:var(--butter)}.drawer-binding .drawer-label-cwd{margin-left:.5rem}.drawer-binding .drawer-bind.drawer-bind-selected,.drawer-binding .drawer-cwdbind.drawer-bind-selected{background-color:var(--butter);color:#000;box-shadow:0 0 8px #fec9}.drawer-children .drawer-child{background-color:var(--orange);color:#000}.drawer-children .drawer-child.drawer-destructive{background-color:#d22;color:var(--butter)}.pane-zoomed .pane-drawer .drawer-zoom{background-color:var(--butter)}.pane-view .view-body{flex:1 1 0;min-height:0;overflow:auto}#pacs-workspace{--roster-gap: .8rem;--roster-pad: 6px;display:flex;flex-direction:column;height:100%;overflow:auto;scrollbar-gutter:stable;min-width:0;min-height:0}.workspace-pane{display:none}.layout-leaf>.workspace-pane{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.roster-order{position:sticky;top:0;z-index:2;background:#000}.files-panel>.roster-order{position:static;z-index:auto;flex:none}.files-body{--roster-gap: 0px;--roster-pad: 0px}.dag-roster{--roster-gap: .8rem;--roster-pad: 6px}.roster-caps{display:grid;grid-template-columns:var(--roster-cols);column-gap:var(--roster-gap);padding:0 calc(var(--roster-pad) + var(--elbow-clear, 0px)) 0 var(--roster-pad);margin:.2rem 0 .45rem;font-size:.8rem;clip-path:inset(0 calc(var(--roster-pad) + var(--elbow-clear, 0px)) 0 0)}.roster-cap{position:relative;min-width:0;height:24px;margin-right:calc(3px - var(--roster-gap));border:none;border-radius:0;background-color:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em;text-align:left;padding:0 .15rem;cursor:pointer}.pane-dag .roster-cap[data-key=id],.files-body .roster-cap[data-key=size],.files-body .roster-cap[data-key=owner],.files-body .roster-cap[data-key=date]{text-align:right}.roster-cap:first-of-type{border-radius:9px 0 0 9px;padding-left:.7rem}.roster-cap:last-of-type{border-radius:0 9px 9px 0;padding-right:.7rem;margin-right:0}.roster-cap:nth-of-type(3n+2),.mode-frame .strategy-pill:nth-of-type(3n+2){background-color:var(--daybreak)}.roster-cap:nth-of-type(3n+3),.mode-frame .strategy-pill:nth-of-type(3n+3){background-color:var(--orange)}.roster-cap.roster-active{background-color:var(--butter)}.roster-filter[hidden]{display:none}.roster-filter{display:flex;align-items:stretch;height:26px;margin:0 0 .4rem;background:#000}.roster-filter-glyph{display:flex;align-items:center;padding:0 .8rem 0 1rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.12em;border-radius:13px 0 0 13px}.roster-filter-input{flex:1;background:transparent;border:none;border-bottom:2px solid var(--pumpkin-pie);outline:none;padding:0 .7rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.74rem}.pane-mode{margin-left:auto;font-family:Share Tech Mono,monospace;font-size:.6rem;letter-spacing:.06em;text-transform:none;opacity:.85}.pane-mode:empty{display:none}.pane-legend .legend-swatch{display:inline-block;width:.55rem;height:.55rem;margin:0 .25rem 0 0;border-radius:2px;vertical-align:-1px}.pane-state{margin-left:1rem;font-family:Share Tech Mono,monospace;font-size:.6rem;letter-spacing:.06em;text-transform:none;opacity:.85}.pane-state.state-live{color:var(--harvestgold);opacity:1}.pane-state.state-settled{opacity:.7}.pane-state.state-stale{color:color-mix(in srgb,var(--orange) 40%,#000);opacity:1;text-decoration:underline dotted}.pane-state.state-wait{color:var(--butter);opacity:1}.pane-state.state-note{color:var(--butter);opacity:1;font-style:italic}.left-frame-top .panel-1{flex-direction:column;align-items:flex-end;justify-content:space-between}.brand-mark{width:4.2rem;aspect-ratio:111 / 78;background-color:#000;mask:url(./ChRISlogo-color-t-i99soF.svg) no-repeat center / contain;-webkit-mask:url(./ChRISlogo-color-t-i99soF.svg) no-repeat center / contain}.brand-mark.brand-mark-td{width:3.2rem;aspect-ratio:240 / 290;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNDAgMjkwIj4KPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJnIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQwIiB5MT0iMCIgeDI9IjIwMCIgeTI9IjIyNCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMmE2M2JmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjN2FkM2YxIi8+PC9saW5lYXJHcmFkaWVudD4KPHJhZGlhbEdyYWRpZW50IGlkPSJoIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM3YWQzZjEiIHN0b3Atb3BhY2l0eT0iMC40NSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzdhZDNmMSIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+CjxjaXJjbGUgY3g9IjEyMCIgY3k9IjExMiIgcj0iMTA0IiBmaWxsPSJ1cmwoI2gpIi8+PHJlY3QgeD0iMjIuMCIgeT0iNDguMCIgd2lkdGg9IjE5NiIgaGVpZ2h0PSIxMjgiIHJ4PSI2NC4wIiBmaWxsPSJub25lIiBzdHJva2U9IiNjNzQ2MzQiIHN0cm9rZS13aWR0aD0iMTYiLz48bGluZSB4MT0iMTIwIiB5MT0iMTEyIiB4Mj0iMjE0IiB5Mj0iMjIiIHN0cm9rZT0iIzdhZDNmMSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIyIDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgb3BhY2l0eT0iMC44Ii8+PGxpbmUgeDE9IjEyMCIgeTE9IjExMiIgeDI9IjI2IiB5Mj0iMjAyIiBzdHJva2U9IiM3YWQzZjEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMiA1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIG9wYWNpdHk9IjAuOCIvPjxwYXRoIGQ9Ik0yMTQsMC4wIEwyMTguNSwxNy41IEwyMzAuMCwyMiBMMjE4LjUsMjYuNSBMMjE0LDQ0LjAgTDIwOS41LDI2LjUgTDE5OC4wLDIyIEwyMDkuNSwxNy41WiIgZmlsbD0idXJsKCNnKSIvPjxwYXRoIGQ9Ik0yNiwxODguOCBMMjguNywxOTkuMyBMMzUuNiwyMDIgTDI4LjcsMjA0LjcgTDI2LDIxNS4yIEwyMy4zLDIwNC43IEwxNi40LDIwMiBMMjMuMywxOTkuM1oiIGZpbGw9InVybCgjZykiLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDEwOC42LDg0LjYgMTIwLjAsMi4wIiBmaWxsPSJ1cmwoI2cpIi8+PHBvbHlnb24gcG9pbnRzPSIxMjAuMCwxMTIuMCAxMjAuMCwyLjAgMTMxLjQsODQuNiIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDEzMS40LDg0LjYgMTUxLjEsODAuOSIgZmlsbD0idXJsKCNnKSIvPjxwb2x5Z29uIHBvaW50cz0iMTIwLjAsMTEyLjAgMTUxLjEsODAuOSAxNDcuNCwxMDAuNiIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDE0Ny40LDEwMC42IDE5Mi4wLDExMi4wIiBmaWxsPSJ1cmwoI2cpIi8+PHBvbHlnb24gcG9pbnRzPSIxMjAuMCwxMTIuMCAxOTIuMCwxMTIuMCAxNDcuNCwxMjMuNCIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDE0Ny40LDEyMy40IDE1MS4xLDE0My4xIiBmaWxsPSJ1cmwoI2cpIi8+PHBvbHlnb24gcG9pbnRzPSIxMjAuMCwxMTIuMCAxNTEuMSwxNDMuMSAxMzEuNCwxMzkuNCIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDEzMS40LDEzOS40IDEyMC4wLDIyMi4wIiBmaWxsPSJ1cmwoI2cpIi8+PHBvbHlnb24gcG9pbnRzPSIxMjAuMCwxMTIuMCAxMjAuMCwyMjIuMCAxMDguNiwxMzkuNCIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDEwOC42LDEzOS40IDg4LjksMTQzLjEiIGZpbGw9InVybCgjZykiLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDg4LjksMTQzLjEgOTIuNiwxMjMuNCIgZmlsbD0idXJsKCNnKSIgZmlsbC1vcGFjaXR5PSIwLjciLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDkyLjYsMTIzLjQgNDguMCwxMTIuMCIgZmlsbD0idXJsKCNnKSIvPjxwb2x5Z29uIHBvaW50cz0iMTIwLjAsMTEyLjAgNDguMCwxMTIuMCA5Mi42LDEwMC42IiBmaWxsPSJ1cmwoI2cpIiBmaWxsLW9wYWNpdHk9IjAuNyIvPjxwb2x5Z29uIHBvaW50cz0iMTIwLjAsMTEyLjAgOTIuNiwxMDAuNiA4OC45LDgwLjkiIGZpbGw9InVybCgjZykiLz48cG9seWdvbiBwb2ludHM9IjEyMC4wLDExMi4wIDg4LjksODAuOSAxMDguNiw4NC42IiBmaWxsPSJ1cmwoI2cpIiBmaWxsLW9wYWNpdHk9IjAuNyIvPgo8ZyBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBmaWxsPSJub25lIj48bGluZSB4MT0iMTIwIiB5MT0iMTEyIiB4Mj0iMTIwLjAiIHkyPSIxNy40Ii8+PGxpbmUgeDE9IjEyMCIgeTE9IjExMiIgeDI9IjE4MS45IiB5Mj0iMTEyLjAiLz48bGluZSB4MT0iMTIwIiB5MT0iMTEyIiB4Mj0iMTIwLjAiIHkyPSIyMDYuNiIvPjxsaW5lIHgxPSIxMjAiIHkxPSIxMTIiIHgyPSI1OC4xIiB5Mj0iMTEyLjAiLz48cG9seWdvbiBwb2ludHM9IjEzMS40LDg0LjYgMTQ3LjQsMTAwLjYgMTQ3LjQsMTIzLjQgMTMxLjQsMTM5LjQgMTA4LjYsMTM5LjQgOTIuNiwxMjMuNCA5Mi42LDEwMC42IDEwOC42LDg0LjYiLz48L2c+CjxnIGZpbGw9IiNmZmYiPjxjaXJjbGUgY3g9IjEyMCIgY3k9IjExMiIgcj0iMTAiLz48Y2lyY2xlIGN4PSIxMjAuMCIgY3k9IjUxLjUiIHI9IjQuNSIvPjxjaXJjbGUgY3g9IjE1OS42IiBjeT0iMTEyLjAiIHI9IjQuNSIvPjxjaXJjbGUgY3g9IjEyMC4wIiBjeT0iMTcyLjUiIHI9IjQuNSIvPjxjaXJjbGUgY3g9IjgwLjQiIGN5PSIxMTIuMCIgcj0iNC41Ii8+PGNpcmNsZSBjeD0iMTMxLjQiIGN5PSI4NC42IiByPSIzLjUiLz48Y2lyY2xlIGN4PSIxNDcuNCIgY3k9IjEwMC42IiByPSIzLjUiLz48Y2lyY2xlIGN4PSIxNDcuNCIgY3k9IjEyMy40IiByPSIzLjUiLz48Y2lyY2xlIGN4PSIxMzEuNCIgY3k9IjEzOS40IiByPSIzLjUiLz48Y2lyY2xlIGN4PSIxMDguNiIgY3k9IjEzOS40IiByPSIzLjUiLz48Y2lyY2xlIGN4PSI5Mi42IiBjeT0iMTIzLjQiIHI9IjMuNSIvPjxjaXJjbGUgY3g9IjkyLjYiIGN5PSIxMDAuNiIgcj0iMy41Ii8+PGNpcmNsZSBjeD0iMTA4LjYiIGN5PSI4NC42IiByPSIzLjUiLz48L2c+Cjx0ZXh0IHg9IjEyMCIgeT0iMjY4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9IjcwMCIgZm9udC1zaXplPSIzOCIgZmlsbD0iIzJhNjNiZiIgbGV0dGVyLXNwYWNpbmc9IjQiPk9DSSBURDwvdGV4dD4KPC9zdmc+) no-repeat center / contain;mask:none;-webkit-mask:none}.left-frame>div:first-child,.takeover-gutter>div:first-child{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column}.left-frame>div:first-child:before,.takeover-gutter>div:first-child:before{content:"";position:absolute;top:0;left:0;width:var(--elbow-radius);height:var(--elbow-radius);background-color:#000}.right-frame-top:before,.right-frame-top:after,.right-frame:before,.right-frame:after,.takeover-head:before,.takeover-head:after,.takeover-main:before,.takeover-main:after{content:"";position:absolute;left:0;z-index:-1;width:var(--elbow-inner);height:var(--elbow-inner)}.right-frame-top:before,.right-frame-top:after,.takeover-head:before,.takeover-head:after{bottom:var(--bar-height)}.right-frame:before,.right-frame:after,.takeover-main:before,.takeover-main:after{top:var(--bar-height)}.right-frame-top:before,.takeover-head:before{background-image:linear-gradient(to right top,var(--october-sunset) 50%,#000 50%)}.right-frame-top:after,.takeover-head:after{background-color:#000;border-bottom-left-radius:var(--elbow-inner-radius)}.right-frame:before,.takeover-main:before{background-image:linear-gradient(to right bottom,var(--october-sunset) 50%,#000 50%)}.right-frame:after,.takeover-main:after{background-color:#000;border-top-left-radius:var(--elbow-inner-radius)}body[data-zoom] .right-frame:before,body[data-zoom] .right-frame:after,body[data-zoom] .right-frame-top:before,body[data-zoom] .right-frame-top:after,body[data-gutter=away] .right-frame:before,body[data-gutter=away] .right-frame:after,body[data-gutter=away] .right-frame-top:before,body[data-gutter=away] .right-frame-top:after{display:none}.left-frame button[class^=panel-],.left-frame .panel-spacer,.takeover-gutter button[class^=panel-],.takeover-gutter .panel-spacer{position:relative}.left-frame .panel-3,.takeover-gutter .panel-3{height:auto;max-height:none;flex:3 1 0;min-height:3.5rem}.left-frame .panel-4,.takeover-gutter .panel-4{height:auto;min-height:3rem;flex:2 1 0}.left-frame .panel-5,.takeover-gutter .panel-5{height:auto;flex:4 1 0;min-height:3rem}.left-frame .panel-6,.takeover-gutter .panel-6{height:auto;flex:2 1 0;min-height:3rem}.left-frame .panel-spacer,.takeover-gutter .panel-spacer{height:auto;flex:1 1 0;min-height:.8rem}.left-frame .panel-7,.takeover-gutter .panel-7{height:clamp(3.5rem,12vh,30vh)}html,body{height:100dvh}body{overflow:hidden}.wrap-all{height:100%;display:flex;flex-direction:column}.wrap-all>.wrap{width:100%}.wrap:not(#gap){flex:none}#gap{flex:1;min-height:0}.right-frame{display:flex;flex-direction:column;min-height:0}.bar-panel{flex:none}main{flex:1;min-height:0;display:flex;flex-direction:column}#status-strip{flex:none}#layout-root{flex:1;min-height:0}#layout-root>.layout-split,#layout-root>.layout-leaf{height:100%}.layout-split{min-height:0}.layout-leaf{display:flex;min-height:0}#pacs-form{display:grid;grid-template-columns:var(--roster-cols);align-items:end;column-gap:var(--roster-gap);padding:0 calc(var(--roster-pad) + var(--elbow-clear) + var(--spine-w) + .5rem) 0 var(--roster-pad);margin:.3rem 0 .5rem;font-size:.8rem}#pacs-form label{display:flex;flex-direction:column;gap:.15rem;min-width:0;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}#pacs-form .pacs-form-gutter,#pacs-form .pacs-form-blank{min-width:0}#pacs-form #pacs-run{min-width:0;justify-self:stretch}#pacs-form input{min-width:0;width:100%}#pacs-form input{background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.8rem;padding:.15rem .5rem;outline:none}#pacs-form input:focus,#pacs-command:focus{border-color:var(--harvestgold);box-shadow:0 0 6px #fa46}#pacs-commandline{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem}#pacs-command{flex:1 1 10rem;min-width:10rem;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.pacs-capsule{border:none;border-radius:.8rem;padding:.1rem .9rem;background-color:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.1em;cursor:pointer}.pacs-capsule-off{background-color:color-mix(in srgb,var(--harvestgold) 28%,transparent);color:var(--honey)}.pacs-capsule:hover{filter:brightness(1.3);box-shadow:0 0 8px var(--harvestgold)}.pacs-capsule:active{background-color:color-mix(in srgb,var(--harvestgold) 45%,#000);color:var(--butter);filter:none;box-shadow:none}.pacs-capsule:disabled{opacity:.35;cursor:default}.pacs-provenance{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right;padding-right:.6rem;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}.pacs-capsule.pacs-capsule-requery{background-color:var(--october-sunset);color:#000}.pacs-capsule.pacs-capsule-requery:hover{box-shadow:0 0 8px var(--october-sunset)}.pacs-listing{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);margin-bottom:.6rem}#pacs-results{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding-top:calc(var(--rule-h) + .3rem)}#pacs-results>.roster-order{position:static;z-index:auto;flex:none}#pacs-results>.listing-field{flex:1 1 auto;padding-right:.5rem}.pacs-study{margin-bottom:.7rem}.pacs-study-row{padding-block:3px;color:var(--orange);border-bottom:2px solid var(--orange);cursor:pointer}.pacs-study-row:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-study-row>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-study-patient,.pacs-study-desc{color:var(--butter)}.pacs-study-mrn,.pacs-study-accession{color:var(--harvestgold)}.pacs-study-date,.pacs-study-modalities,.pacs-study-server,.pacs-study-count{color:var(--pumpkin-pie)}#pacs-results .listing-level[data-depth="2"]{font-size:.8rem;padding-left:1.4em}#pacs-results .listing-level[data-depth="2"] .roster-caps{margin:.35rem 0 .3rem}.pacs-series{padding-block:2px}.pacs-series:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-series-desc{color:var(--butter);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-series-modality{color:var(--harvestgold)}.pacs-series-files{color:var(--pumpkin-pie);text-align:right}#pacs-results .roster-cap[data-key=files]{text-align:right}.pacs-badge{display:grid;grid-template-columns:1fr 9.5em;align-items:center;gap:.4rem;min-width:0;font-size:.7rem;color:var(--honey)}.pacs-badge:not(:has(>.listing-progress,>.pacs-bar-full,>.pacs-bar)){grid-template-columns:1fr}.pacs-badge .listing-progress,.pacs-badge .pacs-bar{min-width:0}.pacs-badge-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pacs-badge[data-state=running]{color:var(--state-running)}.pacs-badge[data-state=done]{color:var(--state-done)}.pacs-badge[data-state=error]{color:var(--state-error)}.pacs-badge[data-state=unconfirmed]{color:var(--honey)}.pane-gather{display:flex;flex-direction:column;min-height:0}.gather-listing{--roster-gap: .8rem;--roster-pad: 6px;position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w)}.gather-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.gather-cohort-name{color:var(--harvestgold);font-weight:700}.gather-series-desc{color:var(--butter)}.gather-series-state{color:var(--honey);text-transform:uppercase;font-size:.75rem}#layout-root{width:100%}#layout-root.layout-arrive{animation:layout-arrive .45s cubic-bezier(.22,1,.36,1)}@keyframes layout-arrive{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}.layout-split{display:flex;width:100%;min-width:0}.layout-col{flex-direction:row}.layout-row{flex-direction:column}.layout-leaf{min-width:0;overflow:hidden;border-radius:4px}.layout-leaf.pane-focused{position:relative}.layout-leaf.pane-focused:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:20;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--harvestgold) 45%,transparent)}.layout-divider{flex:none;background:var(--pumpkin-pie);opacity:.35;border-radius:3px}.layout-col>.layout-divider{width:6px;margin:0 4px;cursor:col-resize}.layout-row>.layout-divider{height:6px;margin:4px 0;cursor:row-resize}.layout-divider:hover{opacity:1;background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.dag-canvas{flex:1 1 0;min-height:0;overflow:hidden;position:relative}.node-overlay{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;background:#000000eb;border-left:6px solid var(--harvestgold);opacity:0;transition:opacity .3s ease;overflow:hidden}.node-overlay-open{opacity:1}.node-overlay-body{flex:1;min-height:0}.dag-node-tip{position:absolute;z-index:5;pointer-events:none;padding:.15rem .55rem;background:#000000d9;border:1px solid var(--pumpkin-pie);border-radius:.6rem .2rem;color:var(--butter);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.dag-canvas canvas,.universe-canvas canvas{display:block;width:100%!important;height:100%!important}.wait-progress{position:absolute;left:1rem;bottom:1rem;z-index:6;pointer-events:none;display:flex;flex-direction:column;gap:.35rem;min-width:18rem;max-width:calc(100% - 2rem);padding:.45rem .8rem .55rem;background:#000c;border:1px solid var(--pumpkin-pie);border-radius:.8rem .25rem}.wait-progress[hidden]{display:none}.wait-progress-label{color:var(--butter);font-family:var(--face-label);font-size:.8rem;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wait-progress-track{position:relative;display:block;height:.4rem;border-radius:.2rem;background:#ffffff1f;overflow:hidden}.wait-progress-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--pumpkin-pie);border-radius:.2rem;transition:width .15s linear}.wait-progress-indeterminate .wait-progress-fill{width:30%;animation:wait-progress-run 1.2s ease-in-out infinite}@keyframes wait-progress-run{0%{left:-30%}to{left:100%}}.universe-canvas{flex:1 1 0;min-height:0;overflow:hidden;position:relative}body[data-zoom]:not([data-zoom=console]) .layout-leaf:not(.pane-zoomed),body[data-zoom]:not([data-zoom=console]) .layout-divider{display:none}body[data-zoom]:not([data-zoom=console]) .pane-zoomed-path,body[data-zoom]:not([data-zoom=console]) .pane-zoomed{flex:1 1 100%!important;width:100%!important;height:100%!important}body[data-zoom]:not([data-zoom=console]) .pane-zoomed-path>:not(.pane-zoomed,.pane-zoomed-path,.layout-divider){display:none}.dag-facts{position:absolute;left:.6rem;bottom:.5rem;z-index:3;max-width:46%;padding:.25rem .6rem;font-size:.75rem;background:#000000b8;border-left:4px solid var(--harvestgold);border-radius:0 10px 10px 0}.dag-facts:not(:has(>:not(.more-chip))){display:none}.dag-subway{display:flex;align-items:flex-start;margin-top:.5rem;padding-bottom:.1rem}.subway-step{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex:none;margin-top:0}.subway-stop{width:10px;height:10px;border-radius:50%;border:1px solid var(--pumpkin-pie);background:transparent;flex:none}.subway-label{font-family:var(--face-label);font-size:.5rem;letter-spacing:.06em;line-height:1;color:var(--pumpkin-pie);white-space:nowrap}.subway-step-here .subway-label{color:var(--orange);font-weight:700}.subway-step:has(.subway-passed) .subway-label,.subway-step:has(.subway-done) .subway-label{color:var(--harvestgold)}.subway-step:has(.subway-failed) .subway-label{color:var(--state-error)}.subway-step-here .subway-stop{width:13px;height:13px;margin-top:-1.5px}.subway-stop.subway-passed{background:var(--harvestgold);border-color:var(--harvestgold)}.subway-stop.subway-here{background:var(--orange);border-color:var(--orange);box-shadow:0 0 7px var(--orange)}.subway-stop.subway-terminal.subway-done{background:var(--butter);border-color:var(--butter)}.subway-stop.subway-terminal.subway-failed{background:var(--state-error);border-color:var(--state-error);box-shadow:0 0 7px var(--state-error)}.subway-link{height:2px;flex:1 1 8px;min-width:10px;margin-top:4px;background:#cc550073}.subway-link.subway-passed{background:var(--harvestgold)}.dag-roster{display:none;position:relative;flex:1 1 0;min-height:0;padding-right:var(--spine-w)}.dag-roster.roster-shown{display:flex;flex-direction:column}.dag-feedlist{display:none;flex:1 1 0;min-height:0;flex-direction:column;overflow:hidden;font-size:.8rem}.dag-feedlist>.roster-order{position:static;z-index:auto;flex:none}.dag-feedlist .roster-order{margin-bottom:calc(var(--rule-h) + .3rem)}.feedlist-loading{padding:.5rem .6rem;color:var(--harvestgold);letter-spacing:.12em;animation:roster-breathe 1.2s ease-in-out infinite}.feedlist-refusal{padding:.5rem .9rem .15rem;color:var(--honey);font-family:var(--face-label);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.feedlist-warming{padding:.15rem .9rem .5rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.7rem}@keyframes roster-breathe{0%,to{opacity:.35}50%{opacity:1}}.feedlist-row:hover{background:color-mix(in srgb,var(--harvestgold) 18%,transparent)}.feedlist-row.feedlist-arrived .feedlist-id,.feedlist-row.feedlist-arrived .feedlist-title{animation:roster-breathe 1.6s ease-in-out infinite}.feedlist-newhead{padding:.4rem .6rem .2rem;color:var(--harvestgold);font-family:var(--face-label);letter-spacing:.12em}.feedlist-newmark{margin-left:.6em;padding:0 .5em;border-radius:.6em;background:var(--harvestgold);color:#000;font-size:.8em;letter-spacing:.06em;white-space:nowrap}.feedlist-id{color:var(--daybreak);text-align:right}.feedlist-title{color:var(--butter);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.feedlist-titled{display:flex;align-items:baseline;gap:.4em;min-width:0}.feedlist-title-text{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.feedlist-tag{--tag-hue: var(--honey);flex:none;color:var(--tag-hue);border:1px solid color-mix(in srgb,var(--tag-hue) 55%,transparent);border-radius:.6em;padding:0 .4em;cursor:pointer}.feedlist-tag:hover{border-color:var(--tag-hue)}.feedlist-tag-x{display:none;margin-left:.3em;color:var(--october-sunset)}.listing-indicated .feedlist-tag-x{display:inline}.listing-indicated .feedlist-tag{--tag-hue: #000}.listing-indicated .feedlist-tag-x{color:#000}.dag-marks{display:flex;flex-wrap:wrap;gap:.3em;padding:.3em .4em;font-size:.8rem}.dag-marks[hidden]{display:none}.dag-marks .feedlist-tag-x{display:inline}.holder-marks{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35em}.mode-frame .holder-marks{flex-direction:column;align-items:flex-end;max-width:100%}.holder-mark{display:inline-flex;max-width:100%;border:1px solid currentColor;border-radius:.6em;padding:0 .4em}.holder-mark-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holder-mark-x{flex:none;margin-left:.3em;cursor:pointer}.dag-note-line{flex:1 1 100%;color:var(--butter);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedlist-status{color:var(--honey);font-size:.7rem}.feedlist-finishedWithError .feedlist-status,.feedlist-cancelled .feedlist-status{color:var(--state-error)}.feedlist-started .feedlist-status,.feedlist-running .feedlist-status{color:var(--orange)}.feedlist-owner,.feedlist-created{color:var(--daybreak);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}*{scrollbar-width:thin;scrollbar-color:var(--harvestgold) #000}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:#000}*::-webkit-scrollbar-thumb{background:var(--harvestgold);border-radius:4px}*::-webkit-scrollbar-button{display:none;height:0}.files-body,.image-body,.edit-body,.tags-body,.help-body,.games-body,.notes-body,.capacity-body,.dag-canvas,.universe-canvas,.dag-roster,.gather-listing,.header-gather-field,.files-table-field,.pacs-listing,#pacs-form{--frame-top: var(--mode-frame-top, 0px);--spine-w: 21px;--rule-h: 6px;--bar-w: 7.2rem;--elbow-h: 30px;--elbow-clear: 36px}.workspace-pane[data-modes=open] .files-body,.workspace-pane[data-modes=open] .image-body,.workspace-pane[data-modes=open] .edit-body,.workspace-pane[data-modes=open] .tags-body,.workspace-pane[data-modes=open] .dag-canvas,.workspace-pane[data-modes=open] .universe-canvas,.workspace-pane[data-modes=open] .dag-roster,.workspace-pane[data-modes=open] .gather-listing,.workspace-pane[data-modes=open] .files-table-field,.workspace-pane[data-modes=open] .pacs-listing,.header-gather-field[data-modes=open]{--spine-w: var(--bar-w)}.header-gather-field[data-modes=open] .mode-frame{visibility:visible;opacity:1;transition:opacity .12s ease-out .16s,visibility 0s linear .16s}.field-rule{position:absolute;top:var(--frame-top);left:0;right:var(--spine-w);height:var(--rule-h);background-color:var(--harvestgold);transition:right .22s ease-out;z-index:4;pointer-events:none}.mode-strip{color:#000;position:absolute;top:var(--frame-top);right:0;bottom:0;width:var(--spine-w);margin:0;padding:0;border:none;border-radius:0 22px 4px 4px;background-color:var(--harvestgold);cursor:pointer;transition:width .22s ease-out;z-index:4}.mode-strip:hover{filter:brightness(1.18)}.mode-elbow{position:absolute;top:var(--frame-top);right:0;width:calc(var(--spine-w) + var(--elbow-clear));height:var(--elbow-h);background-color:var(--harvestgold);border-top-right-radius:22px;transition:width .22s ease-out;z-index:5;pointer-events:none}.mode-elbow:after{content:"";position:absolute;left:0;bottom:0;width:var(--elbow-clear);height:calc(var(--elbow-h) - var(--rule-h));background-color:#000;border-top-right-radius:12px}.mode-frame{position:absolute;top:calc(var(--frame-top) + var(--elbow-h) + 3px);right:0;bottom:0;width:var(--spine-w);display:flex;flex-direction:column;gap:3px;background-color:#000;visibility:hidden;opacity:0;transition:opacity .12s ease-out,visibility 0s linear .12s;z-index:5;overflow-y:auto;scrollbar-width:none}.mode-frame::-webkit-scrollbar{display:none}.holds-more{scrollbar-width:none}.holds-more::-webkit-scrollbar{display:none}:root{--edge-flare: var(--harvestgold)}[data-more=wired][data-edge=top]{animation:edge-flare-top .45s ease-out}[data-more=wired][data-edge=bottom]{animation:edge-flare-bottom .45s ease-out}[data-more=wired][data-edge=top]>*{animation:edge-bounce-top .32s cubic-bezier(.2,.7,.3,1.4)}[data-more=wired][data-edge=bottom]>*{animation:edge-bounce-bottom .32s cubic-bezier(.2,.7,.3,1.4)}@keyframes edge-flare-top{0%{box-shadow:inset 0 0 0 0 transparent}30%{box-shadow:inset 0 26px 24px -14px var(--edge-flare)}to{box-shadow:inset 0 0 0 0 transparent}}@keyframes edge-flare-bottom{0%{box-shadow:inset 0 0 0 0 transparent}30%{box-shadow:inset 0 -26px 24px -14px var(--edge-flare)}to{box-shadow:inset 0 0 0 0 transparent}}@keyframes edge-bounce-top{0%{transform:translateY(0)}35%{transform:translateY(6px)}to{transform:translateY(0)}}@keyframes edge-bounce-bottom{0%{transform:translateY(0)}35%{transform:translateY(-6px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){[data-more=wired][data-edge],[data-more=wired][data-edge]>*{animation:none}}.more-chip{position:sticky;bottom:.3rem;display:block;flex:none;margin:.3rem auto 0;width:max-content;z-index:2;align-self:center;padding:.25rem .7rem;border:none;border-radius:999px;background:var(--butter);color:#000;font-family:var(--face-label);font-size:.62rem;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 0 4px #000}.more-chip[hidden]{display:none}.more-chip:hover{background:var(--harvestgold)}.frame-more{bottom:0;margin-top:auto}.workspace-pane[data-modes=open] .mode-frame{visibility:visible;opacity:1;transition:opacity .12s ease-out .16s,visibility 0s linear .16s}.mode-frame .strategy-pill{flex:none;width:100%;min-width:0;height:1.6rem;line-height:1.6rem;margin:0;padding:0 .6rem 0 .4rem;border:none;border-radius:0;background-color:var(--harvestgold);color:#000;text-align:right}.mode-frame .strategy-pill:hover{filter:brightness(1.18)}.mode-fill{flex:1 1 0;min-height:1rem;background-color:var(--daybreak);border-radius:0 0 4px 4px;cursor:pointer}.mode-fill:hover{filter:brightness(1.18)}.mode-frame .strategy-pill.rail-off{background-color:color-mix(in srgb,var(--harvestgold) 30%,transparent);color:var(--honey)}.mode-frame .strategy-pill.rail-na{background-color:color-mix(in srgb,var(--harvestgold) 30%,transparent);color:var(--honey);text-decoration:line-through}.files-body.content-view>.field-rule,.files-body.content-view>.mode-strip,.files-body.content-view>.mode-elbow,.files-body.content-view>.mode-frame,.dag-canvas:has(>.node-overlay)>.field-rule,.dag-canvas:has(>.node-overlay)>.mode-strip,.dag-canvas:has(>.node-overlay)>.mode-elbow,.dag-canvas:has(>.node-overlay)>.mode-frame{display:none}.strategy-pill{border:none;border-radius:.7rem;padding:0 .7rem;background-color:#000;color:var(--harvestgold);font-family:var(--face-label);font-weight:700;font-size:.65rem;letter-spacing:.1em;cursor:pointer}.strategy-pill:hover{filter:brightness(1.18)}#header-dag{gap:2rem}body:not([data-header]) #header-dag,body[data-header=dag] #header-dag{display:flex}#pipeline-cycler{position:relative;flex:0 1 30%;min-width:10rem;height:7.5rem}#header-dag-info{flex:1 1 68%;min-width:0;font-family:Share Tech Mono,monospace;font-size:.72rem}#index-instrument{column-span:all;margin-bottom:.35rem}#index-instrument .index-row{margin-bottom:.15rem}#index-instrument .index-bar{flex:0 1 16rem;min-width:6rem}#index-instrument .status-degraded .telemetry-value{color:var(--state-error)}#index-instrument .index-verb{flex:none;margin-left:.4rem;background-color:var(--state-error);color:var(--butter)}#about-rows{columns:3;column-gap:2rem}#pipeline-cycler canvas{display:block;width:100%!important;height:100%!important}#pipeline-cycler-name{position:absolute;bottom:.2rem;left:.6rem;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.files-panel{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.status-degraded{color:var(--state-error)}.listing-progress{display:block;position:relative;height:.45rem;min-width:2rem;border-radius:.25rem;background:color-mix(in srgb,var(--pumpkin-pie) 22%,transparent);overflow:hidden}.listing-progress-idle{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.listing-progress-fill{display:block;height:100%;border-radius:.25rem;transition:width .25s linear}.listing-progress-running .listing-progress-fill{background:var(--state-running)}.listing-progress-done .listing-progress-fill{background:var(--pumpkin-pie)}.listing-progress-failed .listing-progress-fill{background:var(--state-error)}.listing-index-cell{display:flex;align-items:center;padding-inline-end:.5rem}.listing-index{box-sizing:border-box;min-width:4.4rem;padding:.05rem .45rem;border-radius:.7rem;font:600 .78rem/1.3 var(--lcars-font, inherit);letter-spacing:.04em;text-align:center;color:#ffffff61;background:#ffffff0f}.listing-index.numbered{color:#000;background:var(--listing-index-hue, var(--butter))}.pane-files{--listing-index-hue: var(--harvestgold)}.pane-pacs,.pacs-panel,[class*=pacs-],.pane-gather,.gather-rows,#header-gather{--listing-index-hue: var(--daybreak)}.pane-dag,.pane-tags{--listing-index-hue: var(--harvestgold)}.listing-actions{--listing-action-height: 1.35rem;box-sizing:border-box;display:flex;gap:.4rem;align-items:center;min-height:var(--listing-action-height)}.listing-action{box-sizing:border-box;height:var(--listing-action-height);border:none;border-radius:.8rem;padding:.1rem .9rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.1em;cursor:pointer}.listing-action:hover:not(:disabled){filter:brightness(1.3);box-shadow:0 0 8px var(--harvestgold)}.listing-action:active:not(:disabled),.listing-action-selected:not(:disabled){background:color-mix(in srgb,var(--harvestgold) 42%,#000);color:var(--butter);filter:none;box-shadow:none}.listing-action-selected:hover:not(:disabled){filter:brightness(1.2);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.listing-action:disabled{opacity:.35;cursor:default}.listing-readout{color:var(--honey);font-size:.7rem;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-row-indicated .files-name,.files-row-indicated .files-glyph,.feedlist-row.listing-indicated .feedlist-title,.feedlist-row.listing-indicated .feedlist-id{color:var(--butter);text-shadow:0 0 8px rgb(255 238 204 / 60%)}.listing-row{display:grid;grid-template-columns:var(--roster-cols);align-items:center;column-gap:var(--roster-gap);padding:2px calc(var(--roster-pad) + var(--elbow-clear, 0px)) 2px var(--roster-pad);font-size:.8rem}.listing-row>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-row>.listing-actions{padding-block:0}.listing-activatable{cursor:pointer}.listing-group{display:block}.listing-level{padding-left:0}.listing-indicated>span:first-child,.listing-indicated>span:nth-child(2){color:var(--butter);text-shadow:0 0 8px rgb(255 238 204 / 60%)}.listing-selected>span{color:var(--butter)}.mode-frame .listing-zone{display:flex;flex-direction:column;gap:3px;margin-top:.75rem}.mode-frame .listing-zone[hidden]{display:none}.mode-frame .listing-zone .listing-action{flex:none;width:100%;min-width:0;height:auto;min-height:1.6rem;line-height:1.2;margin:0;padding:.2rem .6rem .2rem .4rem;border-radius:0;font-size:.65rem;text-align:right;white-space:normal;overflow-wrap:anywhere}.mode-frame .listing-zone .listing-readout{padding:.1rem .6rem 0 .4rem;text-align:right;white-space:normal;overflow:visible;line-height:1.25}.listing-framed .listing-indicated{background:var(--harvestgold);margin-right:-.5rem;padding-right:calc(var(--roster-pad) + var(--elbow-clear, 0px) + .5rem)}.listing-framed .listing-indicated>span,.listing-framed .listing-indicated>span:first-child,.listing-framed .listing-indicated>span:nth-child(2){color:#000;text-shadow:none}.listing-framed .listing-indicated .files-name{font-weight:700}.listing-framed .listing-field{overflow-x:hidden}.listing-field:has(.listing-activating) .listing-row:not(.listing-activating){opacity:.25}.listing-row.listing-activating{background:var(--harvestgold);color:#000}.listing-row.listing-activating .listing-control{background:var(--butter);color:#000;animation:grip-breathe .8s ease-in-out infinite alternate}.pane-state.state-refused{color:var(--state-error);opacity:1}.listing-framed .listing-indicated .listing-progress{background:#000}.listing-framed .listing-indicated .listing-progress-idle{background:#000;box-shadow:none}.listing-framed .listing-indicated .listing-progress-fill,.listing-framed .listing-indicated .pacs-bar-full{background:var(--butter)}.listing-framed .listing-indicated .listing-progress-running .listing-progress-fill{background:var(--state-running)}.listing-framed .listing-indicated .listing-progress-failed .listing-progress-fill{background:var(--state-error)}.listing-framed .listing-indicated .pacs-badge,.listing-framed .listing-indicated .pacs-badge[data-state]{color:#000}.listing-framed:not(.listing-selecting):has(.listing-indicated) .listing-row:not(.listing-indicated):not(.files-lead-up):not(.files-lead-home){opacity:.25;transition:opacity .12s ease-out}.listing-framed:not(.listing-selecting):has(.listing-indicated) .listing-row:not(.listing-indicated):not(.files-lead-up):not(.files-lead-home):hover{opacity:1}.files-row.files-denied{opacity:.55}.files-row.files-denied .files-glyph{color:var(--state-error)}.files-row.files-denied .files-name{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--state-error) 70%,transparent)}.files-content-refused{color:var(--state-error)}.files-refused{padding:.6rem .2rem}.files-refused-lede{margin:0 0 .4rem;color:var(--state-error);font-family:var(--face-label);font-weight:700;letter-spacing:.12em}.files-refused-said{margin:0;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.8rem;white-space:pre-wrap;opacity:.9}.listing-field{flex:1 1 0;min-height:0;overflow-y:auto}.files-panel>.listing-field{padding-right:.5rem}.empty-shortcuts{display:flex;gap:.6rem;margin:.3rem 0 .6rem}.empty-promptline{display:flex;margin-bottom:.6rem}.empty-prompt{flex:1;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.empty-prompt:focus{border-color:var(--harvestgold);box-shadow:0 0 6px color-mix(in srgb,var(--harvestgold) 40%,transparent)}.empty-result{flex:1 1 0;min-height:0;overflow:auto;font-family:Share Tech Mono,monospace;font-size:.8rem;color:var(--daybreak);white-space:pre-wrap}.files-empty{color:var(--honey);opacity:.6;font-size:.8rem;letter-spacing:.08em}.files-listing{margin-bottom:1rem;overflow-x:auto}.files-path{position:sticky;top:0;z-index:2;background:#000;color:var(--orange);font-weight:700;letter-spacing:.05em;padding-bottom:.2rem;margin-bottom:calc(var(--rule-h, 6px) + .4rem);font-size:.9rem;min-width:0;overflow-wrap:anywhere;word-break:break-word}.files-crumb{font:inherit;color:inherit;letter-spacing:inherit;background:none;border:0;padding:0 .1em;margin:0;border-radius:.3em}button.files-crumb{cursor:pointer}button.files-crumb:hover,button.files-crumb:focus-visible{background:var(--orange);color:#000;outline:none}.link-line{display:flex;align-items:center;gap:.5rem;margin-top:.2rem;font-family:var(--face-label);font-size:.7rem;font-weight:400;letter-spacing:.04em;min-width:0}.link-line[hidden]{display:none}.link-pill{flex:none;border:none;border-radius:.6rem;padding:.05rem .7rem;background:var(--orange);color:#000;font:inherit;font-weight:700;letter-spacing:.1em;cursor:pointer}.link-pill:hover,.link-pill:focus-visible{filter:brightness(1.18);outline:none}.link-line[data-copied=yes] .link-pill{background:var(--harvestgold)}.link-line[data-copied=no] .link-pill{background:var(--mars)}.link-address{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--orange);cursor:copy;-webkit-user-select:all;user-select:all}.dag-linkline{position:absolute;top:.7rem;left:.6rem;z-index:3;max-width:60%;margin:0;padding:.15rem .6rem .15rem .2rem;background:#000000b8;border-radius:.7rem}.files-crumb-here{color:var(--honey, var(--orange))}.files-content-header{position:static;border-bottom:2px solid var(--orange);margin-bottom:.3rem}.files-row>span{padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-glyph{font-family:MesloLGS NF,Inconsolata,monospace;font-size:.95rem;line-height:1;color:var(--console-white, var(--butter))}.files-glyph-dir,.files-type-dir .files-name{color:var(--console-yellow, var(--harvestgold));font-weight:700}.files-glyph-file,.files-type-file .files-name{color:var(--console-white, var(--butter))}.files-glyph-link,.files-type-link .files-name{color:var(--console-cyan, var(--daybreak))}.files-glyph-plugin,.files-type-plugin .files-name{color:var(--console-green, var(--honey));font-weight:700}.files-glyph-pipeline,.files-type-pipeline .files-name{color:var(--console-magenta, var(--honey));font-weight:700}.files-glyph-vfs,.files-type-vfs .files-name{color:var(--console-magenta, var(--harvestgold));font-weight:700}.files-glyph-job,.files-type-job .files-name{color:var(--console-cyan, var(--harvestgold));font-weight:700}.files-name{color:var(--console-white, var(--butter))}.files-version{color:var(--console-white, var(--butter));font-variant-numeric:tabular-nums}.files-run-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;min-width:0;padding:.3rem var(--roster-pad, 6px) .4rem;margin-right:calc(var(--elbow-clear, 0px) + .5rem)}.files-binding{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.files-command{flex:1 1 14em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.files-command:focus{border-color:var(--harvestgold)}.files-feed{flex:none;border:none}.files-body.files-catalogue .files-home,.files-body.files-catalogue .files-back,.files-body.files-catalogue .files-mkdir,.files-body.files-catalogue .files-upload,.files-body.files-catalogue .files-select{display:none}.files-capsule,.listing-capsule,.listing-control.pacs-fold{display:inline-flex;align-items:center;justify-content:center;align-self:center;box-sizing:border-box;min-height:24px;margin:2px 0;padding:.1rem .7rem;border-radius:.8rem;background:color-mix(in srgb,var(--harvestgold) 38%,transparent);color:#000;font-family:var(--face-label);font-weight:700;font-size:.62rem;letter-spacing:.1em;line-height:1;cursor:pointer;transition:background-color .12s ease-out}.files-capsule:hover,.listing-capsule:hover,.listing-control.pacs-fold:hover{background:var(--harvestgold)}.files-control.files-capsule{font-family:MesloLGS NF,Inconsolata,monospace;font-size:.95rem;letter-spacing:0;padding:.1rem .5rem;color:#000}.files-control.files-capsule.files-glyph-dir{background:var(--console-yellow, var(--harvestgold))}.files-control.files-capsule.files-glyph-file,.files-control.files-capsule.files-glyph-job{background:var(--console-white, var(--butter))}.files-control.files-capsule.files-glyph-link{background:var(--console-cyan, var(--daybreak))}.files-control.files-capsule.files-glyph-plugin{background:var(--console-green, var(--honey))}.files-control.files-capsule.files-glyph-pipeline,.files-control.files-capsule.files-glyph-vfs{background:var(--console-magenta, var(--honey))}.listing-framed .listing-indicated .files-capsule,.listing-framed .listing-indicated .listing-capsule,.listing-framed .listing-indicated .listing-control.pacs-fold{background:#00000047}.listing-framed .listing-indicated .files-capsule:hover,.listing-framed .listing-indicated .listing-capsule:hover,.listing-framed .listing-indicated .listing-control.pacs-fold:hover{background:#000;color:var(--harvestgold)}.files-type{color:var(--honey);font-size:.7rem;letter-spacing:.04em;opacity:.85}.files-size,.files-owner,.files-date{color:var(--pumpkin-pie);text-align:right;white-space:nowrap}.files-activatable{cursor:pointer}.files-activatable:hover>span{background:color-mix(in srgb,var(--harvestgold) 18%,transparent)}.files-content-header{display:flex;align-items:center;gap:.5rem}.files-content-header>span:first-child{flex:1 1 auto;min-width:0}.files-close-pill{border:none;background:var(--mars);color:#000;font-family:inherit;font-size:.6rem;font-weight:700;letter-spacing:.1em;border-radius:.6rem;padding:.1rem .8rem;cursor:pointer}.files-close-pill:hover{filter:brightness(1.3)}.files-image{display:block;flex:1 1 0;min-height:0;width:100%;max-width:100%;align-self:stretch;object-fit:contain;margin:.5rem 0}.files-body{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.files-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.6rem;padding:.3rem .5rem .6rem 0}.files-card{background:linear-gradient(135deg,#161616,#070707);border:2px solid var(--october-sunset);border-radius:10px;padding:.55rem .7rem;min-width:0;transition:border-color .15s,transform .15s}.files-card.files-activatable{cursor:pointer}.files-cards.files-previews{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.files-card-thumb{height:6.5rem;margin:-.55rem -.7rem .45rem;border-radius:8px 8px 0 0;background-color:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:2rem}.files-card-thumb.thumb-wait{opacity:.45}.files-card-thumb svg{width:100%;height:100%;color:var(--harvestgold)}.files-card-thumb.thumb-count{font-size:.8rem;letter-spacing:.12em}.files-target{margin-left:.6em;opacity:.6;font-size:.85em}.files-card-target{margin-top:.25rem;color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-card-thumb img{width:100%;height:100%;object-fit:cover}.files-card-thumb pre{margin:0;padding:.3rem .5rem;width:100%;height:100%;font:.55rem/1.3 Share Tech Mono,monospace;color:var(--honey);white-space:pre;overflow:hidden;overscroll-behavior:contain;text-align:left}.files-card-thumb pre::-webkit-scrollbar{width:6px;height:6px}.files-card-thumb pre::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--honey) 45%,transparent);border-radius:3px}.files-card:hover .files-card-thumb pre::-webkit-scrollbar-thumb{background:var(--honey)}.files-card.files-activatable:hover{border-color:var(--honey);transform:translateY(-2px)}.files-card-up{display:flex;align-items:center;color:var(--pumpkin-pie);font-family:var(--face-label);letter-spacing:.08em}.files-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.files-card-badge{background:var(--harvestgold);color:#000;border-radius:9px;padding:0 .6rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.12em;line-height:1.6}.files-card.files-type-plugin .files-card-badge{background:var(--daybreak)}.files-card.files-type-pipeline .files-card-badge{background:var(--orange)}.files-card.files-type-dir .files-card-badge,.files-card.files-type-vfs .files-card-badge,.files-card.files-type-job .files-card-badge{background:var(--butter)}.files-card-size{color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.68rem}.files-card-title{color:var(--honey);font-family:var(--face-label);font-size:.95rem;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-card-meta{display:flex;justify-content:space-between;margin-top:.3rem;color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.66rem}.files-content-view{display:flex;flex-direction:column;min-height:100%}.dag-scene-canvas{display:block;width:100%!important;height:100%!important}.files-diagram{flex:1 1 0;min-height:14rem;position:relative;overflow:hidden}.files-diagram-empty{display:flex;align-items:center;justify-content:center;color:var(--pumpkin-pie);font-family:var(--face-label);letter-spacing:.1em}.man-head{color:var(--harvestgold);font-weight:600}.man-key{color:var(--honey)}.man-flag{color:var(--daybreak)}.man-str{color:var(--orange)}.files-content.files-json .json-key{color:var(--daybreak)}.files-content.files-json .json-string{color:var(--butter)}.files-content.files-json .json-number{color:var(--orange)}.files-content.files-json .json-literal{color:var(--honey)}.files-panel>.files-content{flex:1 1 0;min-height:0;overflow:auto}.files-content{margin:0;padding:.4rem 0;font-family:MesloLGS NF,Inconsolata,Courier New,monospace;font-size:.7rem;line-height:1.35;color:var(--butter);white-space:pre-wrap;word-break:break-word;text-shadow:0 0 5px rgb(255 238 204 / 30%)}.doc-rendered,.files-content.doc-rendered{padding:.4rem .6rem 1rem .2rem;font-family:var(--face-label);font-size:.95rem;letter-spacing:.02em;line-height:1.45;color:var(--butter);white-space:normal;word-break:normal;overflow-wrap:anywhere;text-shadow:none}.doc-rendered h1,.doc-rendered h2,.doc-rendered h3,.doc-rendered h4,.doc-rendered h5,.doc-rendered h6{margin:1.1em 0 .4em;color:var(--harvestgold);font-weight:600;letter-spacing:.06em;text-align:left;text-transform:uppercase;line-height:1.2}.doc-rendered h1{font-size:1.6rem;border-bottom:3px solid var(--orange);padding-bottom:.2em}.doc-rendered h2{font-size:1.3rem;color:var(--orange)}.doc-rendered h3{font-size:1.1rem}.doc-rendered h4,.doc-rendered h5,.doc-rendered h6{font-size:1rem;color:var(--honey)}.doc-rendered>:first-child{margin-top:.2em}.doc-rendered p,.doc-rendered ul,.doc-rendered ol,.doc-rendered dl,.doc-rendered table,.doc-rendered blockquote,.doc-rendered pre{margin:0 0 .7em}.doc-rendered ul,.doc-rendered ol{padding-left:1.4em}.doc-rendered li::marker{color:var(--orange)}.doc-rendered dt{color:var(--honey)}.doc-rendered dd{margin-left:1.4em}.doc-rendered strong{color:var(--honey)}.doc-rendered a[href]{color:var(--harvestgold);text-decoration:underline}.doc-rendered .doc-link-local{color:var(--daybreak)}.doc-rendered .doc-image{color:var(--pumpkin-pie);font-style:italic}.doc-rendered hr{border:none;border-top:2px solid var(--orange);margin:1em 0}.doc-rendered code,.doc-rendered pre{font-family:MesloLGS NF,Inconsolata,Courier New,monospace;font-size:.8em;letter-spacing:0;color:var(--honey)}.doc-rendered pre{padding:.5em .7em;border-left:4px solid var(--orange);background:color-mix(in srgb,var(--orange) 7%,transparent);white-space:pre-wrap}.doc-rendered blockquote,.doc-rendered .quoteblock{margin-left:0;padding-left:.8em;border-left:4px solid var(--daybreak);color:var(--daybreak)}.doc-rendered table{border-collapse:collapse}.doc-rendered th,.doc-rendered td{padding:.2em .6em;border:1px solid color-mix(in srgb,var(--orange) 45%,transparent);text-align:left;vertical-align:top}.doc-rendered th,.doc-rendered thead td{color:var(--harvestgold)}.doc-rendered td>p:last-child,.doc-rendered td .paragraph:last-child p{margin-bottom:0}.doc-rendered .admonitionblock>table{border:none}.doc-rendered .admonitionblock td{border:none}.doc-rendered .admonitionblock td.icon{padding-right:.8em;border-right:4px solid var(--honey);color:var(--honey);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.doc-rendered .admonitionblock.warning td.icon,.doc-rendered .admonitionblock.caution td.icon{border-right-color:var(--state-error);color:var(--state-error)}.doc-rendered .admonitionblock.tip td.icon{border-right-color:var(--daybreak);color:var(--daybreak)}.doc-rendered #doc-toc,.doc-rendered .toc{margin-bottom:1em;padding:.4em .8em;border-left:4px solid var(--harvestgold)}.doc-rendered #doc-toctitle,.doc-rendered .title{color:var(--pumpkin-pie);text-transform:uppercase;letter-spacing:.08em;font-size:.85em}.doc-rendered .sectlevel1,.doc-rendered .sectlevel2{list-style:none;padding-left:.8em}.data-column{transition:filter .3s ease}.dc-sweep{filter:brightness(1.6)}.dc-sweep>div{color:var(--butter)!important;text-shadow:0 0 8px rgb(255 238 204 / 60%)}#data-cascade.dc-stale{filter:brightness(.45) saturate(.5)}.banner{font-size:clamp(1.1rem,1.4vw,1.8rem);padding-bottom:.2rem}.header-face{display:none;padding:.2rem .5rem;columns:3;column-gap:2rem;font-family:Share Tech Mono,monospace;font-size:.75rem;letter-spacing:.06em;height:var(--header-band-h, 19vh);max-height:var(--header-band-h, 19vh);overflow:hidden auto}.header-gather-field{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);transition:padding-right .22s ease-out}.header-gather-field .gather-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:auto;scrollbar-width:none;padding-top:calc(var(--rule-h) + .3rem);--roster-gap: .6rem;--roster-pad: .4rem}.header-gather-field .gather-more{position:absolute;margin:0;right:calc(var(--spine-w) + .6rem);bottom:.4rem;z-index:3;padding:.25rem .9rem;border:none;border-radius:999px;background:var(--butter);color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 0 4px #000}.header-gather-field .gather-more:hover{background:var(--harvestgold)}.header-gather-field .gather-rows>.roster-order{position:sticky;top:0;z-index:2;flex:none;background:#000}.gather-state{flex:none;padding:0 .6rem .2rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.1em;color:var(--butter)}button.panel-gather{flex:none;min-height:3.2rem;align-items:flex-end;justify-content:flex-end;white-space:nowrap;border-bottom:8px solid #000}button.panel-gather.panel-gather-empty{background-color:color-mix(in srgb,var(--harvestgold) 38%,#000);color:color-mix(in srgb,#000 70%,var(--harvestgold))}body[data-header=stats] #header-telemetry{display:block}body[data-header=gather] #header-gather{display:flex;flex-direction:column;columns:auto;flex:1 1 100%;width:100%;min-width:0}body[data-header=away] .wrap:not(#gap){position:absolute;inset:0 0 auto;translate:0 -100%}#header-restore,body[data-zoom] .headtrim,body[data-zoom] .baseboard{display:none}body[data-zoom]:not([data-zoom=console]) #drawer-toggle,body[data-zoom]:not([data-zoom=console]) #status-strip,body[data-zoom]:not([data-zoom=console]) .right-frame:before{display:none}body[data-header=away]:not([data-zoom]) #gap,body[data-zoom]:not([data-zoom=console]) #gap{margin-top:12px}body[data-header=away] #header-restore,body[data-zoom] #header-restore{display:block;position:fixed;top:0;left:20%;right:20%;height:12px;z-index:1000;border-radius:0 0 6px 6px;background-color:var(--october-sunset);cursor:pointer;animation:beckon 3.5s ease-in-out infinite}#header-restore:hover{animation:none;background-color:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.header-controls{column-span:all;display:flex;gap:.7rem;margin-bottom:.3rem}.lane-stop{flex:none;margin-left:auto;padding:0 .6rem;border:none;border-radius:0 999px 999px 0;background:var(--state-error);color:#000;font:inherit;font-size:.8em;cursor:pointer}.telemetry-row{display:flex;align-items:center;gap:.7rem;break-inside:avoid;margin-bottom:.2rem;min-width:0}.telemetry-label{flex:none;min-width:9.5rem;padding:0 .7rem;border-radius:.6rem 0 0 .6rem;background-color:var(--honey);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;line-height:1.2rem;letter-spacing:.08em;text-align:right;text-transform:uppercase}#header-about .telemetry-label{background-color:var(--october-sunset)}:root[data-theme=medical] #header-about .telemetry-label,:root[data-theme=pharos] #header-about .telemetry-label{color:var(--butter)}.telemetry-value{color:var(--daybreak);font-size:.9rem;min-width:0}#header-dag-info .telemetry-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.about-footer{column-span:all;margin-top:.15rem;padding-bottom:0;padding-left:0;font-size:.62rem;line-height:1.3;opacity:.75}.audio-pill,.theme-pill,.door-pill,.share-pill{padding:.1rem .9rem;border:none;border-radius:.8rem;color:#000;font-family:var(--face-label);font-weight:700;font-size:.75rem;letter-spacing:.1em;cursor:pointer}.audio-pill{background-color:var(--state-done)}.theme-pill{background-color:var(--harvestgold)}.door-pill,.share-pill{background-color:var(--orange)}.restart-pill{background-color:var(--butter)}.audio-pill:hover,.theme-pill:hover,.door-pill:hover,.share-pill:hover{filter:brightness(1.3);box-shadow:0 0 8px currentcolor}.audio-pill.audio-off{background-color:var(--state-error)}.audio-pill.audio-off:after{content:" OFF"}:root{--butter: #fec;--daybreak: #f91;--harvestgold: #fa4;--honey: #fc9;--october-sunset: #f40;--orange: #f70;--pumpkin-pie: #c50}:root[data-theme=gold]{--butter: #fff3cd;--daybreak: #fc3;--harvestgold: #ffd75e;--honey: #ffe49c;--october-sunset: #c99700;--orange: #e9b200;--pumpkin-pie: #a07800}:root[data-theme=medical]{--butter: #dff5fd;--daybreak: #7edcf7;--harvestgold: #1ebef0;--honey: #7fd9f7;--october-sunset: #30619d;--orange: #1d7bb9;--pumpkin-pie: #0f3566}:root[data-theme=nemesis]{--butter: #f0e4fc;--daybreak: #cfa0ff;--harvestgold: #d0a8f0;--honey: #e0c8f8;--october-sunset: #8c5fc0;--orange: #b48ae0;--pumpkin-pie: #7a4ea8}:root[data-theme=pharos]{--butter: #dff5fd;--daybreak: #7edcf7;--harvestgold: #1ebef0;--honey: #7fd9f7;--october-sunset: #30619d;--orange: #1d7bb9;--pumpkin-pie: #0f3566;--face-label: "Chakra Petch", "Arial Narrow", sans-serif;--face-data: "JetBrains Mono", "MesloLGS NF", monospace;--elbow-radius: 0;--elbow-inner-radius: 0;--radius-top: 0;--radius-bottom: 0;--radius-content-top: 0;--radius-content-bottom: 0;--pharos-lit: rgba(255, 255, 255, .55);--pharos-cut: 9px;--pharos-cut-small: 5px;--pharos-inset: 18px;--pharos-flank: 26px}[data-theme=pharos] body{font-family:var(--face-label)}[data-theme=pharos] .listing-row,[data-theme=pharos] .roster-filter-input{font-family:var(--face-data)}[data-theme=pharos] .left-frame-top .panel-1,[data-theme=pharos] .left-frame-top .panel-2,[data-theme=pharos] .left-frame-top .panel-gather,[data-theme=pharos] .left-frame button[class^=panel-],[data-theme=pharos] .left-frame .panel-spacer,[data-theme=pharos] .lcars-bar-horizontal,[data-theme=pharos] .lcars-bar-end,[data-theme=pharos] .mode-strip,[data-theme=pharos] .mode-fill{box-shadow:inset 0 3px 0 var(--pharos-lit)}[data-theme=pharos] .left-frame button[class^=panel-]{clip-path:polygon(var(--pharos-cut) 0,100% 0,100% 100%,0 100%,0 var(--pharos-cut));transition:margin-left .18s ease-out,width .18s ease-out}[data-theme=pharos] .roster-cap,[data-theme=pharos] .roster-cap:first-of-type,[data-theme=pharos] .roster-cap:last-of-type,[data-theme=pharos] .strategy-pill,[data-theme=pharos] .listing-action,[data-theme=pharos] .pacs-capsule,[data-theme=pharos] .ask-capsule,[data-theme=pharos] .theme-pill,[data-theme=pharos] .audio-pill,[data-theme=pharos] .telemetry-label,[data-theme=pharos] .lamp-online,[data-theme=pharos] .lamp-host,[data-theme=pharos] .lamp-question,[data-theme=pharos] .lamp-offline{border-radius:0;clip-path:polygon(0 0,calc(100% - var(--pharos-cut-small)) 0,100% var(--pharos-cut-small),100% 100%,0 100%)}[data-theme=pharos] .pacs-capsule,[data-theme=pharos] .listing-action,[data-theme=pharos] .strategy-pill{white-space:nowrap;letter-spacing:.04em}[data-theme=pharos] body[data-focus=files] #gutter-files,[data-theme=pharos] body[data-focus=dag] #gutter-runs,[data-theme=pharos] body[data-focus=pacs] #gutter-tools{margin-left:var(--pharos-inset);width:calc(var(--lfw) - var(--pharos-inset))}[data-theme=pharos] .left-frame-top{position:relative;overflow:hidden}[data-theme=pharos] .left-frame-top:after{content:"";position:absolute;left:0;bottom:0;width:78px;height:78px;pointer-events:none;background:radial-gradient(circle at 0 100%,var(--butter) 0 11px,transparent 11.5px),repeating-radial-gradient(circle at 0 100%,var(--butter) 0 2px,transparent 2px 9px);clip-path:circle(78px at 0 100%);animation:pharos-lamp 5s ease-in-out infinite}@keyframes pharos-lamp{0%,to{opacity:.55}50%{opacity:1}}[data-theme=pharos] .wrap-all{border-left:3px solid var(--october-sunset);border-radius:var(--pharos-flank) 0 0 var(--pharos-flank)}[data-theme=pharos] .left-frame-top{border-top-left-radius:calc(var(--pharos-flank) - 3px)}[data-theme=pharos] .left-frame>div:last-child .panel-7{clip-path:none;border-bottom-left-radius:calc(var(--pharos-flank) - 3px)}[data-theme=pharos] .lcars-bar-horizontal{border-radius:0}[data-theme=pharos] .lcars-bar-end{border-radius:0;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 100%,0 100%)}[data-theme=pharos] .mode-elbow,[data-theme=pharos] .mode-elbow:after{border-top-right-radius:0}[data-theme=pharos] .mode-strip,[data-theme=pharos] .mode-fill{border-radius:0}[data-theme=pharos] .listing-indicated>span:first-child,[data-theme=pharos] .listing-indicated>span:nth-child(2){text-shadow:none}[data-theme=pharos] .listing-action:hover:not(:disabled),[data-theme=pharos] .audio-pill:hover,[data-theme=pharos] .theme-pill:hover,[data-theme=pharos] .pacs-capsule:hover{box-shadow:none;filter:brightness(1.15)}@media(prefers-reduced-motion:reduce){[data-theme=pharos] .left-frame-top:after{animation:none}[data-theme=pharos] .left-frame button[class^=panel-]{transition:none}}[data-theme=pharos] body,[data-theme=pharos] .banner,[data-theme=pharos] h1,[data-theme=pharos] a,[data-theme=pharos] button,[data-theme=pharos] #status-strip,[data-theme=pharos] .dag-node-tip,[data-theme=pharos] .feedlist-refusal,[data-theme=pharos] .telemetry-label,[data-theme=pharos] .lcars-bar-horizontal{text-transform:lowercase}[data-theme=pharos] .listing-row,[data-theme=pharos] .argus-output,[data-theme=pharos] #pacs-results,[data-theme=pharos] #files-results,[data-theme=pharos] #pipeline-cycler-name,[data-theme=pharos] input,[data-theme=pharos] textarea,[data-theme=pharos] select,[data-theme=pharos] .about-footer,[data-theme=pharos] .about-footer a{text-transform:none}#drawer{display:flex;flex-direction:column;flex:none;height:28vh;min-height:0;overflow:hidden}#drawer.drawer-closed{height:0}.lcars-terminal-header-bar{flex:none;display:flex;min-width:0;height:28px;align-items:flex-end}.lcars-bar-horizontal{flex:1;min-width:0;height:28px;background-color:var(--harvestgold);display:flex;align-items:center;justify-content:space-between;padding-inline:1rem;color:#000;font-weight:700;text-transform:uppercase;font-family:var(--face-label);font-size:.8rem;letter-spacing:1px}.lcars-bar-horizontal>.lcars-title{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lcars-bar-horizontal>.pane-mode,.lcars-bar-horizontal>.pane-state{flex:none;white-space:nowrap}.lcars-terminal-status{font-size:.6rem;opacity:.8;margin-left:1rem;font-family:Share Tech Mono,monospace;text-transform:none}#console-drawer .pacs-capsule.console-stop{background-color:var(--state-error);color:#000}#console-drawer .pacs-capsule.console-stop[hidden]{display:none}.lcars-bar-end{width:60px;height:28px;background-color:var(--harvestgold);border-radius:0 14px 14px 0;margin-left:.5rem}#terminal{flex:1;min-height:0;display:flex}.argus-screen{flex:1;min-width:0;background-color:#000;padding:.8rem 1rem;display:flex;flex-direction:column;font-family:JetBrainsMono NF Mono,MesloLGS NF,monospace;color:var(--daybreak)}.argus-terminal-mount,#terminal.console-terminal .argus-screen{display:none}#terminal.console-terminal .argus-terminal-mount{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background-color:#000;padding:.5rem .8rem;font-family:JetBrainsMono NF Mono,MesloLGS NF,monospace;font-size:.75rem;color:var(--daybreak)}.argus-xterm{flex:1;min-height:0}.argus-xterm-keys{display:none;gap:.4rem;padding-top:.4rem}@media(pointer:coarse){.argus-xterm-keys{display:flex}}.argus-xterm-key{flex:1;border:0;border-radius:.8rem;padding:.3rem 0;background:var(--orange);color:#000;font-family:var(--face-label)}.argus-xterm-key.held{background:var(--daybreak)}.argus-output{flex:1;overflow-y:auto;margin-bottom:.5rem;font-size:.75rem;line-height:1.35;letter-spacing:1px;white-space:pre-wrap;word-break:break-word}.argus-line{min-height:1em}.argus-echo .user-input,.user-input{color:var(--butter);text-shadow:none}.argus-echo .prompt-glyph{color:var(--sky, #9cf)}.argus-result.error{color:#f24444}.argus-banner-line{opacity:.9}.argus-splash{display:flex;align-items:center;gap:1.5rem;margin-bottom:.4rem}.argus-splash-brain{flex:none;margin:0;font-size:.42em;line-height:1;letter-spacing:0;white-space:pre;opacity:.9}.argus-splash-greeting{flex:1 1 auto;min-width:0}.pane-universe:not(.universe-inside) .universe-open,.pane-universe:not(.universe-inside):not(.universe-cluster) .universe-back,.universe-facts[hidden]{display:none}.pane-universe:not(.universe-inside) .universe-feed,.pane-universe.universe-inside :is(.universe-view,.universe-scale,.universe-arrangement,.universe-replay,.universe-refresh){display:none}.universe-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.universe-node-verbs,.feed-node-verbs{display:flex;gap:.4rem;margin-top:.35rem}.argus-greeting-line{white-space:pre-wrap;min-height:1em}.dim{opacity:.45}.argus-progress{flex:none;font-size:.7rem;letter-spacing:0;text-shadow:none;line-height:1.6}.argus-progress-row{display:flex;align-items:center;gap:.5rem;color:var(--butter);opacity:.85}.argus-progress-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.argus-progress-counts{opacity:.6}.argus-progress-elapsed{flex:none;opacity:.5;font-variant-numeric:tabular-nums}.argus-progress-spin{flex:none;width:.6rem;height:.6rem;border:2px solid var(--pumpkin-pie);border-top-color:transparent;border-radius:50%;animation:argus-progress-turn .8s linear infinite}.argus-progress-bar{flex:2;height:.4rem;background:#ffffff1f;border-radius:.2rem;overflow:hidden}.argus-progress-fill{display:block;height:100%;width:0;background:var(--pumpkin-pie);transition:width .12s linear}@keyframes argus-progress-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.argus-progress-spin{animation:none}.argus-progress-fill{transition:none}}.argus-prompt-bar{flex:none;font-size:.7rem;letter-spacing:0;text-shadow:none;line-height:1.5;white-space:pre;overflow-x:hidden}.argus-input-line{flex:none;display:flex;align-items:center;border-top:1px solid var(--pumpkin-pie);padding-top:.4rem;margin-top:.2rem}.argus-input-glyph{color:#00d787;font-size:.8rem}.argus-input-line input{background:transparent;border:none;color:var(--butter);font-family:inherit;font-size:.75rem;letter-spacing:1px;flex:1;outline:none;margin-left:.6rem}#drawer-strip{position:relative;flex:none;height:4px;margin:3px 0;background:var(--pumpkin-pie);border-radius:0;cursor:row-resize;touch-action:none;z-index:6}#drawer-strip:before{content:"";position:absolute;inset:-14px 0 -8px}#drawer-strip:hover,#drawer-strip:active{animation:none;background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}#drawer-toggle{cursor:pointer}@keyframes beckon{0%,to{filter:brightness(1)}50%{filter:brightness(1.2);box-shadow:0 0 8px #ff770073}}@keyframes beckon-mars{0%,to{filter:brightness(1);box-shadow:none}50%{filter:brightness(1.3);box-shadow:0 0 10px #f229}}.attach-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000000e0;z-index:100}.attach-hidden{display:none}.attach-card{width:20rem;border:2px solid var(--orange);border-radius:1.2rem 0;padding:1.2rem 1.4rem;background:#000}.attach-card h1{margin:0 0 .3rem;color:var(--orange);letter-spacing:.2em}.attach-card p{margin:0 0 .7rem;font-size:.7rem;color:var(--honey)}.attach-card input{width:100%;background:#111;color:var(--butter);border:1px solid var(--harvestgold);border-radius:4px;padding:.4rem .5rem;font-family:inherit;font-size:.75rem;letter-spacing:.1em;margin-bottom:.6rem;box-sizing:border-box}.attach-card button{background:var(--orange);color:#000;border:none;border-radius:.65rem;padding:.4rem 1.1rem;font-family:inherit;font-size:.75rem;font-weight:700;letter-spacing:.1em;cursor:pointer}.attach-card button:hover{filter:brightness(1.15)}.attach-error{color:var(--state-error);min-height:1.2em;margin-top:.5rem}.domain-inert{background-color:color-mix(in srgb,var(--inert-ground, var(--october-sunset)) 50%,#000);color:var(--butter)}.panel-1.domain-inert,.panel-4.domain-inert,.panel-spacer.domain-inert{--inert-ground: var(--orange)}.panel-2.domain-inert,.panel-3.domain-inert,.panel-6.domain-inert{--inert-ground: var(--october-sunset)}.panel-5.domain-inert,.panel-7.domain-inert{--inert-ground: var(--harvestgold)}.pacs-study-progress{display:block;min-width:0}.listing-control.pacs-fold-none{background:transparent;cursor:default}.pacs-fold:before{content:"OPEN"}.listing-group.listing-open>.listing-row>.pacs-fold:before{content:"CLOSE"}.pacs-fold.pacs-fold-none:before{content:""}.pacs-capsule-study{background-color:var(--october-sunset);color:#000}.pacs-capsule-study:hover{box-shadow:0 0 8px var(--october-sunset)}.pacs-bar-full{min-width:2rem;height:.45rem;border-radius:.25rem;background:var(--state-done)}.pacs-waiting{display:flex;align-items:center;gap:.7rem;padding:.6rem .2rem}.pacs-waiting .pacs-bar{flex:0 0 12rem}.pacs-waiting-note{color:var(--harvestgold);font-family:var(--face-label);letter-spacing:.12em;font-size:.8rem}.pacs-bar{position:relative;flex:1 1 auto;min-width:2rem;height:.45rem;border-radius:.25rem;background:color-mix(in srgb,var(--state-running) 18%,transparent);overflow:hidden}.listing-framed .listing-indicated .pacs-bar{background:#000}.listing-framed .listing-indicated .pacs-bar-fill{background:var(--state-running)}.pacs-bar-fill{display:block;width:0;height:100%;border-radius:.25rem;background:var(--state-running);transition:width .25s linear}.pacs-bar-pacing .pacs-bar-fill{width:35%;animation:pacs-pace 1.4s ease-in-out infinite}@keyframes pacs-pace{0%{transform:translate(-100%)}to{transform:translate(300%)}}#lang-palette{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:1200;display:flex;align-items:stretch;width:min(52rem,70vw);height:30px;background:#000}#lang-palette[hidden]{display:none}.lang-glyph{display:flex;align-items:center;padding:0 .9rem 0 1.1rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.8rem;letter-spacing:.12em;border-radius:0 0 0 14px}#lang-input{flex:1;background:transparent;border:none;border-bottom:2px solid var(--pumpkin-pie);outline:none;padding:0 .7rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.78rem;letter-spacing:.04em}#lang-palette:after{content:"";width:34px;background:var(--harvestgold);border-radius:0 0 14px}#lang-result{position:absolute;top:100%;left:0;right:0;padding:.25rem .9rem;color:var(--honey);font-family:Share Tech Mono,monospace;font-size:.72rem;white-space:pre-wrap;background:#000000eb;border-bottom:1px solid color-mix(in srgb,var(--orange) 55%,transparent)}#lang-result:empty{display:none}.left-frame .panel-lang{display:flex;justify-content:flex-end;height:auto;flex:1.2 1 0;min-height:2.4rem;padding:var(--left-frame-padding);background-color:var(--harvestgold);border-bottom:var(--panel-border)}.left-frame .panel-console{display:flex;justify-content:flex-end;height:auto;flex:2 1 0;min-height:3rem;padding:var(--left-frame-padding);background-color:var(--october-sunset);border-bottom:var(--panel-border)}.left-frame .panel-lang.lang-live{background-color:var(--butter)}#drawer~.bar-panel{flex-wrap:nowrap;cursor:pointer}#drawer~.bar-panel:hover .bar-10{filter:brightness(1.2)}#drawer.drawer-closed~.bar-panel .bar-10{animation:lid-beckon 3.5s ease-in-out infinite}@keyframes lid-beckon{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}.feedlist-size,.feedlist-time{text-align:right;font-family:Share Tech Mono,monospace}.dag-roster .roster-cap[data-key=sizeBytes],.dag-roster .roster-cap[data-key=wallSeconds]{text-align:right}.files-body .diagram-strategy,.files-body .diagram-projection,.files-body .diagram-pulse,.files-body.diagram-shown .files-view,.files-body.diagram-shown .files-filter,.files-body.diagram-shown .files-home,.files-body.diagram-shown .files-back,.files-body.diagram-shown .files-mkdir,.files-body.diagram-shown .files-upload,.files-body.diagram-shown .files-select,.files-body.diagram-shown .files-row-zone{display:none}.files-row-selected .files-name,.files-row-selected .files-glyph,.files-row-selected .files-type,.files-row-selected .files-size{background:color-mix(in srgb,var(--butter) 22%,transparent);color:var(--butter)}.files-body.diagram-shown .diagram-strategy,.files-body.diagram-shown .diagram-projection,.files-body.diagram-shown .diagram-pulse{display:block}.files-body .diagram-run{display:none}.files-body.files-catalogue.diagram-shown .diagram-run{display:block;background-color:var(--october-sunset);color:#000}.telemetry-input{flex:1 1 8em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.1rem .5rem;outline:none}.telemetry-input:focus{border-color:var(--harvestgold)}.telemetry-input[type=checkbox]{flex:none;width:1rem;height:1rem;accent-color:var(--harvestgold)}.telemetry-hint{flex:none;color:var(--honey);font-size:.7rem;opacity:.8}.mode-frame .strategy-pill.diagram-pulse.pulse-running{background-color:var(--october-sunset);color:#000}.dag-facts-immersed{max-width:72%;max-height:70%;overflow-y:auto;border-left-color:var(--october-sunset)}.pacs-patient{margin-bottom:.9rem}.pacs-patient-row{padding-block:4px;color:var(--harvestgold);border-bottom:2px solid var(--harvestgold);cursor:pointer}.pacs-patient-row:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-patient-row>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-patient-name{color:var(--butter)}.pacs-patient-mrn{color:var(--harvestgold)}.pacs-patient-count,.pacs-patient-server,.pacs-patient-answered{color:var(--pumpkin-pie)}.pacs-unasked,.pacs-patient-unasked .pacs-patient-count{color:var(--mars)}.pacs-patient-progress{display:block;min-width:0}#pacs-results .listing-level[data-depth="1"]{box-shadow:inset 2px 0 #ffcc6659}#pacs-results .listing-level[data-depth="1"] .roster-caps{margin:.35rem 0 .3rem}#pacs-form .pacs-form-field{display:flex;flex-direction:column;gap:.15rem;min-width:0;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}.pacs-server-cell{min-width:0;width:100%;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.8rem;padding:.15rem .5rem;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.pacs-server-cell:hover,.pacs-server-open{border-color:var(--harvestgold);color:var(--harvestgold)}.pacs-server-many{color:var(--october-sunset);border-color:var(--october-sunset)}.pacs-server-strip{display:flex;flex-wrap:wrap;gap:.3rem;padding:.35rem var(--roster-pad) .5rem;margin-bottom:.4rem;border-bottom:2px solid var(--pumpkin-pie)}.pacs-server-segment{background:#000;border:1px solid var(--pumpkin-pie);border-radius:.9rem;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;padding:.1rem .7rem;cursor:pointer}.pacs-server-segment:hover{color:var(--harvestgold);border-color:var(--harvestgold)}.pacs-server-chosen{background:var(--harvestgold);border-color:var(--harvestgold);color:#000}.argus-ask{color:var(--harvestgold)}.ask-glyph{color:var(--butter);margin-right:.35rem}.ask-answer,.argus-ask-answered .ask-glyph{color:var(--pumpkin-pie)}.ask-capsule{background:var(--harvestgold);border:none;border-radius:.9rem;color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;padding:.1rem .9rem;cursor:pointer}.ask-capsule-no{background:var(--october-sunset)}.ask-capsule:hover{filter:brightness(1.3)}.stale-page{position:fixed;top:calc(env(safe-area-inset-top,0px) + 1rem);left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:1rem;max-width:calc(100% - 2rem);padding:.55rem .7rem .55rem 1.1rem;background:#000;border:2px solid var(--pumpkin-pie);border-radius:1.2rem .3rem;color:var(--butter);font-family:var(--face-label);letter-spacing:.08em}.stale-page-words{min-width:0}.stale-page-reload{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;cursor:pointer}.errand-bar{display:flex;align-items:center;gap:.6rem;padding:.35rem .6rem;margin-bottom:.3rem;border-bottom:2px solid var(--october-sunset);flex:none}.errand-caption{color:var(--butter);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;white-space:nowrap;align-self:center}.errand-path{flex:1 1 14em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.75rem;padding:.1rem .5rem;outline:none}.errand-path:focus{border-color:var(--harvestgold)}.errand-commit{background-color:var(--october-sunset)}.pacs-wrote{color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.68rem;letter-spacing:.1em;align-self:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pane-image{display:flex;flex-direction:column;min-height:0}.image-body{position:relative;flex:1 1 0;min-height:0;overflow:hidden}.pane-image[data-modality=MR] .image-body{--harvestgold: var(--daybreak)}.pane-image[data-modality=CT] .image-body{--harvestgold: var(--honey)}.pane-image[data-modality=PT] .image-body{--harvestgold: var(--tomato, #f77)}.pane-image[data-modality=NIFTI] .image-body{--harvestgold: var(--daybreak)}.image-field{position:absolute;top:calc(var(--frame-top) + var(--rule-h));left:0;right:var(--spine-w);bottom:0;background:#000;outline:none;transition:right .22s ease-out}.image-working{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:14rem;padding:1rem 1.4rem;background:#000000b8;border-radius:.4rem;font-family:var(--face-label);letter-spacing:.12em;color:var(--harvestgold);font-size:.75rem;pointer-events:none;z-index:3}.image-working-track{width:100%;height:.35rem;border-radius:.2rem;background:color-mix(in srgb,var(--harvestgold) 22%,transparent);overflow:hidden}.image-working-fill{display:block;height:100%;width:0;border-radius:.2rem;background:var(--harvestgold);transition:width .12s linear}.image-working-fill.image-working-pacing{width:35%;animation:image-pacing 1.1s ease-in-out infinite}@keyframes image-pacing{0%{transform:translate(-100%)}to{transform:translate(285%)}}.image-working-count{font-size:.7rem;color:var(--honey)}.image-working-failed{color:var(--tomato, #f77)}.image-working-failed .image-working-track{display:none}.image-working-failed .image-working-count{color:var(--tomato, #f77);letter-spacing:.04em}.image-overlay-note{position:absolute;left:.8rem;top:.6rem;display:flex;flex-direction:column;gap:.05rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.09em;line-height:1.35;color:var(--honey);text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none;z-index:2}.image-probe-note{position:absolute;left:.8rem;bottom:.6rem;font-family:var(--face-label);font-size:.66rem;letter-spacing:.1em;color:var(--harvestgold);text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none;z-index:2}.pane-image.image-field-focused .image-field{box-shadow:inset 0 0 0 2px var(--harvestgold)}.image-viewport{position:absolute;inset:0}.image-mpr,.image-render{position:absolute;inset:0;display:grid;gap:2px}.image-mpr{grid-template-columns:1fr 1fr 1fr}.image-mpr .image-viewport,.image-render .image-viewport{position:relative;inset:auto;min-width:0;min-height:0}.image-canvas{display:block;width:100%!important;height:100%!important}.mode-frame .image-focus{text-align:right;padding:0 .6rem 0 .4rem;height:1.6rem;line-height:1.6rem;background-color:var(--harvestgold);color:#000}.pane-tags{display:flex;flex-direction:column;min-height:0}.tags-body{--roster-gap: 0px;--roster-pad: 0px;position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.edit-body{position:relative;flex:1 1 0;min-height:0;overflow:hidden}.edit-field{position:absolute;top:calc(var(--frame-top) + var(--rule-h));left:0;right:var(--spine-w);bottom:0;background:#000;overflow:hidden;transition:right .22s ease-out}.edit-field .cm-editor{height:100%}.edit-field .cm-editor.cm-focused{outline:none}.edit-body .mode-frame .strategy-pill:disabled{opacity:.35;cursor:default}.help-body{--roster-gap: 0px;--roster-pad: 0px;position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.help-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.help-panel>.roster-order{position:static;z-index:auto;flex:none}.help-panel>.listing-field{padding-right:.5rem}.help-key{font-family:Share Tech Mono,monospace;color:var(--butter)}.help-does{color:var(--harvestgold)}.help-verb .help-does{color:var(--daybreak)}.help-block-head{margin:.4rem 0 .2rem;color:var(--butter);font-family:var(--face-label);font-size:.68rem;letter-spacing:.08em}.roster-grip{position:absolute;top:-2px;right:-11px;width:20px;height:calc(100% + 4px);cursor:col-resize;touch-action:none;z-index:1}.roster-cap:hover .roster-grip{background:linear-gradient(to right,transparent 9px,#000 9px,#000 11px,transparent 11px)}.roster-grip:hover,.roster-sizing .roster-grip{background:linear-gradient(to right,transparent 8px,var(--harvestgold) 8px,var(--harvestgold) 12px,transparent 12px);filter:brightness(1.35)}@media(pointer:coarse){.roster-grip{background:linear-gradient(to right,transparent 9px,#000 9px,#000 11px,transparent 11px)}}.notes-body{--roster-gap: 0px;--roster-pad: 0px;position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.notes-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.notes-panel>.roster-order{position:static;z-index:auto;flex:none}.notes-panel>.listing-field{padding-right:.5rem}.notes-tag{font-family:Share Tech Mono,monospace;color:var(--butter)}.notes-text{color:var(--harvestgold);white-space:normal}.notes-row-body .notes-text{color:var(--butter);opacity:.75;padding-left:1.2em;white-space:pre-wrap}.notes-row-internal .notes-text,.notes-row-internal .notes-tag{opacity:.5}.notes-block-head{margin:.4rem 0 .2rem;color:var(--butter);font-family:var(--face-label);font-size:.68rem;letter-spacing:.08em}.capacity-body{--roster-gap: 0px;--roster-pad: 0px;position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.capacity-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.capacity-panel>.roster-order{position:static;z-index:auto;flex:none}.capacity-panel>.listing-field{padding-right:.5rem}.capacity-family{color:var(--butter)}.capacity-limit{color:var(--harvestgold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.capacity-zone{color:var(--honey)}.capacity-num{font-family:Share Tech Mono,monospace;color:var(--butter);text-align:right}.capacity-row-full .capacity-num{color:var(--state-error)}.capacity-block-head{margin:.4rem 0 .2rem;color:var(--butter);font-family:var(--face-label);font-size:.68rem;letter-spacing:.08em}.build-mismatch-news{display:block;margin-top:.3rem;color:var(--butter);font-size:.85em}.games-body{position:relative;flex:1 1 0;min-height:0;overflow:hidden}.games-field{position:absolute;top:calc(var(--frame-top) + var(--rule-h));left:0;right:var(--spine-w);bottom:0;background:#000;outline:none;transition:right .22s ease-out}.games-canvas{display:block;width:100%;height:100%}.pane-games.games-field-focused .games-field{box-shadow:inset 0 0 0 2px var(--harvestgold)}.pane-tags[data-modality=MR] .tags-body{--harvestgold: var(--daybreak)}.pane-tags[data-modality=CT] .tags-body{--harvestgold: var(--honey)}.pane-tags[data-modality=PT] .tags-body{--harvestgold: var(--tomato, #f77)}.tags-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tags-panel>.roster-order{position:static;z-index:auto;flex:none}.tags-panel>.listing-field{padding-right:.5rem}.tags-fold{color:var(--harvestgold)}.tags-fold:before{content:"▸"}.listing-group.listing-open>.listing-row>.tags-fold:before{content:"▾"}.tags-fold.tags-fold-none:before{content:""}.tags-group-row{font-weight:700}.tags-tag,.tags-vr{opacity:.7;font-family:monospace}.tags-name,.tags-value-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tags-decoded{opacity:.6}.tags-redacted .tags-phi .tags-value{letter-spacing:.15em;opacity:.6}.tags-note{padding:1rem;opacity:.7}.files-card-thumb.thumb-series{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem}.thumb-series-mark{font-weight:700;letter-spacing:.1em;color:var(--harvestgold)}.thumb-series-text{font-size:.8em;opacity:.8;text-align:center;padding:0 .4rem}@keyframes lcars-breath{0%{filter:brightness(.82)}to{filter:brightness(1.28)}}#header-restore,.mode-strip,.mode-fill{animation:lcars-breath 2.2s ease-in-out infinite alternate}@keyframes lcars-breath-spine{0%{filter:brightness(.45)}to{filter:brightness(1.6)}}.mode-strip{animation:lcars-breath-spine 1.6s ease-in-out infinite alternate}#header-restore{animation-duration:2s}#header-restore:hover,.mode-strip:hover,.mode-fill:hover{animation:none}@media(prefers-reduced-motion:reduce){#drawer.drawer-closed~.bar-panel .bar-10,#header-restore,.mode-strip,.mode-fill,.image-working-fill.image-working-pacing{animation:none!important}}[data-theme=pharos] .left-frame-top,[data-theme=pharos] button.panel-2,[data-theme=pharos] button.panel-3{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}[data-theme=pharos] button.panel-3{border-top-left-radius:0}.launcher-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;position:relative;padding:0 .6rem .6rem .2rem}.launcher-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(min-content,1fr);overflow-y:auto;gap:.85rem;flex:1 1 auto;min-height:0}.launcher-tile{display:flex;flex-direction:column;gap:.45rem;align-items:stretch;text-align:left;border:none;cursor:pointer;padding:.9rem 1.1rem .8rem;border-radius:8px 28px 28px 8px;background-color:var(--tile-hue);color:#000;overflow:hidden}.launcher-tile-wide{grid-column:span 2}.launcher-tile:hover{filter:brightness(1.08)}.launcher-head{display:flex;align-items:baseline;gap:.7rem}.launcher-name{font-family:var(--face-label);font-weight:700;font-size:1.5rem;letter-spacing:.14em}.launcher-tile-wide .launcher-name{font-size:1.9rem}.launcher-numeral{margin-left:auto;font-family:Share Tech Mono,monospace;font-size:.85rem}.launcher-figure{border:none;border-radius:.8rem;padding:.1rem .7rem;background-color:var(--butter);color:#000;font-family:Share Tech Mono,monospace;font-size:.8rem;cursor:inherit}button.launcher-figure{cursor:pointer}.launcher-figure-errored{background-color:var(--state-error);color:#000}.launcher-rule{display:block;height:3px;background-color:#000}.launcher-about{display:flex;flex-direction:column;gap:.3rem;font-family:var(--face-label);font-size:.95rem;line-height:1.3;letter-spacing:.02em;text-align:left;white-space:normal}.launcher-about-list{display:flex;flex-direction:column;gap:.1rem;padding-left:.6rem;font-family:Share Tech Mono,monospace;font-size:.8rem}.launcher-rows{display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.launcher-row{display:flex;align-items:center;gap:.55rem;border:none;background:none;padding:.12rem .3rem;border-radius:.5rem;color:#000;font-family:Share Tech Mono,monospace;font-size:.85rem;text-align:left;cursor:inherit}button.launcher-row{cursor:pointer}button.launcher-row:hover,.launcher-row-arrived{background-color:color-mix(in srgb,#000 12%,var(--tile-hue))}.launcher-row-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launcher-dot{flex:none;width:.5rem;height:.5rem;border-radius:50%;background-color:#000}.launcher-dot-errored{background-color:var(--state-error)}.launcher-go{flex:none;font-family:Share Tech Mono,monospace}.launcher-verb{margin-top:auto;align-self:flex-start;background-color:#000;color:var(--tile-hue);font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.12em;padding:.22rem .85rem;border-radius:.9rem}.launcher-start{position:absolute;right:.9rem;bottom:-.1rem}.panes-body{overflow:auto;padding:.9rem;min-height:0}.panes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;align-content:start}.panes-empty{color:var(--honey);font-family:var(--face-data);font-size:.8rem;padding:1.2rem .4rem}.panes-card{display:grid;grid-template-rows:auto auto auto;gap:.4rem;padding:.6rem;border:none;border-radius:.6rem;background-color:color-mix(in srgb,var(--harvestgold) 14%,transparent);text-align:left;cursor:pointer;position:relative}.panes-card:hover{background-color:color-mix(in srgb,var(--harvestgold) 26%,transparent);box-shadow:0 0 8px var(--harvestgold)}.panes-card-figure{display:block;aspect-ratio:4 / 3;max-width:100%;background-color:#000;border-radius:.3rem;overflow:hidden}.panes-card-figure img{width:100%;height:100%;object-fit:contain;display:block}.panes-card-glyph{display:flex;align-items:center;justify-content:center;color:var(--harvestgold);font-size:2.4rem;line-height:1}.panes-card-label{color:var(--daybreak);font-family:var(--face-label);font-weight:700;font-size:.78rem;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panes-card-badges{display:flex;flex-wrap:wrap;gap:.3rem}.panes-card-badge{font-family:var(--face-label);font-size:.56rem;letter-spacing:.12em;color:#000;background-color:var(--harvestgold);border-radius:.5rem;padding:.05rem .45rem}.panes-card-dismiss{position:absolute;top:.5rem;right:.5rem;border:none;border-radius:.5rem;padding:.05rem .45rem;font-family:var(--face-label);font-size:.56rem;letter-spacing:.12em;color:var(--honey);background-color:color-mix(in srgb,var(--october-sunset) 55%,transparent);cursor:pointer;opacity:0}.panes-card:hover .panes-card-dismiss{opacity:1}.panes-card-dismiss:hover{color:#000;background-color:var(--october-sunset)}.ask-bar{display:flex;align-items:center;gap:.6rem;padding:0 .6rem;flex:none;max-height:0;overflow:hidden;border-bottom:2px solid var(--harvestgold);transition:max-height .16s ease-out,padding .16s ease-out}.ask-bar-choose{flex-wrap:wrap;row-gap:.35rem}.ask-bar-choose.ask-bar-shown{max-height:14rem}.ask-bar-shown{max-height:3rem;padding:.35rem .6rem;margin-bottom:.3rem}.ask-bar-glyph{color:var(--harvestgold);font-family:var(--face-label);font-weight:700;font-size:.85rem}.ask-bar-caption{color:var(--butter);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;white-space:nowrap;align-self:center}.ask-bar-field{flex:1 1 12em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.75rem;padding:.1rem .5rem;outline:none}.ask-bar-field:focus{border-color:var(--harvestgold)}.ask-bar-commit,.ask-bar-yes{background-color:var(--harvestgold)}.ask-bar-no,.ask-bar-abandon{background-color:var(--october-sunset)}.ask-bar-choice{background-color:var(--honey)}.ask-bar-held{opacity:.35;cursor:default}.dag-process{align-self:flex-start;margin-top:.6rem}.files-projection .files-mkdir,.files-projection .files-upload{display:none}.pacs-wrote-opens{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.files-table-view{display:flex;flex-direction:column;flex:1 1 0;min-height:0}.files-table-field{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);transition:padding-right .22s ease-out;--mode-frame-top: 0px}.files-table-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;padding-top:calc(var(--rule-h) + .3rem);--roster-gap: .6rem;--roster-pad: .4rem}.files-table-rows>.roster-order{position:sticky;top:0;z-index:2;flex:none;background:#000}.files-table-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-raw-pill,.files-download-pill{background-color:var(--october-sunset)}.gather-series-study{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header-strip{position:fixed;left:var(--lfw);right:0;height:16px;z-index:40;cursor:ns-resize;background:transparent;touch-action:none}#header-strip:after{content:"";position:absolute;left:50%;top:6px;width:7rem;height:4px;border-radius:2px;transform:translate(-50%);background:color-mix(in srgb,var(--harvestgold) 80%,transparent)}#header-strip:hover:after,#header-strip:active:after{background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}body[data-header=away] #header-strip,body[data-zoom] #header-strip{display:none}@keyframes grip-breathe{0%{opacity:.45}to{opacity:1}}#header-strip:after{animation:grip-breathe 2.2s ease-in-out infinite alternate}#header-strip:hover:after,#header-strip:active:after{animation:none;opacity:1}.head-menu-pill{display:none}@media(min-width:701px)and (max-width:1100px){#about-rows,.header-face{columns:2}.telemetry-label{min-width:4.5rem;padding:0 .4rem}.telemetry-row{gap:.4rem}}@media(max-width:700px){:root{--lfw: 56px;--elbow-radius: 36px;--elbow-inner: 24px;--elbow-inner-radius: 18px;--left-frame-padding: .4rem;--bar-height: 14px}html{font-size:15px}body{padding:6px 0 0 2px}.wrap{padding:0 4px 0 2px}main{padding:14px 0 6px 8px;min-width:0}.right-frame,.right-frame-top{min-width:0}.left-frame .gutter-word,.left-frame-top .hop,.left-frame .hop-dash,.brand-label{display:none}button[class^=panel-]{padding:.35rem;font-size:.85rem}button.panel-1{min-height:56px}button.panel-lang{font-size:.7rem}.banner{font-size:1.3rem}.head-menu-pill{display:inline-block;margin-left:.6rem;padding:0 .7rem;border:none;border-radius:.7rem;background-color:var(--honey);color:#000;font-family:inherit;font-size:1.1rem;font-weight:700;line-height:1.4rem;vertical-align:middle;cursor:pointer}body:not([data-header]) #header-dag,body[data-header=dag] #header-dag{display:none}body[data-head-menu=open]:not([data-header]) #header-dag,body[data-head-menu=open][data-header=dag] #header-dag{display:block;position:fixed;top:3.4rem;left:8px;right:8px;z-index:60;height:auto;max-height:70vh;padding:.6rem;border:2px solid var(--honey);border-radius:.8rem;background-color:#000;columns:1}body[data-head-menu=open] #pipeline-cycler{display:none}#about-rows{columns:1}.telemetry-label{min-width:6.5rem}.header-face{columns:1}.brand-mark{width:2.6rem}.launcher-body{overflow-y:auto}.launcher-grid{grid-template-columns:1fr;grid-auto-rows:max-content}.launcher-tile>*{flex:none}.launcher-tile-wide{grid-column:auto}.launcher-head{flex-wrap:wrap}.launcher-tile-wide .launcher-name,.launcher-name{font-size:1.4rem}}.build-mismatch-dismiss{flex:none;padding:0 .4rem;border:0;background:none;color:inherit;font:inherit;font-size:1.2em;line-height:1;cursor:pointer}.restart-question{align-items:flex-start}.restart-cuts{margin:.45rem 0 0;padding-left:1.1rem}.restart-cuts-lead{list-style:none;margin-left:-1.1rem}.restart-answers{display:flex;flex:none;gap:.5rem}.restart-yes,.restart-no{padding:.15rem .9rem;border:none;border-radius:.8rem;color:#000;font:inherit;font-weight:700;letter-spacing:inherit;cursor:pointer}.restart-yes{background:var(--butter)}.restart-no{background:var(--orange)}.restart-yes:focus-visible,.restart-no:focus-visible{outline:2px solid var(--butter);outline-offset:2px}.listing-row.listing-cursor{outline:2px solid var(--butter);outline-offset:-2px}body:not([data-composition=chris]) [data-composition=chris]{display:none!important}body:not([data-composition=stratus]) [data-composition=stratus]{display:none!important}.transfer-stack{position:fixed;right:3.5rem;bottom:1.5rem;z-index:50;display:flex;flex-direction:column;gap:.4rem;width:min(40rem,calc(100vw - 4.5rem));pointer-events:none}.transfer-row{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name action" "bar action" "words action";column-gap:.7rem;row-gap:.2rem;padding:.45rem .6rem .45rem .9rem;background:#000000e0;border-left:6px solid var(--orange);border-radius:0 1rem 1rem 0;font-family:var(--face-label);font-size:.8rem;letter-spacing:.05em;color:var(--orange)}.transfer-name{grid-area:name;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-bar{grid-area:bar;height:.45rem;border-radius:.25rem;background:#ffffff1f;overflow:hidden}.transfer-fill{display:block;height:100%;width:0;background:var(--orange);transition:width .6s linear}.transfer-row[data-phase=opening] .transfer-fill,.transfer-row[data-phase=ready] .transfer-fill{width:30%!important;animation:transfer-wait 1.4s ease-in-out infinite alternate}@keyframes transfer-wait{0%{margin-left:0}to{margin-left:70%}}@media(prefers-reduced-motion:reduce){.transfer-row[data-phase=opening] .transfer-fill,.transfer-row[data-phase=ready] .transfer-fill{animation:none}}.transfer-words{grid-area:words;font-size:.72rem;color:var(--harvestgold)}.transfer-row[data-phase=done]{border-left-color:var(--harvestgold)}.transfer-row[data-phase=done] .transfer-fill{background:var(--harvestgold)}.transfer-row[data-phase=failed],.transfer-row[data-phase=cancelled]{border-left-color:var(--mars)}.transfer-row[data-phase=failed] .transfer-words,.transfer-row[data-phase=cancelled] .transfer-words{color:var(--mars)}.transfer-action{grid-area:action;align-self:center;border:none;border-radius:.7rem;padding:.15rem .8rem;background:var(--orange);color:#000;font:inherit;font-weight:700;letter-spacing:.1em;cursor:pointer}.transfer-action:disabled{opacity:.5;cursor:default}.share-sheet{position:fixed;left:50%;top:18%;transform:translate(-50%);z-index:10000;width:min(44rem,calc(100vw - 2rem));max-height:64vh;display:flex;flex-direction:column;gap:.6rem;padding:.8rem 1rem;background:#000;border-left:8px solid var(--orange);border-radius:0 1.2rem 1.2rem 0;box-shadow:0 0 24px #000c;font-family:var(--face-label);color:var(--orange)}.share-head{font-weight:700;letter-spacing:.1em;font-size:.85rem}.share-script{margin:0;overflow:auto;min-height:0;padding:.5rem .7rem;background:#ffffff0f;border-radius:.4rem;color:var(--harvestgold);font-family:var(--face-mono, monospace);font-size:.8rem;white-space:pre;-webkit-user-select:all;user-select:all}.share-pills{display:flex;justify-content:flex-end;gap:.6rem}.share-copy,.share-close{border:none;border-radius:.7rem;padding:.15rem 1rem;background:var(--orange);color:#000;font:inherit;font-weight:700;letter-spacing:.1em;cursor:pointer}.share-sheet[data-copied=yes] .share-lines{background:var(--harvestgold)}.share-sheet[data-copied=no] .share-lines{background:var(--mars)}.view-refused{color:var(--mars)}.view-run:disabled{opacity:.4;cursor:default}.takeover{--takeover-log: 9.5rem;position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;padding:10px 0 0 5px;box-sizing:border-box;background:#000;color:var(--honey);font-family:var(--face-label);overflow:hidden}.takeover [hidden]{display:none!important}.takeover button{font-family:var(--face-label);cursor:pointer}.takeover button:disabled{cursor:default}.takeover :focus-visible{outline:2px solid var(--butter);outline-offset:2px}.takeover-top{display:flex;flex:none;width:100%;padding:0 15px 0 5px;box-sizing:border-box}.takeover-wrap{flex:1 1 auto;min-height:0;box-sizing:border-box}.takeover-brand{gap:.3rem}.takeover-brand-words{display:flex;flex-direction:column;align-items:flex-end;min-width:0}.takeover-brand-name{font-size:1.5rem;letter-spacing:.1em;line-height:1}.takeover-brand-sub{font-size:.6rem;letter-spacing:.08em;opacity:.85}.takeover-seat{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:.3rem;padding:var(--left-frame-padding);border-bottom-left-radius:var(--elbow-radius);overflow:hidden}.takeover-seat-pill{border:none;border-radius:.8rem;padding:.15rem .7rem;background:var(--harvestgold);color:#000;font-weight:700;font-size:.75rem;letter-spacing:.06em;opacity:.6;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.takeover-seat-pill[aria-current=true]{background:var(--butter);opacity:1}.takeover-seat-pill[data-condition=FAILED]{background:var(--mars)}.takeover-face{flex:1 1 auto;min-height:0;min-width:0;padding:.2rem .5rem var(--left-frame-padding) .5rem}.takeover-gutter .panel-view{height:auto;flex:2 1 0;min-height:3rem}.panel-view{background-color:var(--orange)}.takeover-view-destroy{background-color:var(--mars)}.takeover-gutter button[class^=panel-]{align-items:flex-end}.takeover-gutter .takeover-view-on:not(.takeover-view-destroy){background-color:var(--butter)}.takeover{--takeover-elbow: var(--october-sunset)}.takeover[data-first-lit=true]{--takeover-elbow: var(--butter)}.takeover-main>.bar-panel>.bar-6{background-color:var(--takeover-elbow)}.takeover-main:before{background-image:linear-gradient(to right bottom,var(--takeover-elbow) 50%,#000 50%)}.takeover-main>.bar-panel{flex:none}.takeover-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.takeover-body{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.takeover-body>*{flex:1 1 0;min-height:0}.takeover-aside{flex:none}.takeover-log{flex:0 0 var(--takeover-log);min-height:0;display:flex;flex-direction:column;padding:.4rem .6rem 0 1.6rem}.trek-bridge{--takeover-log: 7rem;color:var(--butter)}body[data-takeover=trek]{overflow:hidden}body[data-takeover=trek]>*:not(#trek-bridge){visibility:hidden}.tb-seed{background:var(--harvestgold);color:#000;font-size:.7rem;font-weight:700;padding:.15rem .7rem;border-radius:.8rem;letter-spacing:.06em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-header{display:grid;grid-template-columns:12rem repeat(3,minmax(0,1fr));gap:1.2rem;padding:.2rem 0 .4rem;align-items:start}.tb-head-condition{display:flex;flex-direction:column;gap:.4rem}.tb-condition{border-radius:2rem;padding:.4rem 0;display:flex;flex-direction:column;align-items:center;color:#000;background:var(--harvestgold)}.tb-condition[data-condition=red]{background:var(--mars)}.tb-condition[data-condition=yellow]{background:var(--honey)}.tb-condition[data-condition=green]{background:var(--daybreak)}.tb-condition[data-condition=docked]{background:var(--butter)}.tb-condition-label{font-size:.7rem;font-weight:700;letter-spacing:.2em}.tb-condition-name{font-size:1.7rem;font-weight:700;letter-spacing:.25em;line-height:1}.tb-condition-why{font-size:.75rem;letter-spacing:.08em;text-align:center;color:var(--pumpkin-pie)}.tb-head-section{display:flex;flex-direction:column;gap:.35rem;min-width:0}.tb-head-title{font-size:.7rem;letter-spacing:.2em;color:var(--orange)}.tb-head-grid{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.3rem .5rem;align-items:center}.tb-head-label{background:var(--butter);color:#000;border-radius:.8rem;padding:.05rem .5rem;font-size:.65rem;font-weight:700;text-align:right}.tb-head-value{font-size:.85rem;color:var(--face-data-ink, #fec);font-family:var(--face-data);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-head-value.tb-bad,.tb-bad{color:var(--mars)}.tb-head-value.tb-good,.tb-good{color:var(--daybreak)}.tb-body{display:grid;gap:1.2rem;padding:.6rem .6rem .3rem 1.6rem;min-height:0;overflow:hidden}.tb-body[data-view=bridge]{grid-template-columns:17rem minmax(0,1fr) minmax(0,1.2fr)}.tb-body[data-view=bridge]>.tb-view-body{display:none}.tb-body:not([data-view=bridge])>.tb-scans,.tb-body:not([data-view=bridge])>.tb-stations{display:none}.tb-body[data-view=helm],.tb-body[data-view=tactical]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.tb-body[data-view=helm]>.tb-view-body:not(.tb-view-helm),.tb-body[data-view=tactical]>.tb-view-body:not(.tb-view-tactical){display:none}.tb-body[data-view=engineering],.tb-body[data-view=computer]{grid-template-columns:minmax(0,1fr)}.tb-body[data-view=engineering]>:not(.tb-view-engineering),.tb-body[data-view=computer]>:not(.tb-view-computer){display:none}.tb-title{font-size:.7rem;letter-spacing:.2em;color:var(--harvestgold)}.tb-note{font-size:.65rem;letter-spacing:.08em;color:var(--october-sunset)}.tb-scans{display:grid;grid-template-rows:auto auto auto minmax(6rem,1fr);align-content:start;gap:.4rem;min-height:0;overflow:auto}.tb-lrs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}.tb-lrs-cell{border-radius:.6rem;background:#ffaa441a;border:2px solid transparent;display:flex;flex-direction:column;align-items:center;padding:.3rem 0;font-family:var(--face-data)}.tb-lrs-cell.tb-here{border-color:var(--harvestgold);background:#ffaa444d}.tb-lrs-cell.tb-hostile .tb-lrs-code{color:var(--mars)}.tb-lrs-cell.tb-unscanned{background:transparent;border-color:#ffcc991f}.tb-lrs-cell.tb-edge,.tb-lrs-cell.tb-lrs-edge{background:transparent;border-color:#ffcc9914;color:#ffcc9959}.tb-lrs-code{font-size:1.1rem;line-height:1;min-height:1.1rem}.tb-lrs-at{font-size:.6rem;color:var(--october-sunset)}.tb-chart{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,2.4rem));align-content:start;gap:.15rem;height:100%;min-height:0;container-type:size}.tb-quadrant{border:1px solid rgba(255,204,153,.15);border-radius:.4rem;display:flex;align-items:center;justify-content:center;font-family:var(--face-data);font-size:clamp(.45rem,6.5cqh,.75rem);padding:0;min-height:0;color:var(--face-data-ink, #fec);background:#ffaa441a}.tb-quadrant.tb-unscanned{background:transparent;border-color:#ffcc9914}.tb-quadrant.tb-hostile,.tb-quadrant.tb-supernova,.tb-lrs-cell.tb-supernova .tb-lrs-code,.tb-cq.tb-supernova .tb-cq-code{color:var(--mars)}.tb-quadrant.tb-based{border-color:var(--harvestgold)}.tb-quadrant.tb-here{background:var(--butter);color:#000}.tb-srs-section{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:.4rem;min-height:0;overflow:hidden}.tb-srs{display:grid;grid-template-columns:1rem repeat(10,minmax(0,1fr));gap:.15rem;font-family:var(--face-data)}.tb-srs-axis,.tb-srs-corner{font-size:.6rem;color:var(--october-sunset);display:flex;align-items:center;justify-content:center}.tb-scan{display:block;height:100%;width:auto;max-width:100%;max-height:100%;aspect-ratio:1;justify-self:start;font-family:var(--face-data)}.tb-scan-axis{font-size:.32px;fill:var(--october-sunset);text-anchor:middle;dominant-baseline:central;font-family:var(--face-label)}.tb-sector{cursor:pointer;outline:none}.tb-cell{fill:transparent;stroke:#ffcc991f;stroke-width:.02}.tb-cell-dot{fill:#ffcc994d}.tb-sector:focus-visible .tb-cell{stroke:var(--butter);stroke-width:.05}.tb-sector.tb-pressed .tb-cell{stroke:var(--daybreak);stroke-width:.05}.tb-sector-ship .tb-cell{fill:#ffaa4440}.tb-sector-klingon .tb-cell{fill:#f2402a2e}.tb-sector-ship,.tm-icon-ship{color:var(--face-data-ink, #fec)}.tb-sector-klingon,.tm-icon-klingon,.tb-wheel-mark-klingon{color:var(--mars)}.tb-sector-base,.tm-icon-base,.tb-wheel-mark-base{color:var(--harvestgold)}.tb-sector-inhabited,.tm-icon-inhabited{color:var(--daybreak)}.tb-sector-star,.tm-icon-star{color:var(--pumpkin-pie)}.tb-sector-hole,.tm-icon-hole{color:#fc99}.tm-icon-supernova{color:var(--mars)}.tm-defs{position:absolute;width:0;height:0}.tm-icon{width:1em;height:1em;vertical-align:-.15em;display:inline-block}@keyframes tb-star-breathe{0%,to{opacity:.62;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.tb-sector-star .tm-mark>.tm-symbol{animation:tb-star-breathe 3.6s ease-in-out infinite;animation-delay:var(--tb-breathe, 0s)}@media(prefers-reduced-motion:reduce){.tb-sector-star .tm-mark>.tm-symbol{animation:none}}.tb-ring{fill:none;stroke:var(--daybreak);pointer-events:none;transition:stroke-width .6s ease-out,stroke .6s}.tb-ring-mid{stroke:var(--harvestgold)}.tb-ring-low{stroke:var(--mars)}.tb-ring-down{stroke:#ffcc9980;stroke-dasharray:.06 .06}.tb-ring-docked{stroke:var(--honey);stroke-dasharray:.12 .06}.tb-motion{pointer-events:none}.tb-track{fill:none;stroke:var(--harvestgold);stroke-width:.04;stroke-dasharray:.12 .1;stroke-linecap:round;opacity:.55}.tb-track.tb-hostile{stroke:var(--mars)}.tb-pulse{fill:none;stroke-linecap:round}.tb-pulse-wide{stroke:var(--harvestgold);stroke-width:.16;opacity:.45}.tb-pulse-core{stroke:var(--butter);stroke-width:.05}.tb-pulse-wide.tb-hostile{stroke:var(--mars)}.tb-pulse-core.tb-hostile{stroke:#fff}.tb-beam{stroke:var(--mars);stroke-width:.12;stroke-linecap:round;fill:none;animation:tb-beam-pulse .3s ease-out 3}.tb-beam-core{stroke:var(--butter);stroke-width:.04}.tb-beam.tb-hostile{stroke:var(--daybreak);stroke-width:.1}.tb-beam-core.tb-hostile{stroke:#fff;stroke-width:.03}@keyframes tb-beam-pulse{0%,to{opacity:0}20%,70%{opacity:1}}.tb-burst-halo{fill:url(#tm-halo);animation:tb-bloom var(--tb-ms, .8s) ease-out forwards}.tb-burst-core{fill:var(--butter);animation:tb-core var(--tb-ms, .8s) ease-out forwards}.tb-burst-spikes{transform-box:fill-box;transform-origin:center;animation:tb-spikes var(--tb-ms, .8s) cubic-bezier(.2,.8,.3,1) forwards}.tb-burst-spike{stroke:var(--butter);stroke-width:.045;stroke-linecap:round}.tb-burst-nova .tb-burst-halo,.tb-burst-supernova .tb-burst-halo{fill:url(#tm-halo-nova)}.tb-burst-nova .tb-burst-spike,.tb-burst-supernova .tb-burst-spike{stroke:var(--pumpkin-pie)}.tb-burst-misfire .tb-burst-halo{fill:url(#tm-halo-mars)}.tb-burst-misfire .tb-burst-spike{stroke:var(--mars)}@keyframes tb-bloom{0%{r:.1;opacity:1}to{r:1.6;opacity:0}}@keyframes tb-core{0%{r:.04;opacity:1}30%{r:.32;opacity:1}to{r:.5;opacity:0}}@keyframes tb-spikes{0%{transform:scale(.15);opacity:1}to{transform:scale(1);opacity:0}}.tb-ring-flare{fill:none;stroke:var(--butter);stroke-width:.08;pointer-events:none;animation:tb-ring-flare .9s ease-out forwards}@keyframes tb-ring-flare{0%{r:.46;opacity:1}to{r:1.1;opacity:0}}.tb-photon-halo{fill:url(#tm-photon-halo)}.tb-photon-core{fill:url(#tm-photon-core)}.tb-photon-pulses{transform-box:fill-box;transform-origin:center;animation:tb-photon-spin 1.4s linear infinite}.tb-photon-pulses rect{fill:#ffd27a;opacity:.9;transform-box:fill-box;transform-origin:left center}.tb-photon-pulses g:nth-child(odd) rect{animation:tb-photon-flicker .26s steps(2) infinite}.tb-photon-pulses g:nth-child(2n) rect{animation:tb-photon-flicker .34s steps(2) infinite reverse}.tb-photon-pulses g:nth-child(3n) rect{animation-duration:.42s}@keyframes tb-photon-spin{to{transform:rotate(360deg)}}@keyframes tb-photon-flicker{0%{opacity:.35;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1.25)}}.tb-tail-segment{fill:none;stroke:#ff6a1a;stroke-linecap:round}.tb-scan .tb-sector{transition:opacity .35s}.tb-scan.tb-rescan .tb-sector{opacity:.08}@keyframes tb-lrs-bloom{0%{box-shadow:0 0 0 0 var(--butter)}to{box-shadow:0 0 28px 18px transparent}}@keyframes tb-lrs-bloom-hostile{0%{box-shadow:0 0 0 0 var(--mars)}to{box-shadow:0 0 28px 18px transparent}}.tb-lrs-cell.tb-bloom{animation:tb-lrs-bloom 1s ease-out forwards}.tb-lrs-cell.tb-bloom.tb-bloom-hostile{animation-name:tb-lrs-bloom-hostile}@media(prefers-reduced-motion:reduce){.tb-beam,.tb-burst-halo,.tb-burst-core,.tb-burst-spikes,.tb-ring-flare,.tb-photon-pulses,.tb-photon-pulses rect,.tb-lrs-cell.tb-bloom{animation:none}}.tb-legend{display:flex;flex-wrap:wrap;gap:.25rem .9rem}.tb-legend-item{display:inline-flex;align-items:center;gap:.3rem;font-size:.6rem;letter-spacing:.12em;color:var(--october-sunset)}.tb-legend-item .tm-icon{font-size:.9rem}.tb-legend-glyph{font-family:var(--face-data);color:var(--butter);letter-spacing:0}.tb-ship-pills{align-items:center}.tb-pills{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.tb-pill{border:none;border-radius:.9rem;padding:.25rem .8rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.75rem;letter-spacing:.06em;cursor:pointer}.tb-pill:disabled{opacity:.35;cursor:default}.tb-pill.tb-pill-on{background:var(--butter);outline:2px solid var(--butter)}.tb-pill.tb-grave{background:transparent;color:var(--october-sunset);border:2px solid var(--october-sunset);padding:calc(.25rem - 2px) calc(.8rem - 2px)}.tb-station-tactical .tb-pill.tb-command{background:var(--mars)}.tb-pill.tb-command.tb-barred,.tb-station-tactical .tb-pill.tb-command.tb-barred{background:transparent;color:var(--mars);box-shadow:inset 0 0 0 2px var(--mars)}.tb-commit{background:var(--butter)}.tb-choice{background:var(--honey)}.tb-fire{background:var(--mars);font-size:.9rem;padding:.4rem 1.2rem}.tb-stations{display:flex;flex-direction:column;gap:.8rem;min-height:0;overflow:auto}.tb-station{border-left:6px solid var(--butter);padding-left:.6rem;display:flex;flex-direction:column;gap:.4rem;min-width:0}.tb-station-tactical{border-left-color:var(--mars)}.tb-station-time{border-left-color:var(--harvestgold)}.tb-station-computer{border-left-color:var(--daybreak)}.tb-station-head{display:flex;align-items:baseline;gap:.6rem}.tb-station-name{font-size:1.1rem;letter-spacing:.15em;color:var(--face-data-ink, #fec)}.tb-station-step{font-size:.7rem;letter-spacing:.08em;color:var(--harvestgold)}.tb-station-fill{flex:1 1 0}.tb-controls{display:flex;gap:.8rem;align-items:flex-start}.tb-sliders{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:.35rem;container-type:inline-size}@container (max-width: 24rem){.tb-slider,.tb-slider.tb-local,.tb-view-helm .tb-slider,.tb-view-tactical .tb-slider,.tb-station-time .tb-slider{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label readout" "track track" "commit commit";row-gap:.2rem}.tb-slider>.tb-slider-label{grid-area:label;justify-self:start}.tb-slider>.tb-slider-readout{grid-area:readout}.tb-slider .tb-commit{grid-area:commit;justify-self:end;white-space:nowrap}.tb-slider>.tb-slider-column{grid-area:track}}.tb-slider,.tb-pillrow{display:grid;grid-template-columns:5.5rem minmax(0,1fr) 3.2rem auto;gap:.4rem;align-items:center;opacity:.4}.tb-pillrow{grid-template-columns:5.5rem minmax(0,1fr)}.tb-slider.tb-lit,.tb-pillrow.tb-lit,.tb-wheel.tb-lit{opacity:1}.tb-slider.tb-local{opacity:1;grid-template-columns:5.5rem minmax(0,1fr) 3.2rem}.tb-slider.tb-local .tb-commit{display:none}.tb-slider-label{background:var(--butter);color:#000;border-radius:.8rem;padding:.05rem .5rem;font-size:.65rem;font-weight:700;text-align:right;letter-spacing:.06em}.tb-slider-column{display:flex;flex-direction:column;gap:.05rem;min-width:0}.tb-slider-input{width:100%;min-width:0;margin:0;accent-color:var(--harvestgold)}.tb-slider-ticks{display:flex;justify-content:space-between;font-family:var(--face-data);font-size:.55rem;color:#ffcc9980;padding:0 .3rem;container-type:inline-size}@container (max-width: 12rem){.tb-slider-tick:nth-child(2n):not(:last-child){display:none}}@container (max-width: 6rem){.tb-slider-tick:not(:first-child):not(:last-child){display:none}}.tb-slider-ticks:empty{display:none}.tb-slider-note{font-size:.55rem;letter-spacing:.06em;color:var(--october-sunset);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-slider-note:empty{display:none}.tb-slider-readout{font-family:var(--face-data);font-size:.9rem;color:var(--face-data-ink, #fec);text-align:right}.tb-wheel{display:flex;flex-direction:column;align-items:center;gap:.3rem;opacity:.4;flex:0 0 auto}.tb-wheel-face{touch-action:none;cursor:crosshair}.tb-wheel-rim{fill:#ffaa440f;stroke:var(--butter);stroke-width:3}.tb-station-tactical .tb-wheel-rim{stroke:var(--mars)}.tb-wheel-ring{fill:none;stroke:#ffcc992e;stroke-width:1}.tb-wheel-tick{stroke:var(--harvestgold);stroke-width:1.5}.tb-wheel-tick-major{stroke:var(--harvestgold);stroke-width:3}.tb-wheel-label{fill:var(--butter);font-size:11px;font-family:var(--face-label)}.tb-wheel-needle{stroke:var(--face-data-ink, #fec);stroke-width:4;stroke-linecap:round}.tb-wheel-hub{fill:var(--face-data-ink, #fec)}.tb-wheel-wedge{fill:#f2402a40;stroke:var(--mars);stroke-width:1}.tb-wheel-mark{pointer-events:auto}.tb-wheel-row{display:flex;gap:.5rem;align-items:center}.tb-wheel-readout{font-family:var(--face-data);font-size:1rem;color:var(--face-data-ink, #fec)}.tb-fire-row{display:flex;gap:.8rem;align-items:flex-start;flex-wrap:wrap}.tb-targets{display:grid;grid-template-columns:auto repeat(3,minmax(0,auto));gap:.2rem .6rem;align-items:center;font-family:var(--face-data);font-size:.75rem}.tb-targets>.tb-note{grid-column:1 / -1}.tb-target-head{font-family:var(--face-label);font-size:.6rem;letter-spacing:.15em;color:var(--harvestgold)}.tb-target{border:1px solid var(--mars);border-radius:.6rem;background:transparent;color:var(--mars);font-family:var(--face-data);font-size:.7rem;padding:.15rem .5rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.tb-target .tm-icon{font-size:1rem}.tb-target-cell{color:var(--face-data-ink, #fec)}.tb-view-body{min-height:0;overflow:auto}.tb-view-helm .tb-controls,.tb-view-tactical .tb-controls{gap:1.4rem}.tb-view-helm .tb-slider,.tb-view-tactical .tb-slider{grid-template-columns:7rem minmax(0,1fr) 4rem auto}.tb-view-helm .tb-pillrow,.tb-view-tactical .tb-pillrow{grid-template-columns:7rem minmax(0,1fr)}.tb-view-helm .tb-station-name,.tb-view-tactical .tb-station-name{font-size:1.5rem}.tb-view-helm .tb-wheel-readout,.tb-view-tactical .tb-wheel-readout{font-size:1.4rem}.tb-panel{display:flex;flex-direction:column;gap:.4rem;min-width:0}.tb-view-engineering{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:1.4rem}.tb-dc{display:grid;grid-template-columns:9rem minmax(0,1fr) 4rem 4rem 3rem;gap:.25rem .6rem;align-items:center;font-size:.7rem;letter-spacing:.04em}.tb-dc-head{font-size:.6rem;letter-spacing:.15em;color:var(--harvestgold)}.tb-dc-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-dc-time,.tb-sys-value,.tb-sys-text{font-family:var(--face-data);font-size:.8rem;color:var(--face-data-ink, #fec);text-align:right;white-space:nowrap}.tb-sys-text{text-align:left;grid-column:2 / -1;white-space:normal}.tb-dc-state{font-weight:700;text-align:right}.tb-bar-track{height:.6rem;border-radius:.3rem;background:#ffcc991a;overflow:hidden}.tb-bar-fill{height:100%;border-radius:.3rem}.tb-bar-ok{background:var(--daybreak)}.tb-bar-down{background:var(--mars)}.tb-systems{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;gap:.35rem .6rem;align-items:center;font-size:.7rem;letter-spacing:.04em}.tb-pips{display:flex;gap:.2rem;flex-wrap:wrap}.tb-pip{width:.6rem;height:.6rem;border-radius:50%;border:1px solid var(--harvestgold)}.tb-pip-on{background:var(--harvestgold)}.tb-since-grid{grid-template-columns:7rem minmax(0,1fr)}.tb-station-time .tb-slider{grid-template-columns:6rem minmax(0,1fr) 3.5rem auto}.tb-in-that-time{display:flex;flex-direction:column;gap:.3rem}.tb-in-that-time .tb-head-value{white-space:normal}.tb-view-computer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1.4rem}.tb-chart-big{display:grid;grid-template-columns:1.2rem repeat(8,minmax(0,1fr));gap:.25rem}.tb-cq{border:1px solid rgba(255,204,153,.15);border-radius:.6rem;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1.2;padding:.2rem;cursor:pointer;color:var(--face-data-ink, #fec);font-family:var(--face-data)}.tb-cq:not(.tb-unscanned){background:#ffaa441a}.tb-cq.tb-unscanned .tb-cq-code{color:#ffcc9959}.tb-cq.tb-hostile .tb-cq-code{color:var(--mars)}.tb-cq.tb-based{border-color:var(--harvestgold)}.tb-cq.tb-here{background:var(--butter);color:#000}.tb-cq.tb-here .tb-cq-at{color:#000}.tb-cq.tb-pressed{outline:2px solid var(--daybreak)}.tb-cq-code{font-size:1rem;line-height:1.1}.tb-cq-at{font-size:.55rem;color:var(--october-sunset)}.tb-computer-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.4rem}.tb-answer-panel{grid-column:1 / -1}.tb-computer-answer{margin:0;font-family:var(--face-data);font-size:.85rem;color:var(--face-data-ink, #fec);white-space:pre-wrap;max-height:12rem;overflow:auto}.tb-score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .8rem;font-size:.7rem;letter-spacing:.04em}.tb-score-points{font-family:var(--face-data);text-align:right}.tb-score-total{font-weight:700;color:var(--face-data-ink, #fec);border-top:1px solid rgba(255,204,153,.3);padding-top:.2rem}.tb-ask{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.4rem .6rem .4rem 1.6rem;padding:.6rem 1rem;border-radius:1.6rem;border:2px solid var(--mars);background:color-mix(in srgb,var(--mars) 12%,#000)}.tb-ask-label{font-size:.7rem;letter-spacing:.2em;color:var(--mars)}.tb-ask-text{font-size:.95rem;color:var(--face-data-ink, #fec)}.tb-ask-input{background:#0a0804;color:var(--butter);border:1px solid rgba(255,204,153,.3);border-radius:.5rem;padding:.25rem .5rem;font-family:var(--face-data);min-width:12rem}.tb-log-section{flex:1 1 0;display:flex;flex-direction:column;min-height:0}.tb-log{flex:1 1 0;overflow-y:auto;font-size:.9rem;letter-spacing:.03em;color:var(--butter);min-height:0}.tb-log-line{white-space:pre-wrap;line-height:1.3}.tb-log-line:empty{min-height:.4rem}.tb-log-line.tb-log-own{color:var(--october-sunset);font-size:.75rem;letter-spacing:.06em}.tb-log-fold-head{cursor:pointer;font-size:.65rem;letter-spacing:.15em;color:var(--october-sunset);list-style:none;line-height:1.6}.tb-log-fold-head::-webkit-details-marker{display:none}.tb-log-fold-head:before{content:"▸ "}.tb-log-fold[open] .tb-log-fold-head:before{content:"▾ "}.tb-log-fold .tb-log-line{padding-left:1rem;opacity:.8}.tb-leave-ask{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:.6rem;align-items:center;background:#000;border:3px solid var(--mars);border-radius:1.5rem;padding:1.2rem 1.8rem;z-index:61}@media(max-width:1100px){.tb-body[data-view=bridge]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tb-body[data-view=bridge]>.tb-stations{grid-column:1 / -1}.tb-body[data-view=helm],.tb-body[data-view=tactical],.tb-view-computer{grid-template-columns:minmax(0,1fr)}.tb-view-engineering{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tb-header{grid-template-columns:12rem repeat(2,minmax(0,1fr))}}.td-controller{--tdc-bill: #f91;--tdc-destroy: var(--mars);color:var(--honey)}body[data-takeover=controller]{overflow:hidden}body[data-takeover=controller]>*:not(#td-controller){visibility:hidden}.tdc-cluster.tdc-billing{box-shadow:inset 0 -4px 0 var(--tdc-bill)}.tdc-header{display:grid;grid-template-columns:15rem repeat(4,minmax(0,1fr));gap:1.4rem;padding:.2rem 0 .4rem;align-items:start}.tdc-head-condition{display:flex;flex-direction:column;gap:.4rem}.tdc-condition{border-radius:2rem;padding:.45rem 0;display:flex;flex-direction:column;align-items:center;color:#000;background:var(--harvestgold)}.tdc-condition[data-condition=ASKING]{background:var(--tdc-bill)}.tdc-condition[data-condition=BUILDING]{background:var(--butter)}.tdc-condition[data-condition="TEARING DOWN"]{background:var(--october-sunset)}.tdc-condition[data-condition="TEARING DOWN"] .tdc-condition-name,.tdc-condition[data-condition="PARTLY BUILT"] .tdc-condition-name{font-size:1.35rem;letter-spacing:.16em}.tdc-condition[data-condition=FAILED]{background:var(--tdc-destroy)}.tdc-condition[data-condition=GONE]{background:var(--october-sunset)}.tdc-condition[data-condition=SIZING],.tdc-condition[data-condition=PLANNED],.tdc-condition[data-condition="PARTLY BUILT"]{background:var(--honey)}.tdc-condition-label{font-size:.7rem;font-weight:700;letter-spacing:.2em}.tdc-condition-name{font-size:2rem;font-weight:700;letter-spacing:.22em;line-height:1}.tdc-condition-why{font-size:.75rem;letter-spacing:.06em;text-align:center;color:var(--honey)}.tdc-chips{display:flex;gap:.3rem;justify-content:center;flex-wrap:wrap}.tdc-chip{display:inline-flex;align-items:center;gap:.25rem;background:color-mix(in srgb,var(--harvestgold) 22%,transparent);color:var(--honey);border-radius:.7rem;padding:.05rem .55rem;font-size:.65rem;letter-spacing:.04em;white-space:nowrap}.tdc-chip-class{background:var(--october-sunset);color:var(--butter)}.tdc-mode{margin-top:.35rem}.tdc-condition[data-condition=READ]{background:var(--honey)}.tdc-condition[data-condition=MANAGE]{background:var(--tdc-bill)}.tdc-lock-on{background:var(--butter);color:#000}.tdc-lock-off{background:var(--tdc-destroy);color:#000}.tdc-head-section{display:flex;flex-direction:column;gap:.35rem;min-width:0}.tdc-head-title{font-size:.7rem;letter-spacing:.2em;color:var(--harvestgold)}.tdc-head-grid{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:.3rem .5rem;align-items:center}.tdc-head-label{background:var(--honey);color:#000;border-radius:.8rem;padding:.05rem .5rem;font-size:.62rem;font-weight:700;text-align:right;white-space:nowrap}.tdc-head-label-bill{background:var(--tdc-bill)}.tdc-head-value{font-size:.85rem;color:var(--butter);font-family:var(--face-data);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tdc-since{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:.3rem .5rem;font-size:.8rem}.tdc-since-label{color:var(--orange);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tdc-since-value{color:var(--butter);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tdc-since-reading,.tdc-reading{color:var(--honey);animation:tdc-reading-pulse 1.2s ease-in-out infinite}@keyframes tdc-reading-pulse{0%,to{opacity:1}50%{opacity:.45}}.tdc-body{min-height:0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) minmax(0,.8fr);gap:1.6rem;padding:1rem .6rem .6rem 1.6rem;overflow:hidden}.tdc-body[data-view=build]{grid-template-columns:10rem minmax(0,1.2fr) minmax(0,1fr)}.tdc-body[data-view=cluster],.tdc-body[data-view=teardown]{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.tdc-body[data-view=size]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.9fr)}.tdc-section,.tdc-col-middle{display:flex;flex-direction:column;gap:.6rem;min-width:0;min-height:0;overflow:auto}.tdc-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.tdc-section-title{font-size:.75rem;letter-spacing:.2em;color:var(--harvestgold)}.tdc-section-aside{font-size:.65rem;letter-spacing:.1em;color:var(--orange);font-family:var(--face-data);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tdc-gap{margin-top:.8rem}.tdc-prose{margin:0;font-size:.85rem;line-height:1.45;color:var(--honey)}.tdc-quiet{color:var(--orange)}.tdc-bill{color:var(--tdc-bill)}.tdc-mono{font-family:var(--face-data);font-size:.8rem;color:var(--butter);word-break:break-word}.tdc-flex{flex:1 1 0}.tdc-empty{grid-column:1 / -1;display:flex;flex-direction:column;gap:.6rem;justify-content:center;align-items:center}.tdc-pairs{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:.4rem .7rem;font-size:.85rem}.tdc-pairs-narrow{grid-template-columns:9rem minmax(0,1fr)}.tdc-pair-label{color:var(--orange);font-size:.75rem;letter-spacing:.06em}.tdc-pair-value{color:var(--butter);font-family:var(--face-data);font-size:.8rem;overflow-wrap:anywhere}.tdc-note{border-radius:1.4rem;border:2px solid var(--harvestgold);background:color-mix(in srgb,var(--harvestgold) 10%,transparent);padding:.8rem 1rem;display:flex;flex-direction:column;gap:.4rem;margin-top:.8rem}.tdc-note-title{font-size:.9rem;letter-spacing:.15em;color:var(--butter)}.tdc-note-adopted,.tdc-note-bill{border-color:var(--tdc-bill);background:color-mix(in srgb,var(--tdc-bill) 8%,transparent)}.tdc-note-adopted .tdc-note-title,.tdc-note-bill .tdc-note-title{color:var(--tdc-bill)}.tdc-note-refused{border-color:var(--tdc-destroy);background:color-mix(in srgb,var(--tdc-destroy) 10%,transparent)}.tdc-note-refused .tdc-note-title{color:var(--tdc-destroy)}.tdc-note-locked{border-color:var(--butter)}.tdc-note-found{border-color:var(--honey)}.tdc-section>.tdc-pill{align-self:flex-start}.tdc-commands{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}.tdc-commands-label{font-size:.7rem;letter-spacing:.15em;color:var(--orange)}.tdc-pill{border:none;border-radius:1.2rem;padding:.45rem 1.2rem;font-size:.9rem;font-weight:700;letter-spacing:.1em;color:#000;background:var(--harvestgold)}.tdc-pill-bill{background:var(--tdc-bill)}.tdc-pill-destroy{background:var(--tdc-destroy)}.tdc-pill-quiet{background:var(--honey)}.tdc-pill:disabled{background:transparent;color:var(--orange);border:2px dashed var(--october-sunset);padding:calc(.45rem - 2px) calc(1.2rem - 2px)}.td-controller[data-busy=yes] .tdc-pill:not(:disabled){opacity:.85}.tdc-step-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.tdc-step{border:2px solid var(--october-sunset);border-radius:.8rem;background:transparent;color:var(--orange);padding:.3rem .5rem;display:grid;grid-template-rows:auto auto 1fr auto;text-align:left;min-height:4.4rem;gap:.05rem;min-width:0}.tdc-step-n{font-size:.55rem;opacity:.8}.tdc-step-name{font-size:.78rem;font-weight:700;letter-spacing:.03em;overflow-wrap:anywhere;line-height:1.1}.tdc-step-note{font-size:.52rem;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tdc-step-word{font-size:.55rem;font-weight:700;letter-spacing:.1em}.tdc-step.tdc-step-done{background:color-mix(in srgb,var(--harvestgold) 85%,transparent);border-color:var(--harvestgold);color:#000}.tdc-step.tdc-step-running{background:var(--butter);border-color:var(--butter);color:#000}.tdc-step.tdc-step-asking{background:var(--tdc-bill);border-color:var(--tdc-bill);color:#000}.tdc-step.tdc-step-failed{background:var(--tdc-destroy);border-color:var(--tdc-destroy);color:#000}.tdc-step.tdc-step-expired{border-color:var(--tdc-bill);color:var(--tdc-bill)}.tdc-step.tdc-step-unknown{border-color:color-mix(in srgb,var(--orange) 60%,transparent);color:var(--honey)}.tdc-step.tdc-step-next{border-color:var(--harvestgold);color:var(--honey)}.tdc-step.tdc-step-billfrom{box-shadow:-.3rem 0 0 var(--tdc-bill)}.tdc-billing-line{font-size:.72rem;letter-spacing:.08em;color:var(--tdc-bill);border-left:.3rem solid var(--tdc-bill);padding-left:.5rem}.tdc-col-strip{gap:.3rem}.tdc-strip-step{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;border-radius:.9rem;border:2px solid var(--october-sunset);color:var(--orange);padding:.2rem .7rem;font-size:.85rem}.tdc-strip-word{font-size:.62rem;letter-spacing:.1em}.tdc-strip-step.tdc-step-done{background:color-mix(in srgb,var(--harvestgold) 85%,transparent);border-color:var(--harvestgold);color:#000}.tdc-strip-step.tdc-step-running{background:var(--butter);border-color:var(--butter);color:#000}.tdc-strip-step.tdc-step-asking{background:var(--tdc-bill);border-color:var(--tdc-bill);color:#000}.tdc-strip-step.tdc-step-failed{background:var(--tdc-destroy);border-color:var(--tdc-destroy);color:#000}.tdc-strip-step.tdc-step-next{border-color:var(--harvestgold);color:var(--honey)}.tdc-billing-from{font-size:.62rem;letter-spacing:.12em;color:var(--tdc-bill);border-top:2px solid var(--tdc-bill);padding-top:.15rem;margin-top:.2rem}.tdc-running{border:2px solid var(--butter);border-radius:1.4rem;padding:.8rem 1rem 1rem;overflow:visible;flex:0 0 auto}.tdc-plan-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.tdc-plan-count{border-radius:1rem;border:2px solid var(--october-sunset);padding:.4rem .8rem;display:flex;flex-direction:column}.tdc-plan-count-label{font-size:.65rem;letter-spacing:.15em;color:var(--orange)}.tdc-plan-count-value{font-size:2rem;font-weight:700;color:var(--butter);line-height:1.1}.tdc-plan-count-note{font-size:.62rem;color:var(--tdc-bill)}.tdc-plan-destroy .tdc-plan-count-value{color:var(--tdc-destroy)}.tdc-plan-rows{display:grid;grid-template-columns:1.2rem 11rem 2.5rem minmax(0,1fr);gap:.25rem .5rem;font-size:.8rem;align-items:baseline}.tdc-plan-mark{font-weight:700;color:var(--harvestgold)}.tdc-plan-mark.tdc-plan-drift,.tdc-plan-mark.tdc-plan-change{color:var(--tdc-bill)}.tdc-plan-mark.tdc-plan-destroy,.tdc-plan-mark.tdc-plan-replace{color:var(--tdc-destroy)}.tdc-plan-kind{color:var(--honey)}.tdc-plan-n{color:var(--butter);text-align:right;font-family:var(--face-data)}.tdc-plan-names{color:var(--orange);font-family:var(--face-data);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tdc-steplog{display:flex;flex-direction:column;gap:.15rem;font-family:var(--face-data);font-size:.75rem;color:var(--honey);overflow:auto;min-height:0;flex:1 1 0}.tdc-col-middle>.tdc-col-steplog{flex:1 1 0;min-height:10rem}.tdc-steplog-line{white-space:pre-wrap;overflow-wrap:anywhere}.tdc-checks{display:grid;grid-template-columns:1.4rem 10rem minmax(0,1fr) 5rem;gap:.4rem .6rem;font-size:.85rem;align-items:baseline}.tdc-check-mark{font-weight:700}.tdc-check-pass{color:var(--harvestgold)}.tdc-check-fail{color:var(--tdc-destroy)}.tdc-check-skip{color:var(--orange)}.tdc-check-name{color:var(--butter)}.tdc-check-detail{color:var(--honey);font-family:var(--face-data);font-size:.75rem;overflow-wrap:anywhere}.tdc-check-how{font-size:.65rem;letter-spacing:.1em;color:var(--orange);text-align:right}.tdc-chris-step{border-left:.5rem solid var(--october-sunset);padding:.1rem 0 .3rem .9rem;display:flex;flex-direction:column;gap:.25rem}.tdc-chris-step.tdc-step-done{border-color:var(--harvestgold)}.tdc-chris-step.tdc-step-failed{border-color:var(--tdc-destroy)}.tdc-chris-step-head{display:flex;gap:.8rem;align-items:baseline}.tdc-chris-step-name{font-size:1.2rem;letter-spacing:.12em;color:var(--butter)}.tdc-chris-step-word{font-size:.75rem;color:var(--harvestgold)}.tdc-teardown-rows{display:grid;grid-template-columns:1.2rem 13rem minmax(0,1fr);gap:.45rem .6rem;font-size:.9rem}.tdc-destroy-mark{color:var(--tdc-destroy);font-weight:700}.tdc-teardown-what{color:var(--butter)}.tdc-teardown-how{color:var(--honey);font-size:.8rem}.tdc-name-row{display:grid;grid-template-columns:7rem minmax(0,1fr);align-items:center;gap:.6rem}.tdc-name-input{background:transparent;border:2px solid var(--harvestgold);border-radius:1rem;color:var(--butter);font-family:var(--face-data);font-size:.9rem;padding:.15rem .8rem}.tdc-families{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.tdc-families .tdc-pair-label{width:6.6rem}.tdc-family{border:none;border-radius:1rem;padding:.3rem 1rem;font-weight:700;background:color-mix(in srgb,var(--honey) 50%,transparent);color:#000}.tdc-family-on{background:var(--butter)}.tdc-lever-group{border-left:.4rem solid var(--harvestgold);padding-left:.8rem;display:flex;flex-direction:column;gap:.1rem;margin-top:.3rem}.tdc-slider{display:grid;grid-template-columns:6.5rem minmax(0,1fr) 3rem;gap:.6rem;align-items:center;line-height:1}.tdc-slider-label{font-size:.75rem;color:var(--orange);letter-spacing:.06em}.tdc-slider-input{width:100%;accent-color:var(--harvestgold)}.tdc-slider-ends{display:flex;justify-content:space-between;font-size:.5rem;color:var(--orange)}.tdc-slider-input{margin:.15rem 0;height:.9rem}.tdc-slider-note{color:var(--tdc-bill)}.tdc-slider-value{font-family:var(--face-data);color:var(--butter);text-align:right}.tdc-zone{border-radius:1.2rem;border:2px solid color-mix(in srgb,var(--harvestgold) 40%,transparent);padding:.6rem .9rem;display:flex;flex-direction:column;gap:.35rem}.tdc-zone-tight{border-color:var(--tdc-bill)}.tdc-zone-bad{border-color:var(--tdc-destroy)}.tdc-zone-head{display:flex;justify-content:space-between}.tdc-zone-name{font-size:1.1rem;color:var(--butter);letter-spacing:.1em}.tdc-zone-verdict{font-size:.75rem;color:var(--harvestgold)}.tdc-zone-tight .tdc-zone-verdict{color:var(--tdc-bill)}.tdc-zone-bad .tdc-zone-verdict{color:var(--tdc-destroy)}.tdc-zone-bar{display:grid;grid-template-columns:3.5rem minmax(0,1fr) 8rem;gap:.5rem;align-items:center;font-size:.7rem}.tdc-zone-unit{color:var(--orange)}.tdc-zone-track{height:.6rem;background:color-mix(in srgb,var(--harvestgold) 15%,transparent);border-radius:.3rem;overflow:hidden}.tdc-zone-take{height:100%;background:var(--harvestgold);min-width:2px}.tdc-zone-text{color:var(--butter);font-family:var(--face-data);text-align:right}.tdc-zone-nodes{font-size:.7rem;color:var(--orange);font-family:var(--face-data)}.tdc-cost-rows{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .8rem;align-items:baseline}.tdc-cost-rate{color:var(--butter);font-family:var(--face-data);font-size:.85rem;text-align:right}.tdc-commit{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem}.tdc-commit-line{border:2px solid var(--october-sunset);border-radius:.8rem;padding:.5rem .8rem}.tdc-strip{display:flex;align-items:center;gap:.8rem;margin:.4rem .6rem .4rem 1.6rem;padding:.6rem 1rem;border-radius:1.6rem;border:2px solid var(--harvestgold);background:color-mix(in srgb,var(--harvestgold) 12%,#000)}.tdc-strip[data-tone=bill]{border-color:var(--tdc-bill);background:color-mix(in srgb,var(--tdc-bill) 12%,#000)}.tdc-strip[data-tone=destroy]{border-color:var(--tdc-destroy);background:color-mix(in srgb,var(--tdc-destroy) 12%,#000)}.tdc-strip-words{flex:1 1 0;display:flex;flex-direction:column;gap:.2rem;min-width:0}.tdc-strip-title{font-size:.7rem;letter-spacing:.2em;color:var(--harvestgold)}.tdc-strip[data-tone=bill] .tdc-strip-title{color:var(--tdc-bill)}.tdc-strip[data-tone=destroy] .tdc-strip-title{color:var(--tdc-destroy)}.tdc-strip-text{font-size:1rem;color:var(--butter)}.tdc-strip-input{background:transparent;border:2px solid var(--honey);border-radius:1rem;color:var(--butter);font-family:var(--face-data);font-size:1rem;padding:.3rem .8rem;width:14rem}.tdc-foot,.tdc-log-column{flex:1 1 0;display:flex;flex-direction:column;min-height:0}.tdc-log{flex:1 1 0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.1rem;font-family:var(--face-data);font-size:.78rem}.tdc-log-line{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--butter)}.tdc-log-line.tdc-log-sent{color:var(--harvestgold)}.tdc-log-line.tdc-log-out{color:var(--honey)}.tdc-log-line.tdc-log-ask{color:var(--tdc-bill)}.tdc-log-line.tdc-log-answer{color:var(--tdc-bill);padding-left:1rem}.tdc-log-line.tdc-log-note{color:var(--orange)}.tdc-prompt{display:flex;align-items:center;gap:.6rem;border-top:1px solid color-mix(in srgb,var(--october-sunset) 70%,transparent);padding:.35rem 0}.tdc-prompt-label{color:var(--harvestgold);font-family:var(--face-data);font-size:.8rem;white-space:nowrap}.tdc-prompt-input{flex:1 1 0;min-width:0;background:transparent;border:none;color:var(--butter);font-family:var(--face-data);font-size:.85rem}.tdc-prompt-input:focus{outline:none}.tdc-prompt-input:disabled{opacity:.5}.tdc-pill-asks{outline:2px dashed var(--honey);outline-offset:2px}body[data-takeover=script]{overflow:hidden}body[data-takeover=script]>*:not(#script-screen){visibility:hidden}body[data-takeover=vm]{overflow:hidden}body[data-takeover=vm]>*:not(#vm-controller){visibility:hidden}.vm-controller .takeover-seat{display:flex;flex-direction:column;gap:.3rem}.vm-controller .takeover-seat .tdc-cluster[data-condition=BUILT]{background:var(--harvestgold)}.vm-controller .takeover-seat .tdc-cluster[data-condition=GONE]{opacity:.55}.script-screen .takeover-gutter button[data-state]{position:relative}.script-screen .takeover-gutter button[data-state="not yet"]{opacity:.55}.script-screen .takeover-gutter button[data-state=changed]:not(.takeover-view-on){background-color:var(--tdc-bill)}.script-screen .takeover-gutter button.ss-seat-running:not(.takeover-view-on){background-color:var(--butter)}.ss-seat-mark{position:absolute;top:.35rem;left:.6rem;font-size:.9rem;font-weight:700;letter-spacing:0;color:#000;opacity:.8}.ss-seat-source{font-size:.6rem;letter-spacing:.12em;color:#000;opacity:.8;text-align:right}.script-screen .tdc-condition[data-condition=READY],.script-screen .tdc-condition[data-condition=DONE]{background:var(--harvestgold)}.script-screen .tdc-condition[data-condition=CHANGED]{background:var(--tdc-bill)}.script-screen .tdc-condition[data-condition="NOT YET"]{background:var(--honey)}.script-screen .tdc-condition[data-condition=RUNNING]{background:var(--butter)}.script-screen .tdc-condition[data-condition=LIBRARY],.script-screen .tdc-condition[data-condition=READING]{background:var(--honey)}.ss-body[data-view=library]{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.ss-body[data-view=step]{grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,.9fr)}.ss-body>.errand-bar{grid-column:1 / -1;margin-bottom:0}.ss-errand-stop{background-color:var(--honey)}.ss-head-commands{margin-top:.4rem}.ss-note-running{border-color:var(--butter)}.ss-col-form{gap:.8rem}.ss-line{display:flex;flex-direction:column;gap:.3rem;border-left:.5rem solid var(--october-sunset);padding:.2rem 0 .4rem .9rem}.ss-line-state{font-size:.7rem;letter-spacing:.15em;color:var(--orange)}.ss-line-ready{border-color:var(--harvestgold)}.ss-line-ready .ss-line-state{color:var(--harvestgold)}.ss-line-done{border-color:var(--harvestgold)}.ss-line-done .ss-line-state{color:var(--butter)}.ss-line-changed{border-color:var(--tdc-bill)}.ss-line-changed .ss-line-state{color:var(--tdc-bill)}.ss-line-not-yet{border-color:var(--october-sunset)}.ss-line-text{display:block;font-size:.95rem;color:var(--butter);white-space:pre-wrap;overflow-wrap:anywhere}.ss-line-detail{font-size:.75rem}.ss-scripts{display:grid;grid-template-columns:minmax(0,1fr) 8rem minmax(0,1.4fr) auto;gap:.5rem .9rem;align-items:center}.ss-script{display:contents}.ss-script-name{font-size:1.1rem;letter-spacing:.08em;color:var(--butter)}.ss-script-open .ss-script-name{color:var(--harvestgold)}.ss-script-source{font-size:.7rem;letter-spacing:.12em;color:var(--orange)}.ss-script-standing{font-family:var(--face-data);font-size:.8rem;color:var(--honey)}.ss-users{display:flex;flex-direction:column;gap:.6rem}.ss-users .tdc-commands{margin-top:.1rem}.ss-user-form{margin-top:.4rem;gap:.5rem}.ss-user-line{font-size:.75rem;color:var(--orange);overflow-wrap:anywhere}.ss-cost{display:flex;flex-direction:column;gap:.6rem}.ss-pill-redder{box-shadow:inset 0 0 0 2px #000,inset 0 0 0 4px var(--tdc-destroy)}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}
@@ -1 +1 @@
1
- import{v as H,B as U,t as E,E as M,g as L,a as W,b as S,u as G,s as $,V as q,c as Z,e as y,i as F,d as k,f as v,R as O,h as J,j as K,k as Y,l as Q,m as X,n as ee,o as te,p as ne,r as oe,q as se,w as ie,x as ae,y as re,z as de,A as ce,C as le,D as ge,F as me,G as he,I as ue,H as pe,J as N,S as xe,K as j,L as we,M as fe,N as Ie,O as Ve,P as Ce,Q as Pe,W as De,T as Re,U as Se,X as ve,Y as Ee,Z as Me,_ as _e,$ as Ge,a0 as ye,a1 as be,a2 as ze,a3 as Te,a4 as We,a5 as Fe,a6 as ke,a7 as Oe,a8 as Ae,a9 as Le,aa as Ne,ab as je}from"./Settings-D8x0YjvS.js";import{ac as ft,ad as It,ae as Vt,af as Ct,ag as Pt,ah as Dt,ai as Rt,aj as St,ak as vt,al as Et,am as Mt,an as _t,ao as Gt,ap as yt,aq as bt,ar as zt,as as Tt,at as Wt,au as Ft,av as kt,aw as Ot,ax as At,ay as Lt,az as Nt,aA as jt,aB as Bt,aC as Ht,aD as Ut,aE as $t,aF as qt,aG as Zt,aH as Jt,aI as Kt,aJ as Yt,aK as Qt,aL as Xt,aM as en,aN as tn,aO as nn,aP as on,aQ as sn,aR as an,aS as rn,aT as dn,aU as cn,aV as ln,aW as gn,aX as mn,aY as hn,aZ as un,aO as pn,a_ as xn,a$ as wn,b0 as fn,b1 as In,b2 as Vn,b3 as Cn,b4 as Pn,b5 as Dn,b6 as Rn}from"./Settings-D8x0YjvS.js";import{a as Be,T as He}from"./index-Db9z1L78.js";import{g as vn,b as En,c as Mn,d as _n,s as Gn,u as yn,v as bn,e as zn,f as Tn,h as Wn}from"./index-Db9z1L78.js";import"./cornerstoneEngine-DDdBaE6m.js";import"./Texture-CK20OQnL.js";import{a as kn}from"./addVolumesToViewports-fPmPOfGO.js";import"./dcmjs.es-DfWkgqfk.js";import"./index-BKFXqCRC.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";function ct(l,e,t){for(const n of t){const s=l.getViewport(n);if(!s)throw new Error(`Viewport with Id ${n} does not exist`);if(!s.addImages){console.warn(`Viewport with Id ${n} does not have addImages. Cannot add image segmentation to this viewport.`);return}}t.forEach(n=>{l.getViewport(n).addImages(e)})}class Ue{constructor(e,t=""){this.contexts=[],this.offScreenCanvasContainers=[],this.viewportToContext=new Map,this.viewportSizes=new Map,this.contextMaxSizes=new Map;for(let n=0;n<e;n++){const s=H.newInstance(),o=document.createElement("div");s.setContainer(o),Be(s,t,n),this.contexts.push(s),this.offScreenCanvasContainers.push(o)}}getContextByIndex(e){return e>=0&&e<this.contexts.length?{context:this.contexts[e],container:this.offScreenCanvasContainers[e]}:null}assignViewportToContext(e,t){this.viewportToContext.set(e,t)}getContextIndexForViewport(e){return this.viewportToContext.get(e)}getAllContexts(){return this.contexts}getContextCount(){return this.contexts.length}updateViewportSize(e,t,n){const s=this.viewportToContext.get(e);if(s===void 0)return!1;this.viewportSizes.set(e,{width:t,height:n});const o=this.contextMaxSizes.get(s),i=this.calculateMaxSizeForContext(s);return this.contextMaxSizes.set(s,i),!o||o.width!==i.width||o.height!==i.height}getMaxSizeForContext(e){return this.contextMaxSizes.get(e)}calculateMaxSizeForContext(e){let t=0,n=0;return this.viewportToContext.forEach((s,o)=>{if(s===e){const i=this.viewportSizes.get(o);i&&(t=Math.max(t,i.width),n=Math.max(n,i.height))}}),{width:t,height:n}}removeViewport(e){const t=this.viewportToContext.get(e);if(this.viewportToContext.delete(e),this.viewportSizes.delete(e),t!==void 0){const n=this.calculateMaxSizeForContext(t);this.contextMaxSizes.set(t,n)}}destroy(){this.contexts.forEach(e=>{e.delete()}),this.contexts=[],this.offScreenCanvasContainers=[],this.viewportToContext.clear(),this.viewportSizes.clear(),this.contextMaxSizes.clear()}}class A extends U{constructor(e){super(e),this._renderFlaggedViewports=()=>{this._throwIfDestroyed();const n=this._getViewportsAsArray().filter(o=>this._needsRender.has(o.id));if(n.length===0){this._animationFrameSet=!1,this._animationFrameHandle=null;return}const s=n.map(o=>{const i=this.renderViewportUsingCustomOrVtkPipeline(o);return o.setRendered(),this._needsRender.delete(o.id),i});this._animationFrameSet=!1,this._animationFrameHandle=null,s.forEach(o=>{o?.element&&E(o.element,M.IMAGE_RENDERED,o)})},this.useCPURendering||this.ensureContextPool()}ensureContextPool(){if(!this.contextPool){const{rendering:e}=L(),{webGlContextCount:t}=e;this.contextPool=new Ue(t,this.id)}return this.contextPool}enableVTKjsDrivenViewport(e){const s=this._getViewportsAsArray().filter(a=>W(a.type)===!1).map(a=>a.canvas),o=S(e.element);G(o),s.push(o);const i={...e,canvas:o};this.addVtkjsDrivenViewport(i)}addVtkjsDrivenViewport(e){const t=this.ensureContextPool(),{element:n,canvas:s,viewportId:o,type:i,defaultOptions:a}=e;n.tabIndex=-1,$(n);let r=0;if(i===q.STACK){const u=t.getAllContexts();r=this._viewports.size%u.length}t.assignViewportToContext(o,r),t.updateViewportSize(o,s.width,s.height);const d=t.getContextByIndex(r),{context:g,container:m}=d,p=t.getMaxSizeForContext(r);m.width=p.width,m.height=p.height,g.resize(),g.addRenderer({viewport:[0,0,1,1],id:o,background:a.background?a.background:[0,0,0]});const x={id:o,element:n,renderingEngineId:this.id,type:i,canvas:s,sx:0,sy:0,sWidth:s.width,sHeight:s.height,defaultOptions:a||{}},f=Z(e);if(!f)throw new Error(`Viewport Type ${i} is not supported`);const h=new f(x);h.requestedType=e.requestedType??i,this._viewports.set(o,h);const c={element:n,viewportId:o,renderingEngineId:this.id};h.suppressEvents||E(y,M.ELEMENT_ENABLED,c)}setVtkjsDrivenViewports(e){if(e.length){const t=e.map(n=>S(n.element));t.forEach(n=>G(n));for(let n=0;n<e.length;n++){const s=e[n],o=t[n],i={...s,canvas:o};this.addVtkjsDrivenViewport(i)}}}_getDisplayedSize(e){const t=window.devicePixelRatio||1,n=F(e)?e.element:S(e.element);return{displayedWidth:Math.round(n.clientWidth*t),displayedHeight:Math.round(n.clientHeight*t)}}_resizeVTKViewports(e,t=!0,n=!0){const s=[];for(const o of e){const i=S(o.element),{displayedWidth:a,displayedHeight:r}=this._getDisplayedSize(o);if(a===0||r===0)continue;const d=i.width,g=i.height;a===d&&r===g||s.push(o)}if(s.length!==0){for(const o of s){const{displayedWidth:i,displayedHeight:a}=this._getDisplayedSize(o),r=Math.max(v,i),d=Math.max(v,a);o.sWidth=r,o.sHeight=d}this._animationFrameSet||(e.length&&this._resize(e),e.forEach(o=>{if(o.resize?.(),F(o))return;const i=o.getCamera(),a=o.getRotation?.()??0,{flipHorizontal:r}=i,d=o;d.resetViewStateForResize?d.resetViewStateForResize():d.resetCameraForResize?.();const g=o.getDisplayArea();t&&(g?(r&&o.setCamera({flipHorizontal:r}),a&&o.setViewPresentation({rotation:a})):o.setCamera(i))}),n&&this.render())}}renderViewportUsingCustomOrVtkPipeline(e){if(k(e))return e.customRenderViewportToCanvas();if(!this.contextPool)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");const t=this.contextPool.getContextIndexForViewport(e.id),n=this.contextPool.getContextByIndex(t),{context:s,container:o}=n;return this._renderViewportWithContext(e,s,o)}_renderViewportWithContext(e,t,n){if(e.canvas.clientWidth===0||e.canvas.clientHeight===0)return;if(e.sWidth<v||e.sHeight<v){console.warn("Viewport is too small",e.sWidth,e.sHeight);return}if(k(e))return e.customRenderViewportToCanvas();if(!this.contextPool)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");t.getRenderer(e.id)||t.addRenderer({viewport:[0,0,1,1],id:e.id,background:e.defaultOptions?.background||[0,0,0]});const s=t.getRenderWindow(),o=s.getViews()[0],i=o.getRenderPasses(),a=this.getViewportRenderPasses(e.id);a&&o.setRenderPasses(a),this._resizeOffScreenCanvasForViewport(e,n,t);const r=t.getRenderer(e.id),d=this.contextPool.getContextIndexForViewport(e.id),g=this.contextPool.getMaxSizeForContext(d),m=e.sWidth,p=e.sHeight,x=Math.min(1,m/g.width),f=Math.min(1,p/g.height);r.setViewport(0,0,x,f);const h=t.getRenderers();h.forEach(({renderer:w,id:V})=>{const _=V.split("::")[0];w.setDraw(_===e.id)});const c=this.getWidgetRenderers();c.forEach((w,V)=>{V.setDraw(w===e.id)}),s.render(),h.forEach(({renderer:w})=>w.setDraw(!1)),c.forEach((w,V)=>{V.setDraw(!1)}),i&&o.setRenderPasses(i);const I=t.getOpenGLRenderWindow().get3DContext().canvas;return this._copyToOnscreenCanvas(e,I)}_renderViewportFromVtkCanvasToOnscreenCanvas(e,t){return this._copyToOnscreenCanvas(e,t)}_resizeOffScreenCanvasForViewport(e,t,n){const s=this.contextPool.getContextIndexForViewport(e.id);if(s===void 0||!this.contextPool.updateViewportSize(e.id,e.sWidth,e.sHeight))return;const i=this.contextPool.getMaxSizeForContext(s);t.width===i.width&&t.height===i.height||(t.width=i.width,t.height=i.height,n.resize())}_copyToOnscreenCanvas(e,t){const{element:n,canvas:s,id:o,renderingEngineId:i,suppressEvents:a}=e,r=e.sWidth,d=e.sHeight;G(s,{width:r,height:d});const g=s.getContext("2d"),m=this.contextPool.getContextIndexForViewport(o),x=this.contextPool.getMaxSizeForContext(m).height-d;return g.drawImage(t,0,x,r,d,0,0,r,d),{element:n,suppressEvents:a,viewportId:o,renderingEngineId:i,viewportStatus:e.viewportStatus}}_resize(e){const t=new Set;for(const n of e){n.sx=0,n.sy=0;const s=this.contextPool.getContextIndexForViewport(n.id);this.contextPool.updateViewportSize(n.id,n.sWidth,n.sHeight)&&t.add(s);const i=this.contextPool.getContextByIndex(s),{context:a}=i,r=a.getRenderer(n.id),d=this.contextPool.getMaxSizeForContext(s),g=Math.min(1,n.sWidth/d.width),m=Math.min(1,n.sHeight/d.height);r.setViewport(0,0,g,m)}t.forEach(n=>{const s=this.contextPool.getContextByIndex(n);if(s){const{context:o,container:i}=s,a=this.contextPool.getMaxSizeForContext(n);i.width=a.width,i.height=a.height,o.resize()}})}getWidgetRenderers(){const e=this._getViewportsAsArray(),t=new Map;return e.forEach(n=>{(n.getWidgets?n.getWidgets():[]).forEach(o=>{const i=o.getRenderer?o.getRenderer():null;i&&t.set(i,n.id)})}),t}getViewportRenderPasses(e){const t=this.getViewport(e);return t?.getRenderPasses?t.getRenderPasses():null}getRenderer(e){const t=this.contextPool?.getContextIndexForViewport(e);if(t===void 0||!this.contextPool)return;const n=this.contextPool.getContextByIndex(t);if(!n)return;const{context:s}=n;return s.getRenderer(e)}disableElement(e){const t=this.getViewport(e);if(t&&(super.disableElement(e),!W(t.type)&&this.contextPool)){const n=this.contextPool.getContextIndexForViewport(e);if(n!==void 0){const s=this.contextPool.getContextByIndex(n);if(s){const{context:o}=s;o.removeRenderer(e)}}this.contextPool.removeViewport(e)}}destroy(){super.destroy(),this.contextPool&&this.contextPool.destroy()}getOffscreenMultiRenderWindow(e){if(!this.contextPool)throw new Error("Offscreen multi render window is not available.");const t=this.contextPool.getContextIndexForViewport(e);if(t===void 0)throw new Error(`Offscreen multi render window is not available for viewport ${e}.`);const n=this.contextPool.getContextByIndex(t);if(!n)throw new Error(`Offscreen multi render window is not available for viewport ${e}.`);return n.context}}class lt{constructor(e){const n=L()?.rendering?.renderingEngineMode;switch(n){case O.Tiled:this._implementation=new He(e);break;case O.ContextPool:this._implementation=new A(e);break;default:console.warn(`RenderingEngine: Unknown rendering engine mode "${n}". Defaulting to Next rendering engine.`),this._implementation=new A(e);break}}get id(){return this._implementation.id}disableViewport(e){return this._implementation.disableElement(e)}enableElement(e){return this._implementation.enableElement(e)}disableElement(e){return this._implementation.disableElement(e)}setViewports(e){return this._implementation.setViewports(e)}resize(e=!0,t=!0){return this._implementation.resize(e,t)}getViewport(e){return this._implementation.getViewport(e)}getViewports(){return this._implementation.getViewports()}getRenderer(e){return this._implementation.getRenderer(e)}fillCanvasWithBackgroundColor(e,t){return this._implementation.fillCanvasWithBackgroundColor(e,t)}render(){return this._implementation.render()}renderViewports(e){return this._implementation.renderViewports(e)}renderViewport(e){return this._implementation.renderViewport(e)}destroy(){return this._implementation.destroy()}getOffscreenMultiRenderWindow(e){return this._implementation.getOffscreenMultiRenderWindow(e)}}const $e={adapter:K,getSnapshot:J},qe={adapter:Q,getSnapshot:Y},Ze={adapter:de,getSnapshot:re,getZoom:ae,getScale:ie,getPan:se,resolveICamera:oe,derivePresentation:ne,applyToRenderer:te,createImageSliceBasis:ee,createVolumeSliceBasis:X},Je={adapter:le,getSnapshot:ce},Ke={adapter:me,getSnapshot:ge},gt="5.8.2";class Ye extends he{constructor(e,t){super(e,t),this._dimensionGroupNumber=1,this._loadedDimensionGroups=new Set,this._getImageIdRequests=(o,i)=>this.getImageIdsRequests(o,i),this.getImageLoadRequests=o=>{const i=this.getImageIdsToLoad();return this._getImageIdRequests(i,o)};const{imageIdGroups:n,splittingTag:s}=e;this._splittingTag=s,this._imageIdGroups=n,this.numDimensionGroups=this._imageIdGroups.length}_getImageIdsToLoad(){const e=this._imageIdGroups,t=this._dimensionGroupNumber-1,n=[...e[t]];let s=t-1,o=t+1;for(;s>=0||o<e.length;)s>=0&&n.push(...e[s--]),o<e.length&&n.push(...e[o++]);return n}getImageIdsToLoad(){return this._getImageIdsToLoad()}get dimensionGroupNumber(){return this._dimensionGroupNumber}set dimensionGroupNumber(e){this._dimensionGroupNumber!==e&&(this._dimensionGroupNumber=e,this.voxelManager.setDimensionGroupNumber(e),this.invalidateVolume(!0),E(y,M.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED,{volumeId:this.volumeId,dimensionGroupNumber:e,numDimensionGroups:this.numDimensionGroups,imageIdGroupIndex:e-1,numImageIdGroups:this.numDimensionGroups,splittingTag:this.splittingTag}))}scroll(e){const t=this._dimensionGroupNumber+e;t<1?this.dimensionGroupNumber=this.numDimensionGroups:t>this.numDimensionGroups?this.dimensionGroupNumber=1:this.dimensionGroupNumber=t}getCurrentDimensionGroupImageIds(){return this._imageIdGroups[this._dimensionGroupNumber-1]}flatImageIdIndexToDimensionGroupNumber(e){return Math.floor(e/this._imageIdGroups[0].length)+1}flatImageIdIndexToImageIdIndex(e){return e%this._imageIdGroups[0].length}get splittingTag(){return this._splittingTag}isDimensionGroupLoaded(e){return this._loadedDimensionGroups.has(e)}markDimensionGroupAsLoaded(e){this._loadedDimensionGroups.add(e),E(y,M.DYNAMIC_VOLUME_DIMENSION_GROUP_LOADED,{volumeId:this.volumeId,dimensionGroupNumber:e})}checkDimensionGroupCompletion(e){const t=this.flatImageIdIndexToDimensionGroupNumber(e);this._imageIdGroups[t-1].every(o=>{const i=this.getImageIdIndex(o);return this.cachedFrames[i]===ue.FULL_RESOLUTION})&&!this.isDimensionGroupLoaded(t)&&this.markDimensionGroupAsLoaded(t)}}function Qe(l,e,t){return e.reduce((n,s)=>s.apply(n,t),l)}const Xe={name:"InPlaneDecimationModifier",apply(l,e){const[t=1,n=t]=e.options.ijkDecimation??[],s=Math.max(1,Math.floor(t)),o=Math.max(1,Math.floor(n));if(s===1&&o===1)return l;const[i,a]=l.dimensions,r=Math.max(1,Math.floor(i/s)),d=Math.max(1,Math.floor(a/o)),g=[r,d,l.dimensions[2]],m=[l.spacing[0]*s,l.spacing[1]*o,l.spacing[2]],p={...l.metadata,Columns:r,Rows:d,PixelSpacing:[m[1],m[0]]};return{...l,dimensions:g,spacing:m,metadata:p}}};function mt(l,e){if(!e||!e.imageIds||!e.imageIds.length)throw new Error("ImageIds must be provided to create a streaming image volume ");const[t=1,n=t,s=1]=e.ijkDecimation??[],o=Math.max(1,Math.floor(t)),i=n>1?Math.max(1,Math.floor(n)):o,a=Math.max(1,Math.floor(s)),r=o>1||i>1,d={ijkDecimation:[o,i,a]},g=[Xe];function m(c,u){return u===1?c:`${c}#decimation=${u}`}const p=Math.floor(e.imageIds.length/a),x=a>1&&e.imageIds.length<=p+1;if(a>1&&!x){const c=pe(e.imageIds,a),u=Array.isArray(c)&&c.length&&typeof c[0]=="number"?c.map(P=>e.imageIds[P]):c;e.imageIds=u}o>1&&(e.imageIds=e.imageIds.map(c=>m(c,o)));async function f(){const c=N(e.imageIds,l),u={volumeId:l,imageIds:e.imageIds,options:d},P=Qe(c,g,u),{dimensions:I,spacing:R,origin:w,direction:V,metadata:_,imageIds:b,dataType:B,numberOfComponents:z}=P,C=new xe({volumeId:l,metadata:_,dimensions:I,spacing:R,origin:w,direction:V,imageIds:b,dataType:B,numberOfComponents:z},{imageIds:b,loadStatus:{loaded:!1,loading:!1,cancelled:!1,cachedFrames:[],callbacks:[]}});if(r){const D=C.imageData;D&&(D.setDimensions(C.dimensions),D.setSpacing(C.spacing),D.modified());const T=j.createImageVolumeVoxelManager({dimensions:C.dimensions,imageIds:C.imageIds,numberOfComponents:z});C.voxelManager=T,D&&D.set({voxelManager:T})}return C}const h=f();return{promise:h,decache:()=>{h.then(c=>{c.destroy(),c=null})},cancel:()=>{h.then(c=>{c.cancelLoading()})}}}function ht(l,e){if(!e||!e.imageIds||!e.imageIds.length)throw new Error("ImageIds must be provided to create a 4D streaming image volume");const{imageIds:t}=e,{splittingTag:n,imageIdGroups:s}=we(t),o=Math.floor(s.length/2),i=N(s[o],l),{metadata:a,dimensions:r,spacing:d,direction:g,sizeInBytes:m,origin:p,numberOfComponents:x,dataType:f}=i,h=g.slice(6,9),c=s.map(R=>fe(R,h).sortedImageIds),u=c.flat(),P=j.createScalarDynamicVolumeVoxelManager({dimensions:r,imageIdGroups:c,dimensionGroupNumber:1,numberOfComponents:x});let I=new Ye({volumeId:l,metadata:a,dimensions:r,spacing:d,origin:p,direction:g,sizeInBytes:m,imageIds:u,imageIdGroups:c,splittingTag:n,voxelManager:P,numberOfComponents:x,dataType:f},{imageIds:u,loadStatus:{loaded:!1,loading:!1,cancelled:!1,cachedFrames:[],callbacks:[]}});return{promise:Promise.resolve(I),decache:()=>{I.destroy(),I=null},cancel:()=>{I.cancelLoading()}}}const ut={GenericViewport:je,DefaultRenderPathResolver:Ne,defaultRenderPathResolver:Le,ECGGenericViewport:Ae,createDefaultECGRenderPaths:Oe,createECGRenderPathResolver:ke,DefaultECGDataProvider:Fe,ecgProjection:$e,VideoGenericViewport:We,createDefaultVideoRenderPaths:Te,createVideoRenderPathResolver:ze,DefaultVideoDataProvider:be,videoProjection:qe,PlanarViewport:ye,createDefaultPlanarRenderPaths:Ge,createPlanarRenderPathResolver:_e,DefaultPlanarDataProvider:Me,planarProjection:Ze,VolumeViewport3D:Ee,createDefaultVolume3DRenderPaths:ve,createVolume3DRenderPathResolver:Se,DefaultVolume3DDataProvider:Re,volume3DProjection:Je,WSIGenericViewport:De,createDefaultWSIRenderPaths:Pe,createWSIRenderPathResolver:Ce,DefaultWSIDataProvider:Ve,wsiProjection:Ke},pt=Ie;export{ft as ActorRenderMode,U as BaseRenderingEngine,It as BaseVolumeViewport,Vt as CONSTANTS,A as ContextPoolRenderingEngine,Fe as DefaultECGDataProvider,Me as DefaultPlanarDataProvider,Ne as DefaultRenderPathResolver,be as DefaultVideoDataProvider,Re as DefaultVolume3DDataProvider,Ve as DefaultWSIDataProvider,Ae as ECGGenericViewport,Ct as ECGViewport,Pt as EPSILON,M as EVENTS,Dt as Enums,je as GenericViewport,Ee as GenericVolumeViewport3D,Rt as ImageVolume,pt as LegacyVolumeViewport3D,ye as PlanarViewport,St as ProgressiveRetrieveImages,vt as RenderBackends,lt as RenderingEngine,Et as Settings,Mt as StackViewport,Ye as StreamingDynamicImageVolume,xe as StreamingImageVolume,_t as Surface,He as TiledRenderingEngine,We as VideoGenericViewport,Gt as VideoViewport,yt as Viewport,bt as ViewportProjectionService,zt as VolumeViewport,Ie as VolumeViewport3D,De as WSIGenericViewport,Tt as WSIViewport,ct as addImageSlicesToViewports,kn as addVolumesToViewports,Wt as cache,Ft as canRenderFloatTextures,kt as convertColorArrayToRgbString,Ot as convertMapperToNotSharedMapper,At as cornerstoneMeshLoader,ht as cornerstoneStreamingDynamicImageVolumeLoader,Lt as cornerstoneStreamingImageVolumeLoader,Nt as createCanvas,Oe as createDefaultECGRenderPaths,Ge as createDefaultPlanarRenderPaths,Te as createDefaultVideoRenderPaths,ve as createDefaultVolume3DRenderPaths,Pe as createDefaultWSIRenderPaths,ke as createECGRenderPathResolver,_e as createPlanarRenderPathResolver,ze as createVideoRenderPathResolver,jt as createViewportElement,Se as createVolume3DRenderPathResolver,Bt as createVolumeActor,Ht as createVolumeMapper,Ce as createWSIRenderPathResolver,mt as decimatedVolumeLoader,Le as defaultRenderPathResolver,Ut as detectRenderingCapabilities,$e as ecgProjection,y as eventTarget,$t as geometryLoader,L as getConfiguration,qt as getEffectiveRenderBackend,vn as getEnabledElement,En as getEnabledElementByIds,Mn as getEnabledElementByViewportId,_n as getEnabledElements,S as getOrCreateCanvas,Zt as getProjectionScaleMatrix,Jt as getRenderBackend,Kt as getRenderingCapabilities,Yt as getRenderingEngine,Qt as getRenderingEngines,Xt as getShouldUseCPURendering,en as getUseGenericViewport,tn as getWebWorkerManager,nn as imageLoadPoolManager,on as imageLoader,sn as imageRetrievalPoolManager,an as init,rn as isCornerstoneInitialized,dn as isRegisteredRenderBackend,cn as isRegisteredViewportType,ln as metaData,gn as peerImport,Ze as planarProjection,mn as registerImageLoader,hn as registerRenderBackend,un as registerViewportType,ut as renderingEngineExportsV2,pn as requestPoolManager,xn as resetInitialization,wn as resetUseCPURendering,fn as setCanvasCreator,In as setConfiguration,Vn as setPreferSizeOverAccuracy,Cn as setRenderBackend,Pn as setUseCPURendering,Gn as setVolumesForViewports,E as triggerEvent,G as updateCanvasSizeAndAspectRatio,yn as utilities,gt as version,qe as videoProjection,bn as viewportHasCanvasWorldTransform,zn as viewportHasFrameOfReferenceUID,Tn as viewportHasPan,Wn as viewportHasZoom,Dn as viewportProjection,Je as volume3DProjection,Rn as volumeLoader,Ke as wsiProjection};
1
+ import{v as H,B as U,t as E,E as M,g as L,a as W,b as S,u as G,s as $,V as q,c as Z,e as y,i as F,d as k,f as v,R as O,h as J,j as K,k as Y,l as Q,m as X,n as ee,o as te,p as ne,r as oe,q as se,w as ie,x as ae,y as re,z as de,A as ce,C as le,D as ge,F as me,G as he,I as ue,H as pe,J as N,S as xe,K as j,L as we,M as fe,N as Ie,O as Ve,P as Ce,Q as Pe,W as De,T as Re,U as Se,X as ve,Y as Ee,Z as Me,_ as _e,$ as Ge,a0 as ye,a1 as be,a2 as ze,a3 as Te,a4 as We,a5 as Fe,a6 as ke,a7 as Oe,a8 as Ae,a9 as Le,aa as Ne,ab as je}from"./Settings-Lh5-Idpb.js";import{ac as ft,ad as It,ae as Vt,af as Ct,ag as Pt,ah as Dt,ai as Rt,aj as St,ak as vt,al as Et,am as Mt,an as _t,ao as Gt,ap as yt,aq as bt,ar as zt,as as Tt,at as Wt,au as Ft,av as kt,aw as Ot,ax as At,ay as Lt,az as Nt,aA as jt,aB as Bt,aC as Ht,aD as Ut,aE as $t,aF as qt,aG as Zt,aH as Jt,aI as Kt,aJ as Yt,aK as Qt,aL as Xt,aM as en,aN as tn,aO as nn,aP as on,aQ as sn,aR as an,aS as rn,aT as dn,aU as cn,aV as ln,aW as gn,aX as mn,aY as hn,aZ as un,aO as pn,a_ as xn,a$ as wn,b0 as fn,b1 as In,b2 as Vn,b3 as Cn,b4 as Pn,b5 as Dn,b6 as Rn}from"./Settings-Lh5-Idpb.js";import{a as Be,T as He}from"./index-DZoHb_SF.js";import{g as vn,b as En,c as Mn,d as _n,s as Gn,u as yn,v as bn,e as zn,f as Tn,h as Wn}from"./index-DZoHb_SF.js";import"./cornerstoneEngine-6xiFBOB0.js";import"./Texture-Bp42AyqW.js";import{a as kn}from"./addVolumesToViewports-CqLqXcsP.js";import"./dcmjs.es-DfWkgqfk.js";import"./index-CotD-dDN.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";function ct(l,e,t){for(const n of t){const s=l.getViewport(n);if(!s)throw new Error(`Viewport with Id ${n} does not exist`);if(!s.addImages){console.warn(`Viewport with Id ${n} does not have addImages. Cannot add image segmentation to this viewport.`);return}}t.forEach(n=>{l.getViewport(n).addImages(e)})}class Ue{constructor(e,t=""){this.contexts=[],this.offScreenCanvasContainers=[],this.viewportToContext=new Map,this.viewportSizes=new Map,this.contextMaxSizes=new Map;for(let n=0;n<e;n++){const s=H.newInstance(),o=document.createElement("div");s.setContainer(o),Be(s,t,n),this.contexts.push(s),this.offScreenCanvasContainers.push(o)}}getContextByIndex(e){return e>=0&&e<this.contexts.length?{context:this.contexts[e],container:this.offScreenCanvasContainers[e]}:null}assignViewportToContext(e,t){this.viewportToContext.set(e,t)}getContextIndexForViewport(e){return this.viewportToContext.get(e)}getAllContexts(){return this.contexts}getContextCount(){return this.contexts.length}updateViewportSize(e,t,n){const s=this.viewportToContext.get(e);if(s===void 0)return!1;this.viewportSizes.set(e,{width:t,height:n});const o=this.contextMaxSizes.get(s),i=this.calculateMaxSizeForContext(s);return this.contextMaxSizes.set(s,i),!o||o.width!==i.width||o.height!==i.height}getMaxSizeForContext(e){return this.contextMaxSizes.get(e)}calculateMaxSizeForContext(e){let t=0,n=0;return this.viewportToContext.forEach((s,o)=>{if(s===e){const i=this.viewportSizes.get(o);i&&(t=Math.max(t,i.width),n=Math.max(n,i.height))}}),{width:t,height:n}}removeViewport(e){const t=this.viewportToContext.get(e);if(this.viewportToContext.delete(e),this.viewportSizes.delete(e),t!==void 0){const n=this.calculateMaxSizeForContext(t);this.contextMaxSizes.set(t,n)}}destroy(){this.contexts.forEach(e=>{e.delete()}),this.contexts=[],this.offScreenCanvasContainers=[],this.viewportToContext.clear(),this.viewportSizes.clear(),this.contextMaxSizes.clear()}}class A extends U{constructor(e){super(e),this._renderFlaggedViewports=()=>{this._throwIfDestroyed();const n=this._getViewportsAsArray().filter(o=>this._needsRender.has(o.id));if(n.length===0){this._animationFrameSet=!1,this._animationFrameHandle=null;return}const s=n.map(o=>{const i=this.renderViewportUsingCustomOrVtkPipeline(o);return o.setRendered(),this._needsRender.delete(o.id),i});this._animationFrameSet=!1,this._animationFrameHandle=null,s.forEach(o=>{o?.element&&E(o.element,M.IMAGE_RENDERED,o)})},this.useCPURendering||this.ensureContextPool()}ensureContextPool(){if(!this.contextPool){const{rendering:e}=L(),{webGlContextCount:t}=e;this.contextPool=new Ue(t,this.id)}return this.contextPool}enableVTKjsDrivenViewport(e){const s=this._getViewportsAsArray().filter(a=>W(a.type)===!1).map(a=>a.canvas),o=S(e.element);G(o),s.push(o);const i={...e,canvas:o};this.addVtkjsDrivenViewport(i)}addVtkjsDrivenViewport(e){const t=this.ensureContextPool(),{element:n,canvas:s,viewportId:o,type:i,defaultOptions:a}=e;n.tabIndex=-1,$(n);let r=0;if(i===q.STACK){const u=t.getAllContexts();r=this._viewports.size%u.length}t.assignViewportToContext(o,r),t.updateViewportSize(o,s.width,s.height);const d=t.getContextByIndex(r),{context:g,container:m}=d,p=t.getMaxSizeForContext(r);m.width=p.width,m.height=p.height,g.resize(),g.addRenderer({viewport:[0,0,1,1],id:o,background:a.background?a.background:[0,0,0]});const x={id:o,element:n,renderingEngineId:this.id,type:i,canvas:s,sx:0,sy:0,sWidth:s.width,sHeight:s.height,defaultOptions:a||{}},f=Z(e);if(!f)throw new Error(`Viewport Type ${i} is not supported`);const h=new f(x);h.requestedType=e.requestedType??i,this._viewports.set(o,h);const c={element:n,viewportId:o,renderingEngineId:this.id};h.suppressEvents||E(y,M.ELEMENT_ENABLED,c)}setVtkjsDrivenViewports(e){if(e.length){const t=e.map(n=>S(n.element));t.forEach(n=>G(n));for(let n=0;n<e.length;n++){const s=e[n],o=t[n],i={...s,canvas:o};this.addVtkjsDrivenViewport(i)}}}_getDisplayedSize(e){const t=window.devicePixelRatio||1,n=F(e)?e.element:S(e.element);return{displayedWidth:Math.round(n.clientWidth*t),displayedHeight:Math.round(n.clientHeight*t)}}_resizeVTKViewports(e,t=!0,n=!0){const s=[];for(const o of e){const i=S(o.element),{displayedWidth:a,displayedHeight:r}=this._getDisplayedSize(o);if(a===0||r===0)continue;const d=i.width,g=i.height;a===d&&r===g||s.push(o)}if(s.length!==0){for(const o of s){const{displayedWidth:i,displayedHeight:a}=this._getDisplayedSize(o),r=Math.max(v,i),d=Math.max(v,a);o.sWidth=r,o.sHeight=d}this._animationFrameSet||(e.length&&this._resize(e),e.forEach(o=>{if(o.resize?.(),F(o))return;const i=o.getCamera(),a=o.getRotation?.()??0,{flipHorizontal:r}=i,d=o;d.resetViewStateForResize?d.resetViewStateForResize():d.resetCameraForResize?.();const g=o.getDisplayArea();t&&(g?(r&&o.setCamera({flipHorizontal:r}),a&&o.setViewPresentation({rotation:a})):o.setCamera(i))}),n&&this.render())}}renderViewportUsingCustomOrVtkPipeline(e){if(k(e))return e.customRenderViewportToCanvas();if(!this.contextPool)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");const t=this.contextPool.getContextIndexForViewport(e.id),n=this.contextPool.getContextByIndex(t),{context:s,container:o}=n;return this._renderViewportWithContext(e,s,o)}_renderViewportWithContext(e,t,n){if(e.canvas.clientWidth===0||e.canvas.clientHeight===0)return;if(e.sWidth<v||e.sHeight<v){console.warn("Viewport is too small",e.sWidth,e.sHeight);return}if(k(e))return e.customRenderViewportToCanvas();if(!this.contextPool)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");t.getRenderer(e.id)||t.addRenderer({viewport:[0,0,1,1],id:e.id,background:e.defaultOptions?.background||[0,0,0]});const s=t.getRenderWindow(),o=s.getViews()[0],i=o.getRenderPasses(),a=this.getViewportRenderPasses(e.id);a&&o.setRenderPasses(a),this._resizeOffScreenCanvasForViewport(e,n,t);const r=t.getRenderer(e.id),d=this.contextPool.getContextIndexForViewport(e.id),g=this.contextPool.getMaxSizeForContext(d),m=e.sWidth,p=e.sHeight,x=Math.min(1,m/g.width),f=Math.min(1,p/g.height);r.setViewport(0,0,x,f);const h=t.getRenderers();h.forEach(({renderer:w,id:V})=>{const _=V.split("::")[0];w.setDraw(_===e.id)});const c=this.getWidgetRenderers();c.forEach((w,V)=>{V.setDraw(w===e.id)}),s.render(),h.forEach(({renderer:w})=>w.setDraw(!1)),c.forEach((w,V)=>{V.setDraw(!1)}),i&&o.setRenderPasses(i);const I=t.getOpenGLRenderWindow().get3DContext().canvas;return this._copyToOnscreenCanvas(e,I)}_renderViewportFromVtkCanvasToOnscreenCanvas(e,t){return this._copyToOnscreenCanvas(e,t)}_resizeOffScreenCanvasForViewport(e,t,n){const s=this.contextPool.getContextIndexForViewport(e.id);if(s===void 0||!this.contextPool.updateViewportSize(e.id,e.sWidth,e.sHeight))return;const i=this.contextPool.getMaxSizeForContext(s);t.width===i.width&&t.height===i.height||(t.width=i.width,t.height=i.height,n.resize())}_copyToOnscreenCanvas(e,t){const{element:n,canvas:s,id:o,renderingEngineId:i,suppressEvents:a}=e,r=e.sWidth,d=e.sHeight;G(s,{width:r,height:d});const g=s.getContext("2d"),m=this.contextPool.getContextIndexForViewport(o),x=this.contextPool.getMaxSizeForContext(m).height-d;return g.drawImage(t,0,x,r,d,0,0,r,d),{element:n,suppressEvents:a,viewportId:o,renderingEngineId:i,viewportStatus:e.viewportStatus}}_resize(e){const t=new Set;for(const n of e){n.sx=0,n.sy=0;const s=this.contextPool.getContextIndexForViewport(n.id);this.contextPool.updateViewportSize(n.id,n.sWidth,n.sHeight)&&t.add(s);const i=this.contextPool.getContextByIndex(s),{context:a}=i,r=a.getRenderer(n.id),d=this.contextPool.getMaxSizeForContext(s),g=Math.min(1,n.sWidth/d.width),m=Math.min(1,n.sHeight/d.height);r.setViewport(0,0,g,m)}t.forEach(n=>{const s=this.contextPool.getContextByIndex(n);if(s){const{context:o,container:i}=s,a=this.contextPool.getMaxSizeForContext(n);i.width=a.width,i.height=a.height,o.resize()}})}getWidgetRenderers(){const e=this._getViewportsAsArray(),t=new Map;return e.forEach(n=>{(n.getWidgets?n.getWidgets():[]).forEach(o=>{const i=o.getRenderer?o.getRenderer():null;i&&t.set(i,n.id)})}),t}getViewportRenderPasses(e){const t=this.getViewport(e);return t?.getRenderPasses?t.getRenderPasses():null}getRenderer(e){const t=this.contextPool?.getContextIndexForViewport(e);if(t===void 0||!this.contextPool)return;const n=this.contextPool.getContextByIndex(t);if(!n)return;const{context:s}=n;return s.getRenderer(e)}disableElement(e){const t=this.getViewport(e);if(t&&(super.disableElement(e),!W(t.type)&&this.contextPool)){const n=this.contextPool.getContextIndexForViewport(e);if(n!==void 0){const s=this.contextPool.getContextByIndex(n);if(s){const{context:o}=s;o.removeRenderer(e)}}this.contextPool.removeViewport(e)}}destroy(){super.destroy(),this.contextPool&&this.contextPool.destroy()}getOffscreenMultiRenderWindow(e){if(!this.contextPool)throw new Error("Offscreen multi render window is not available.");const t=this.contextPool.getContextIndexForViewport(e);if(t===void 0)throw new Error(`Offscreen multi render window is not available for viewport ${e}.`);const n=this.contextPool.getContextByIndex(t);if(!n)throw new Error(`Offscreen multi render window is not available for viewport ${e}.`);return n.context}}class lt{constructor(e){const n=L()?.rendering?.renderingEngineMode;switch(n){case O.Tiled:this._implementation=new He(e);break;case O.ContextPool:this._implementation=new A(e);break;default:console.warn(`RenderingEngine: Unknown rendering engine mode "${n}". Defaulting to Next rendering engine.`),this._implementation=new A(e);break}}get id(){return this._implementation.id}disableViewport(e){return this._implementation.disableElement(e)}enableElement(e){return this._implementation.enableElement(e)}disableElement(e){return this._implementation.disableElement(e)}setViewports(e){return this._implementation.setViewports(e)}resize(e=!0,t=!0){return this._implementation.resize(e,t)}getViewport(e){return this._implementation.getViewport(e)}getViewports(){return this._implementation.getViewports()}getRenderer(e){return this._implementation.getRenderer(e)}fillCanvasWithBackgroundColor(e,t){return this._implementation.fillCanvasWithBackgroundColor(e,t)}render(){return this._implementation.render()}renderViewports(e){return this._implementation.renderViewports(e)}renderViewport(e){return this._implementation.renderViewport(e)}destroy(){return this._implementation.destroy()}getOffscreenMultiRenderWindow(e){return this._implementation.getOffscreenMultiRenderWindow(e)}}const $e={adapter:K,getSnapshot:J},qe={adapter:Q,getSnapshot:Y},Ze={adapter:de,getSnapshot:re,getZoom:ae,getScale:ie,getPan:se,resolveICamera:oe,derivePresentation:ne,applyToRenderer:te,createImageSliceBasis:ee,createVolumeSliceBasis:X},Je={adapter:le,getSnapshot:ce},Ke={adapter:me,getSnapshot:ge},gt="5.8.2";class Ye extends he{constructor(e,t){super(e,t),this._dimensionGroupNumber=1,this._loadedDimensionGroups=new Set,this._getImageIdRequests=(o,i)=>this.getImageIdsRequests(o,i),this.getImageLoadRequests=o=>{const i=this.getImageIdsToLoad();return this._getImageIdRequests(i,o)};const{imageIdGroups:n,splittingTag:s}=e;this._splittingTag=s,this._imageIdGroups=n,this.numDimensionGroups=this._imageIdGroups.length}_getImageIdsToLoad(){const e=this._imageIdGroups,t=this._dimensionGroupNumber-1,n=[...e[t]];let s=t-1,o=t+1;for(;s>=0||o<e.length;)s>=0&&n.push(...e[s--]),o<e.length&&n.push(...e[o++]);return n}getImageIdsToLoad(){return this._getImageIdsToLoad()}get dimensionGroupNumber(){return this._dimensionGroupNumber}set dimensionGroupNumber(e){this._dimensionGroupNumber!==e&&(this._dimensionGroupNumber=e,this.voxelManager.setDimensionGroupNumber(e),this.invalidateVolume(!0),E(y,M.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED,{volumeId:this.volumeId,dimensionGroupNumber:e,numDimensionGroups:this.numDimensionGroups,imageIdGroupIndex:e-1,numImageIdGroups:this.numDimensionGroups,splittingTag:this.splittingTag}))}scroll(e){const t=this._dimensionGroupNumber+e;t<1?this.dimensionGroupNumber=this.numDimensionGroups:t>this.numDimensionGroups?this.dimensionGroupNumber=1:this.dimensionGroupNumber=t}getCurrentDimensionGroupImageIds(){return this._imageIdGroups[this._dimensionGroupNumber-1]}flatImageIdIndexToDimensionGroupNumber(e){return Math.floor(e/this._imageIdGroups[0].length)+1}flatImageIdIndexToImageIdIndex(e){return e%this._imageIdGroups[0].length}get splittingTag(){return this._splittingTag}isDimensionGroupLoaded(e){return this._loadedDimensionGroups.has(e)}markDimensionGroupAsLoaded(e){this._loadedDimensionGroups.add(e),E(y,M.DYNAMIC_VOLUME_DIMENSION_GROUP_LOADED,{volumeId:this.volumeId,dimensionGroupNumber:e})}checkDimensionGroupCompletion(e){const t=this.flatImageIdIndexToDimensionGroupNumber(e);this._imageIdGroups[t-1].every(o=>{const i=this.getImageIdIndex(o);return this.cachedFrames[i]===ue.FULL_RESOLUTION})&&!this.isDimensionGroupLoaded(t)&&this.markDimensionGroupAsLoaded(t)}}function Qe(l,e,t){return e.reduce((n,s)=>s.apply(n,t),l)}const Xe={name:"InPlaneDecimationModifier",apply(l,e){const[t=1,n=t]=e.options.ijkDecimation??[],s=Math.max(1,Math.floor(t)),o=Math.max(1,Math.floor(n));if(s===1&&o===1)return l;const[i,a]=l.dimensions,r=Math.max(1,Math.floor(i/s)),d=Math.max(1,Math.floor(a/o)),g=[r,d,l.dimensions[2]],m=[l.spacing[0]*s,l.spacing[1]*o,l.spacing[2]],p={...l.metadata,Columns:r,Rows:d,PixelSpacing:[m[1],m[0]]};return{...l,dimensions:g,spacing:m,metadata:p}}};function mt(l,e){if(!e||!e.imageIds||!e.imageIds.length)throw new Error("ImageIds must be provided to create a streaming image volume ");const[t=1,n=t,s=1]=e.ijkDecimation??[],o=Math.max(1,Math.floor(t)),i=n>1?Math.max(1,Math.floor(n)):o,a=Math.max(1,Math.floor(s)),r=o>1||i>1,d={ijkDecimation:[o,i,a]},g=[Xe];function m(c,u){return u===1?c:`${c}#decimation=${u}`}const p=Math.floor(e.imageIds.length/a),x=a>1&&e.imageIds.length<=p+1;if(a>1&&!x){const c=pe(e.imageIds,a),u=Array.isArray(c)&&c.length&&typeof c[0]=="number"?c.map(P=>e.imageIds[P]):c;e.imageIds=u}o>1&&(e.imageIds=e.imageIds.map(c=>m(c,o)));async function f(){const c=N(e.imageIds,l),u={volumeId:l,imageIds:e.imageIds,options:d},P=Qe(c,g,u),{dimensions:I,spacing:R,origin:w,direction:V,metadata:_,imageIds:b,dataType:B,numberOfComponents:z}=P,C=new xe({volumeId:l,metadata:_,dimensions:I,spacing:R,origin:w,direction:V,imageIds:b,dataType:B,numberOfComponents:z},{imageIds:b,loadStatus:{loaded:!1,loading:!1,cancelled:!1,cachedFrames:[],callbacks:[]}});if(r){const D=C.imageData;D&&(D.setDimensions(C.dimensions),D.setSpacing(C.spacing),D.modified());const T=j.createImageVolumeVoxelManager({dimensions:C.dimensions,imageIds:C.imageIds,numberOfComponents:z});C.voxelManager=T,D&&D.set({voxelManager:T})}return C}const h=f();return{promise:h,decache:()=>{h.then(c=>{c.destroy(),c=null})},cancel:()=>{h.then(c=>{c.cancelLoading()})}}}function ht(l,e){if(!e||!e.imageIds||!e.imageIds.length)throw new Error("ImageIds must be provided to create a 4D streaming image volume");const{imageIds:t}=e,{splittingTag:n,imageIdGroups:s}=we(t),o=Math.floor(s.length/2),i=N(s[o],l),{metadata:a,dimensions:r,spacing:d,direction:g,sizeInBytes:m,origin:p,numberOfComponents:x,dataType:f}=i,h=g.slice(6,9),c=s.map(R=>fe(R,h).sortedImageIds),u=c.flat(),P=j.createScalarDynamicVolumeVoxelManager({dimensions:r,imageIdGroups:c,dimensionGroupNumber:1,numberOfComponents:x});let I=new Ye({volumeId:l,metadata:a,dimensions:r,spacing:d,origin:p,direction:g,sizeInBytes:m,imageIds:u,imageIdGroups:c,splittingTag:n,voxelManager:P,numberOfComponents:x,dataType:f},{imageIds:u,loadStatus:{loaded:!1,loading:!1,cancelled:!1,cachedFrames:[],callbacks:[]}});return{promise:Promise.resolve(I),decache:()=>{I.destroy(),I=null},cancel:()=>{I.cancelLoading()}}}const ut={GenericViewport:je,DefaultRenderPathResolver:Ne,defaultRenderPathResolver:Le,ECGGenericViewport:Ae,createDefaultECGRenderPaths:Oe,createECGRenderPathResolver:ke,DefaultECGDataProvider:Fe,ecgProjection:$e,VideoGenericViewport:We,createDefaultVideoRenderPaths:Te,createVideoRenderPathResolver:ze,DefaultVideoDataProvider:be,videoProjection:qe,PlanarViewport:ye,createDefaultPlanarRenderPaths:Ge,createPlanarRenderPathResolver:_e,DefaultPlanarDataProvider:Me,planarProjection:Ze,VolumeViewport3D:Ee,createDefaultVolume3DRenderPaths:ve,createVolume3DRenderPathResolver:Se,DefaultVolume3DDataProvider:Re,volume3DProjection:Je,WSIGenericViewport:De,createDefaultWSIRenderPaths:Pe,createWSIRenderPathResolver:Ce,DefaultWSIDataProvider:Ve,wsiProjection:Ke},pt=Ie;export{ft as ActorRenderMode,U as BaseRenderingEngine,It as BaseVolumeViewport,Vt as CONSTANTS,A as ContextPoolRenderingEngine,Fe as DefaultECGDataProvider,Me as DefaultPlanarDataProvider,Ne as DefaultRenderPathResolver,be as DefaultVideoDataProvider,Re as DefaultVolume3DDataProvider,Ve as DefaultWSIDataProvider,Ae as ECGGenericViewport,Ct as ECGViewport,Pt as EPSILON,M as EVENTS,Dt as Enums,je as GenericViewport,Ee as GenericVolumeViewport3D,Rt as ImageVolume,pt as LegacyVolumeViewport3D,ye as PlanarViewport,St as ProgressiveRetrieveImages,vt as RenderBackends,lt as RenderingEngine,Et as Settings,Mt as StackViewport,Ye as StreamingDynamicImageVolume,xe as StreamingImageVolume,_t as Surface,He as TiledRenderingEngine,We as VideoGenericViewport,Gt as VideoViewport,yt as Viewport,bt as ViewportProjectionService,zt as VolumeViewport,Ie as VolumeViewport3D,De as WSIGenericViewport,Tt as WSIViewport,ct as addImageSlicesToViewports,kn as addVolumesToViewports,Wt as cache,Ft as canRenderFloatTextures,kt as convertColorArrayToRgbString,Ot as convertMapperToNotSharedMapper,At as cornerstoneMeshLoader,ht as cornerstoneStreamingDynamicImageVolumeLoader,Lt as cornerstoneStreamingImageVolumeLoader,Nt as createCanvas,Oe as createDefaultECGRenderPaths,Ge as createDefaultPlanarRenderPaths,Te as createDefaultVideoRenderPaths,ve as createDefaultVolume3DRenderPaths,Pe as createDefaultWSIRenderPaths,ke as createECGRenderPathResolver,_e as createPlanarRenderPathResolver,ze as createVideoRenderPathResolver,jt as createViewportElement,Se as createVolume3DRenderPathResolver,Bt as createVolumeActor,Ht as createVolumeMapper,Ce as createWSIRenderPathResolver,mt as decimatedVolumeLoader,Le as defaultRenderPathResolver,Ut as detectRenderingCapabilities,$e as ecgProjection,y as eventTarget,$t as geometryLoader,L as getConfiguration,qt as getEffectiveRenderBackend,vn as getEnabledElement,En as getEnabledElementByIds,Mn as getEnabledElementByViewportId,_n as getEnabledElements,S as getOrCreateCanvas,Zt as getProjectionScaleMatrix,Jt as getRenderBackend,Kt as getRenderingCapabilities,Yt as getRenderingEngine,Qt as getRenderingEngines,Xt as getShouldUseCPURendering,en as getUseGenericViewport,tn as getWebWorkerManager,nn as imageLoadPoolManager,on as imageLoader,sn as imageRetrievalPoolManager,an as init,rn as isCornerstoneInitialized,dn as isRegisteredRenderBackend,cn as isRegisteredViewportType,ln as metaData,gn as peerImport,Ze as planarProjection,mn as registerImageLoader,hn as registerRenderBackend,un as registerViewportType,ut as renderingEngineExportsV2,pn as requestPoolManager,xn as resetInitialization,wn as resetUseCPURendering,fn as setCanvasCreator,In as setConfiguration,Vn as setPreferSizeOverAccuracy,Cn as setRenderBackend,Pn as setUseCPURendering,Gn as setVolumesForViewports,E as triggerEvent,G as updateCanvasSizeAndAspectRatio,yn as utilities,gt as version,qe as videoProjection,bn as viewportHasCanvasWorldTransform,zn as viewportHasFrameOfReferenceUID,Tn as viewportHasPan,Wn as viewportHasZoom,Dn as viewportProjection,Je as volume3DProjection,Rn as volumeLoader,Ke as wsiProjection};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-Cr-62kat.js","./_commonjsHelpers-CE1G-McA.js","./index-BKFXqCRC.js","./index-CywLvK7B.css"])))=>i.map(i=>d[i]);
2
- import{_ as u,b as a,I as c}from"./index-BKFXqCRC.js";import{r as p}from"./refusal-DOpm8I8L.js";const m={gray:"gray",hot:"hot",jet:"jet",cool:"cool"},d={wl:"contrast",pan:"pan",length:"measurement",angle:"angle"};class g{name="niivue";host;path;nv=null;module=null;layout="mpr";tool="wl";colormap="gray";slice=0;slices=0;refused=0;disposed=!1;constructor(s,t){this.host=s,this.path=t}async open(s){const t=document.createElement("canvas");t.className="image-canvas",s.appendChild(t),this.host.readout_set("LOADING"),this.host.progress_set({label:"READING VOLUME",done:0,total:0});const e=performance.now();if(this.module=await u(()=>import("./index-Cr-62kat.js"),__vite__mapDeps([0,1,2,3]),import.meta.url),this.disposed)return;const i=new this.module.Niivue({isResizeCanvas:!0,logLevel:"error",dragAndDropEnabled:!1,crosshairWidth:.4,crosshairWidthUnit:"percent"});i.onLocationChange=o=>{const r=o,l=r.vox?.[2];l!==void 0&&(this.slice=l+1),this.host.readout_set(`${this.slices>0?`SLICE ${this.slice} OF ${this.slices} · `:""}${r.string??""}`)},await i.attachToCanvas(t);const n=this.path.split("/").pop()??"volume.nii.gz";try{await i.loadVolumes([{url:a(this.host.source.url_resolve(this.path),location.href),name:n}])}catch(o){this.refused=1,this.host.progress_set(null),this.host.readout_set("REFUSED 1 OF 1"),this.host.note(`image: ${this.path}: ${o instanceof Error?o.message:String(o)}`);const r=await p(a(this.host.source.url_resolve(this.path),location.href));this.host.readout_set(`REFUSED 1 OF 1 · ${r}`),this.host.note(`image: ${this.path}: ${r.toLowerCase()}`);return}if(this.host.progress_set(null),this.disposed)return;this.nv=i;const h=i.volumes[0]?.dims;this.slices=h?.[3]??0,i.setSliceType(i.sliceTypeMultiplanar),this.layout="mpr",this.host.readout_set(`${this.slices} SLICES`),this.host.note(`image: ${n} drawn in ${Math.round(performance.now()-e)} ms`),this.host.regard(this.path)}async layout_set(s){return s==="slab"||this.nv===null?!1:(this.nv.setSliceType(s==="single"?this.nv.sliceTypeAxial:s==="mpr"?this.nv.sliceTypeMultiplanar:this.nv.sliceTypeRender),this.layout=s,this.host.readout_set(`${this.slices} SLICES`),!0)}slice_set(s){if(this.nv===null||this.slices===0)return!1;const t=Math.max(1,Math.min(s,this.slices)),e=this.slice>0?this.slice:Math.ceil(this.slices/2);return this.nv.moveCrosshairInVox(0,0,t-e),this.slice=t,!0}wl_set(s,t){const e=this.nv?.volumes[0];return this.nv===null||e===void 0?!1:(e.cal_min=s,e.cal_max=t,this.nv.updateGLVolume(),!0)}colormap_set(s){const t=this.nv?.volumes[0];return this.nv===null||t?.id===void 0?!1:(this.colormap=s,this.nv.setColormap(t.id,m[s]),!0)}toolsOffered_get(){return c}ghost_set(s){return!1}tool_set(s){const t=d[s];return this.nv===null||t===void 0?!1:(this.nv.setDragMode(t),this.tool=s,!0)}annotations_export(){return Promise.resolve(null)}annotations_import(){return Promise.resolve(0)}async slices_fill(){return this.nv!==null}state_get(){return{engine:"niivue",layout:this.layout,slice:this.slice,slices:this.slices,tool:this.tool,primaryTool:this.tool,refused:this.refused,annotations:0,filled:this.nv!==null,colormap:this.colormap}}dispose(){this.disposed=!0,this.nv=null}}export{g as NiivueEngine};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-DHkZ5Kgb.js","./_commonjsHelpers-CE1G-McA.js","./index-CotD-dDN.js","./index-DlON4O9R.css"])))=>i.map(i=>d[i]);
2
+ import{_ as u,b as a,I as c}from"./index-CotD-dDN.js";import{r as p}from"./refusal-DOpm8I8L.js";const m={gray:"gray",hot:"hot",jet:"jet",cool:"cool"},d={wl:"contrast",pan:"pan",length:"measurement",angle:"angle"};class g{name="niivue";host;path;nv=null;module=null;layout="mpr";tool="wl";colormap="gray";slice=0;slices=0;refused=0;disposed=!1;constructor(s,t){this.host=s,this.path=t}async open(s){const t=document.createElement("canvas");t.className="image-canvas",s.appendChild(t),this.host.readout_set("LOADING"),this.host.progress_set({label:"READING VOLUME",done:0,total:0});const e=performance.now();if(this.module=await u(()=>import("./index-DHkZ5Kgb.js"),__vite__mapDeps([0,1,2,3]),import.meta.url),this.disposed)return;const i=new this.module.Niivue({isResizeCanvas:!0,logLevel:"error",dragAndDropEnabled:!1,crosshairWidth:.4,crosshairWidthUnit:"percent"});i.onLocationChange=o=>{const r=o,l=r.vox?.[2];l!==void 0&&(this.slice=l+1),this.host.readout_set(`${this.slices>0?`SLICE ${this.slice} OF ${this.slices} · `:""}${r.string??""}`)},await i.attachToCanvas(t);const n=this.path.split("/").pop()??"volume.nii.gz";try{await i.loadVolumes([{url:a(this.host.source.url_resolve(this.path),location.href),name:n}])}catch(o){this.refused=1,this.host.progress_set(null),this.host.readout_set("REFUSED 1 OF 1"),this.host.note(`image: ${this.path}: ${o instanceof Error?o.message:String(o)}`);const r=await p(a(this.host.source.url_resolve(this.path),location.href));this.host.readout_set(`REFUSED 1 OF 1 · ${r}`),this.host.note(`image: ${this.path}: ${r.toLowerCase()}`);return}if(this.host.progress_set(null),this.disposed)return;this.nv=i;const h=i.volumes[0]?.dims;this.slices=h?.[3]??0,i.setSliceType(i.sliceTypeMultiplanar),this.layout="mpr",this.host.readout_set(`${this.slices} SLICES`),this.host.note(`image: ${n} drawn in ${Math.round(performance.now()-e)} ms`),this.host.regard(this.path)}async layout_set(s){return s==="slab"||this.nv===null?!1:(this.nv.setSliceType(s==="single"?this.nv.sliceTypeAxial:s==="mpr"?this.nv.sliceTypeMultiplanar:this.nv.sliceTypeRender),this.layout=s,this.host.readout_set(`${this.slices} SLICES`),!0)}slice_set(s){if(this.nv===null||this.slices===0)return!1;const t=Math.max(1,Math.min(s,this.slices)),e=this.slice>0?this.slice:Math.ceil(this.slices/2);return this.nv.moveCrosshairInVox(0,0,t-e),this.slice=t,!0}wl_set(s,t){const e=this.nv?.volumes[0];return this.nv===null||e===void 0?!1:(e.cal_min=s,e.cal_max=t,this.nv.updateGLVolume(),!0)}colormap_set(s){const t=this.nv?.volumes[0];return this.nv===null||t?.id===void 0?!1:(this.colormap=s,this.nv.setColormap(t.id,m[s]),!0)}toolsOffered_get(){return c}ghost_set(s){return!1}tool_set(s){const t=d[s];return this.nv===null||t===void 0?!1:(this.nv.setDragMode(t),this.tool=s,!0)}annotations_export(){return Promise.resolve(null)}annotations_import(){return Promise.resolve(0)}async slices_fill(){return this.nv!==null}state_get(){return{engine:"niivue",layout:this.layout,slice:this.slice,slices:this.slices,tool:this.tool,primaryTool:this.tool,refused:this.refused,annotations:0,filled:this.nv!==null,colormap:this.colormap}}dispose(){this.disposed=!0,this.nv=null}}export{g as NiivueEngine};
@@ -1,4 +1,4 @@
1
- import{m as v,as as _e,R as ft,K as Ge,L as Le,W as ke,N as We,k as de,E as X,t as vt,i as Me,x as ce,F as ht,Z as St,h as dt,D as Tt,al as wt,c as yt,at as Ct,d as Ve,au as xt,y as ue,ak as le,av as ze,j as pe}from"./cornerstoneEngine-DDdBaE6m.js";import{ae as Ne,am as De,an as re,K as B,k as Z,al as $,D as se,U as $e,X as Be,B as Q,J as Et,E as Rt,ak as _t,$ as He,a2 as Mt,Z as Vt,b as Dt,_ as Ke,ao as Bt,ap as be,aq as mt,ar as Te,as as Ot,z as Ut,at as Ft,au as Pt,av as ae,ad as Gt,R as Lt,aw as Y,ah as kt,ai as Wt,C as zt,P as Nt,I as $t,a as Ht}from"./Texture-CK20OQnL.js";import"./index-BKFXqCRC.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";function Kt(t){return t}function ye(t){if(t===null||t==="null")return null;if(t==="true")return!0;if(t==="false")return!1;if(!(t===void 0||t==="undefined"))return t[0]==="["&&t[t.length-1]==="]"?t.substring(1,t.length-1).split(",").map(e=>ye(e.trim())):t===""||Number.isNaN(Number(t))?t:Number(t)}function bt(t=!0,e=window.location.search){const r={},s=t?ye:Kt;return new URLSearchParams(e).forEach((n,a)=>{a&&(r[a]=n?s(n):!0)}),r}var It={toNativeType:ye,extractURLParameters:bt},jt={IS_START:0,IS_NONE:0,IS_ROTATE:1,IS_PAN:2,IS_SPIN:3,IS_DOLLY:4,IS_CAMERA_POSE:11,IS_WINDOW_LEVEL:1024,IS_SLICE:1025},Ce={States:jt},{vtkErrorMacro:Qt,VOID:Yt}=v;function Xt(t,e,r,s){return t.getRenderWindow().getViews()[0].worldToDisplay(e,r,s,t)}function Zt(t,e,r,s){return t.getRenderWindow().getViews()[0].displayToWorld(e,r,s,t)}var Jt={computeWorldToDisplay:Xt,computeDisplayToWorld:Zt};function qt(t,e){e.classHierarchy.push("vtkInteractorObserver");const r={...t};function s(){for(;e.subscribedEvents.length;)e.subscribedEvents.pop().unsubscribe()}function n(){Ne.handledEvents.forEach(a=>{t[`handle${a}`]&&e.subscribedEvents.push(e._interactor[`on${a}`](o=>e.processEvents?t[`handle${a}`](o):Yt,e.priority))})}t.setInteractor=a=>{a!==e._interactor&&(s(),e._interactor=a,a&&e.enabled&&n(),t.modified())},t.setEnabled=a=>{a!==e.enabled&&(s(),a&&(e._interactor?n():Qt(`
1
+ import{m as v,as as _e,R as ft,K as Ge,L as Le,W as ke,N as We,k as de,E as X,t as vt,i as Me,x as ce,F as ht,Z as St,h as dt,D as Tt,al as wt,c as yt,at as Ct,d as Ve,au as xt,y as ue,ak as le,av as ze,j as pe}from"./cornerstoneEngine-6xiFBOB0.js";import{ae as Ne,am as De,an as re,K as B,k as Z,al as $,D as se,U as $e,X as Be,B as Q,J as Et,E as Rt,ak as _t,$ as He,a2 as Mt,Z as Vt,b as Dt,_ as Ke,ao as Bt,ap as be,aq as mt,ar as Te,as as Ot,z as Ut,at as Ft,au as Pt,av as ae,ad as Gt,R as Lt,aw as Y,ah as kt,ai as Wt,C as zt,P as Nt,I as $t,a as Ht}from"./Texture-Bp42AyqW.js";import"./index-CotD-dDN.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";function Kt(t){return t}function ye(t){if(t===null||t==="null")return null;if(t==="true")return!0;if(t==="false")return!1;if(!(t===void 0||t==="undefined"))return t[0]==="["&&t[t.length-1]==="]"?t.substring(1,t.length-1).split(",").map(e=>ye(e.trim())):t===""||Number.isNaN(Number(t))?t:Number(t)}function bt(t=!0,e=window.location.search){const r={},s=t?ye:Kt;return new URLSearchParams(e).forEach((n,a)=>{a&&(r[a]=n?s(n):!0)}),r}var It={toNativeType:ye,extractURLParameters:bt},jt={IS_START:0,IS_NONE:0,IS_ROTATE:1,IS_PAN:2,IS_SPIN:3,IS_DOLLY:4,IS_CAMERA_POSE:11,IS_WINDOW_LEVEL:1024,IS_SLICE:1025},Ce={States:jt},{vtkErrorMacro:Qt,VOID:Yt}=v;function Xt(t,e,r,s){return t.getRenderWindow().getViews()[0].worldToDisplay(e,r,s,t)}function Zt(t,e,r,s){return t.getRenderWindow().getViews()[0].displayToWorld(e,r,s,t)}var Jt={computeWorldToDisplay:Xt,computeDisplayToWorld:Zt};function qt(t,e){e.classHierarchy.push("vtkInteractorObserver");const r={...t};function s(){for(;e.subscribedEvents.length;)e.subscribedEvents.pop().unsubscribe()}function n(){Ne.handledEvents.forEach(a=>{t[`handle${a}`]&&e.subscribedEvents.push(e._interactor[`on${a}`](o=>e.processEvents?t[`handle${a}`](o):Yt,e.priority))})}t.setInteractor=a=>{a!==e._interactor&&(s(),e._interactor=a,a&&e.enabled&&n(),t.modified())},t.setEnabled=a=>{a!==e.enabled&&(s(),a&&(e._interactor?n():Qt(`
2
2
  The interactor must be set before subscribing to events
3
3
  `)),e.enabled=a,t.modified())},t.computeDisplayToWorld=(a,o,i,u)=>a?e._interactor.getView().displayToWorld(o,i,u,a):null,t.computeWorldToDisplay=(a,o,i,u)=>a?e._interactor.getView().worldToDisplay(o,i,u,a):null,t.setPriority=a=>{r.setPriority(a)&&e._interactor&&(s(),n())}}var At={enabled:!0,priority:0,processEvents:!0,subscribedEvents:[]};function Ie(t,e,r={}){Object.assign(e,At,r),v.obj(t,e),v.event(t,e,"InteractionEvent"),v.event(t,e,"StartInteractionEvent"),v.event(t,e,"EndInteractionEvent"),v.get(t,e,["_interactor","enabled"]),v.setGet(t,e,["priority","processEvents"]),v.moveToProtected(t,e,["interactor"]),qt(t,e)}var en=v.newInstance(Ie,"vtkInteractorObserver"),tn={newInstance:en,extend:Ie,...Jt},{States:N}=Ce,ge={Rotate:N.IS_ROTATE,Pan:N.IS_PAN,Spin:N.IS_SPIN,Dolly:N.IS_DOLLY,CameraPose:N.IS_CAMERA_POSE,WindowLevel:N.IS_WINDOW_LEVEL,Slice:N.IS_SLICE};function nn(t,e){e.classHierarchy.push("vtkInteractorStyle"),Object.keys(ge).forEach(r=>{v.event(t,e,`Start${r}Event`),t[`start${r}`]=()=>{e.state===N.IS_NONE&&(e.state=ge[r],e._interactor.requestAnimation(t),t.invokeStartInteractionEvent({type:"StartInteractionEvent"}),t[`invokeStart${r}Event`]({type:`Start${r}Event`}))},v.event(t,e,`End${r}Event`),t[`end${r}`]=()=>{e.state===ge[r]&&(e.state=N.IS_NONE,e._interactor.cancelAnimation(t),t.invokeEndInteractionEvent({type:"EndInteractionEvent"}),t[`invokeEnd${r}Event`]({type:`End${r}Event`}),e._interactor.render())}}),e.getRenderer=r=>e.focusedRenderer||r.pokedRenderer,t.handleKeyPress=r=>{const s=e._interactor;let n=null;switch(r.key){case"r":case"R":e.getRenderer(r).resetCamera(),s.render();break;case"w":case"W":n=e.getRenderer(r).getActors(),n.forEach(a=>{const o=a.getProperty();o.setRepresentationToWireframe&&o.setRepresentationToWireframe()}),s.render();break;case"s":case"S":n=e.getRenderer(r).getActors(),n.forEach(a=>{const o=a.getProperty();o.setRepresentationToSurface&&o.setRepresentationToSurface()}),s.render();break;case"v":case"V":n=e.getRenderer(r).getActors(),n.forEach(a=>{const o=a.getProperty();o.setRepresentationToPoints&&o.setRepresentationToPoints()}),s.render();break}}}var rn={state:N.IS_NONE,handleObservers:1,autoAdjustCameraClippingRange:1};function je(t,e,r={}){Object.assign(e,rn,r),tn.extend(t,e,r),v.setGet(t,e,["focusedRenderer"]),nn(t,e)}var an=v.newInstance(je,"vtkInteractorStyle"),xe={newInstance:an,extend:je,...Ce},{States:W}=Ce;function sn(t,e){e.classHierarchy.push("vtkInteractorStyleTrackballCamera"),t.handleMouseMove=r=>{const s=r.position,n=e.getRenderer(r);switch(e.state){case W.IS_ROTATE:t.handleMouseRotate(n,s),t.invokeInteractionEvent({type:"InteractionEvent"});break;case W.IS_PAN:t.handleMousePan(n,s),t.invokeInteractionEvent({type:"InteractionEvent"});break;case W.IS_DOLLY:e.wheelDolly||(t.handleMouseDolly(n,s),t.invokeInteractionEvent({type:"InteractionEvent"}));break;case W.IS_SPIN:t.handleMouseSpin(n,s),t.invokeInteractionEvent({type:"InteractionEvent"});break}e.previousPosition=s},t.handleButton3D=r=>{if(r&&r.pressed&&r.device===De.RightController&&(r.input===re.Trigger||r.input===re.TrackPad)){t.startCameraPose();return}r&&!r.pressed&&r.device===De.RightController&&(r.input===re.Trigger||r.input===re.TrackPad)&&e.state===W.IS_CAMERA_POSE&&t.endCameraPose()},t.handleMove3D=r=>{e.state===W.IS_CAMERA_POSE&&t.updateCameraPose(r)},t.updateCameraPose=r=>{const s=e.getRenderer(r).getActiveCamera(),n=s.getPhysicalTranslation(),a=.5*.05*s.getPhysicalScale(),o=s.physicalOrientationToWorldDirection([r.orientation.x,r.orientation.y,r.orientation.z,r.orientation.w]);s.setPhysicalTranslation(n[0]+o[0]*a,n[1]+o[1]*a,n[2]+o[2]*a)},t.handleLeftButtonPress=r=>{e.previousPosition=r.position,r.shiftKey?r.controlKey||r.altKey?t.startDolly():t.startPan():r.controlKey||r.altKey?t.startSpin():t.startRotate()},t.handleLeftButtonRelease=()=>{switch(e.state){case W.IS_DOLLY:t.endDolly();break;case W.IS_PAN:t.endPan();break;case W.IS_SPIN:t.endSpin();break;case W.IS_ROTATE:t.endRotate();break}},t.handleStartMouseWheel=()=>{e.wheelDolly=!0,t.startDolly()},t.handleEndMouseWheel=()=>{t.endDolly(),e.wheelDolly=!1},t.handleStartPinch=r=>{e.previousScale=r.scale,t.startDolly()},t.handleEndPinch=()=>{t.endDolly()},t.handleStartRotate=r=>{e.previousRotation=r.rotation,t.startRotate()},t.handleEndRotate=()=>{t.endRotate()},t.handleStartPan=r=>{e.previousTranslation=r.translation,t.startPan()},t.handleEndPan=()=>{t.endPan()},t.handlePinch=r=>{t.dollyByFactor(e.getRenderer(r),r.scale/e.previousScale),e.previousScale=r.scale},t.handlePan=r=>{const s=e.getRenderer(r).getActiveCamera();let n=s.getFocalPoint();n=t.computeWorldToDisplay(e.getRenderer(r),n[0],n[1],n[2]);const a=n[2],o=r.translation,i=e.previousTranslation,u=t.computeDisplayToWorld(e.getRenderer(r),n[0]+o[0]-i[0],n[1]+o[1]-i[1],a),p=t.computeDisplayToWorld(e.getRenderer(r),n[0],n[1],a),c=[];c[0]=p[0]-u[0],c[1]=p[1]-u[1],c[2]=p[2]-u[2],n=s.getFocalPoint();const l=s.getPosition();s.setFocalPoint(c[0]+n[0],c[1]+n[1],c[2]+n[2]),s.setPosition(c[0]+l[0],c[1]+l[1],c[2]+l[2]),e._interactor.getLightFollowCamera()&&e.getRenderer(r).updateLightsGeometryToFollowCamera(),s.orthogonalizeViewUp(),e.previousTranslation=r.translation},t.handleRotate=r=>{const s=e.getRenderer(r).getActiveCamera();s.roll(r.rotation-e.previousRotation),s.orthogonalizeViewUp(),e.previousRotation=r.rotation},t.handleMouseRotate=(r,s)=>{if(!e.previousPosition)return;const n=e._interactor,a=s.x-e.previousPosition.x,o=s.y-e.previousPosition.y,i=n.getView().getViewportSize(r);let u=-.1,p=-.1;i[0]&&i[1]&&(u=-20/i[1],p=-20/i[0]);const c=a*p*e.motionFactor,l=o*u*e.motionFactor,g=r.getActiveCamera();!Number.isNaN(c)&&!Number.isNaN(l)&&(g.azimuth(c),g.elevation(l),g.orthogonalizeViewUp()),e.autoAdjustCameraClippingRange&&r.resetCameraClippingRange(),n.getLightFollowCamera()&&r.updateLightsGeometryToFollowCamera()},t.handleMouseSpin=(r,s)=>{if(!e.previousPosition)return;const n=e._interactor,a=r.getActiveCamera(),o=n.getView().getViewportCenter(r),i=_e(Math.atan2(e.previousPosition.y-o[1],e.previousPosition.x-o[0])),u=_e(Math.atan2(s.y-o[1],s.x-o[0]))-i;Number.isNaN(u)||(a.roll(u),a.orthogonalizeViewUp())},t.handleMousePan=(r,s)=>{if(!e.previousPosition)return;const n=r.getActiveCamera();let a=n.getFocalPoint();a=t.computeWorldToDisplay(r,a[0],a[1],a[2]);const o=a[2],i=t.computeDisplayToWorld(r,s.x,s.y,o),u=t.computeDisplayToWorld(r,e.previousPosition.x,e.previousPosition.y,o),p=[];p[0]=u[0]-i[0],p[1]=u[1]-i[1],p[2]=u[2]-i[2],a=n.getFocalPoint();const c=n.getPosition();n.setFocalPoint(p[0]+a[0],p[1]+a[1],p[2]+a[2]),n.setPosition(p[0]+c[0],p[1]+c[1],p[2]+c[2]),e._interactor.getLightFollowCamera()&&r.updateLightsGeometryToFollowCamera()},t.handleMouseDolly=(r,s)=>{if(!e.previousPosition)return;const n=s.y-e.previousPosition.y,a=e._interactor.getView().getViewportCenter(r),o=e.motionFactor*n/a[1];t.dollyByFactor(r,1.1**o)},t.handleMouseWheel=r=>{const s=1-r.spinY/e.zoomFactor;t.dollyByFactor(e.getRenderer(r),s)},t.dollyByFactor=(r,s)=>{if(Number.isNaN(s))return;const n=r.getActiveCamera();n.getParallelProjection()?n.setParallelScale(n.getParallelScale()/s):(n.dolly(s),e.autoAdjustCameraClippingRange&&r.resetCameraClippingRange()),e._interactor.getLightFollowCamera()&&r.updateLightsGeometryToFollowCamera()}}var on={motionFactor:10,zoomFactor:10,wheelDolly:!1};function Qe(t,e,r={}){Object.assign(e,on,r),xe.extend(t,e,r),v.setGet(t,e,["motionFactor","zoomFactor"]),sn(t,e)}var cn=v.newInstance(Qe,"vtkInteractorStyleTrackballCamera"),un={newInstance:cn,extend:Qe},{vtkErrorMacro:ln}=ft,fe=["setBindGroup","setIndexBuffer","setVertexBuffer","draw","drawIndexed"];function pn(t,e){e.classHierarchy.push("vtkWebGPURenderEncoder"),t.begin=r=>{e.drawCallbacks=[],e.handle=r.beginRenderPass(e.description),e.label&&e.handle.pushDebugGroup(e.label)},t.end=()=>{for(let r=0;r<e.drawCallbacks.length;r++){const s=e.drawCallbacks[r],n=s.pipeline;t.setPipeline(n);for(let a=0;a<s.callbacks.length;a++)s.callbacks[a](t)}e.label&&e.handle.popDebugGroup(),e.handle.end(),e.boundPipeline=null},t.setPipeline=r=>{if(e.boundPipeline===r)return;e.handle.setPipeline(r.getHandle());const s=r.getPipelineDescription(),n=s.fragment?.targets;if(e.colorTextureViews.length!==n.length)console.log(`mismatched attachment counts on pipeline ${n.length} while encoder has ${e.colorTextureViews.length}`),console.trace();else for(let a=0;a<e.colorTextureViews.length;a++){const o=e.colorTextureViews[a].getTexture()?.getFormat();o&&o!==n[a].format&&(console.log(`mismatched attachments for attachment ${a} on pipeline ${n[a].format} while encoder has ${o}`),console.trace())}if(!!e.depthTextureView!="depthStencil"in s)console.log("mismatched depth attachments"),console.trace();else if(e.depthTextureView){const a=e.depthTextureView.getTexture()?.getFormat();a&&a!==s.depthStencil.format&&(console.log(`mismatched depth attachments on pipeline ${s.depthStencil.format} while encoder has ${a}`),console.trace())}e.boundPipeline=r},t.replaceShaderCode=r=>{e.replaceShaderCodeFunction(r)},t.setColorTextureView=(r,s)=>{e.colorTextureViews[r]!==s&&(e.colorTextureViews[r]=s)},t.activateBindGroup=r=>{const s=e.boundPipeline.getDevice(),n=e.boundPipeline.getBindGroupLayoutIndex(r.getLabel());if(n<0){ln(`vtkWebGPURenderEncoder: could not find bind group layout ${r.getLabel()}`);return}e.handle.setBindGroup(n,r.getBindGroup(s));const a=s.getBindGroupLayoutDescription(r.getBindGroupLayout(s)),o=s.getBindGroupLayoutDescription(e.boundPipeline.getBindGroupLayout(n));a!==o&&(console.log(`renderEncoder ${e.pipelineHash} mismatched bind group layouts bind group has
4
4
  ${a}