@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Stack+Sans+Notch:wght@200..700&display=swap";:root{color-scheme:light;--paper: #ffffff;--ink: #282728;--muted: #646464;--rule: rgba(40, 39, 40, .16);--offline: #3e5eb8;--bake: #6482dc;--runtime: #8ca9ff;--left-eye: #6482dc;--right-eye: #4c63b8}*{box-sizing:border-box}html,body{min-height:100%}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Roboto Mono,SF Mono,ui-monospace,monospace;-webkit-font-smoothing:antialiased}.demo-only{overflow:hidden}.demo-shell{position:relative;width:100vw;height:100svh}.demo-only .chain-stage{width:100%;height:100%;aspect-ratio:auto;border:0;box-shadow:none}.demo-header{position:absolute;z-index:12;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));left:max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none}.demo-header>strong,.demo-repository-link{border:2px solid var(--ink);background:#fffffff0;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.035em;line-height:1;backdrop-filter:blur(12px)}.demo-header>strong{padding:12px 14px}.demo-repository-link{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;text-decoration:none;pointer-events:auto;transition:color .14s ease,background-color .14s ease,transform .14s ease}.demo-repository-link:hover{background:var(--ink);color:#fff;transform:translate(-2px,-2px)}.demo-repository-link:focus-visible{outline:2px dashed var(--offline);outline-offset:4px}.demo-repository-link svg{width:20px;height:20px;fill:currentColor}.embed-mode .demo-header{display:none}.labels-toggle{position:absolute;z-index:12;bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 11px;border:2px solid var(--ink);border-radius:0;background:#fffffff0;color:var(--ink);font:700 10px/1 Roboto Mono,SF Mono,ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(12px);transition:background-color .14s ease,color .14s ease}.labels-toggle strong{min-width:22px;color:var(--offline);font:inherit;text-align:right}.labels-toggle[aria-pressed=true]{background:var(--ink);color:#fff}.labels-toggle[aria-pressed=true] strong{color:#b9c9ff}.labels-toggle:hover{background:var(--ink);color:#fff}.labels-toggle:hover strong{color:#b9c9ff}.labels-toggle:focus-visible{outline:2px dashed var(--offline);outline-offset:4px}.diagram-shell{width:min(100%,1800px);margin:0 auto;padding:24px}.chain-stage{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid rgba(100,130,220,.22);border-radius:3px;background:var(--paper);box-shadow:0 18px 60px #2827281a;isolation:isolate}.chain-only .chain-stage{-webkit-user-select:none;user-select:none}.proxy-about{width:min(100%,820px);margin:clamp(56px,7vw,112px) auto clamp(48px,7vw,96px);padding:0 8px}.proxy-visualizer-teaser{display:block;width:min(calc(100% - 32px),520px);margin:clamp(28px,4vw,48px) auto 0;border:1px solid rgba(76,99,184,.34);background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 14px 36px #28272814;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.proxy-visualizer-teaser:hover{border-color:var(--offline);box-shadow:0 18px 42px #2827281f;transform:translateY(-2px)}.proxy-visualizer-teaser:focus-visible{outline:2px dashed var(--offline);outline-offset:4px}.proxy-visualizer-teaser canvas{display:block;width:100%;aspect-ratio:16 / 9;background:#fff;pointer-events:none}.proxy-visualizer-teaser>span{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 14px 13px;border-top:1px solid rgba(76,99,184,.2)}.proxy-visualizer-teaser strong,.proxy-visualizer-teaser small{font-size:12px;font-weight:700;letter-spacing:.04em}.proxy-visualizer-teaser small{color:var(--offline)}.proxy-about h2{margin:0 0 20px;color:var(--ink);font-family:Stack Sans Notch,ui-sans-serif,system-ui,sans-serif;font-size:clamp(24px,2.5vw,36px);font-weight:500;letter-spacing:-.015em;line-height:1.08}.proxy-about>p{max-width:72ch;margin:0;color:var(--muted);font-size:clamp(13px,1.15vw,16px);line-height:1.75}.proxy-about>p+p{margin-top:16px}.proxy-note-ref{margin-left:.2em;font-size:.68em;line-height:0;vertical-align:super}.proxy-note-ref a{color:var(--offline);text-decoration:none}.proxy-note-ref a:hover,.proxy-note-ref a:focus-visible{text-decoration:underline;text-underline-offset:3px}.proxy-endnotes{width:min(100% - 48px,820px);margin:clamp(64px,8vw,120px) auto clamp(72px,9vw,136px);padding-top:18px;border-top:1px solid rgba(76,99,184,.34)}.proxy-endnotes h2{margin:0 0 20px;color:var(--offline);font-size:12px;font-weight:700;letter-spacing:.14em;line-height:1;text-transform:uppercase}.proxy-endnotes ol{margin:0;padding-left:1.6rem}.proxy-endnotes li{padding-left:.25rem;color:var(--muted);font-size:14px;line-height:1.65}.proxy-endnotes li+li{margin-top:20px}.proxy-endnotes li::marker{color:var(--offline);font-weight:700}.proxy-endnotes p{margin:0}.proxy-endnotes a{color:var(--offline);text-decoration-color:#4c63b866;text-underline-offset:3px}.proxy-note-back{margin-left:.25em;font-size:12px;text-decoration:none}.proxy-about a:not(.proxy-repository-link){color:var(--offline);text-decoration-color:#4c63b866;text-underline-offset:4px}.proxy-about a:not(.proxy-repository-link):hover{text-decoration-color:currentColor}.proxy-research-link{font-size:12px;font-weight:600}.proxy-repository-link{display:inline-flex;align-items:center;gap:11px;margin-top:28px;padding:13px 17px;border:2px solid var(--ink);border-radius:0;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.025em;text-decoration:none;transition:color .14s ease,background-color .14s ease,transform .14s ease}.proxy-repository-link:hover{background:var(--ink);color:#fff;transform:translate(-2px,-2px)}.proxy-repository-link:focus-visible{outline:2px dashed var(--offline);outline-offset:4px}.proxy-repository-link svg{width:19px;height:19px;flex:0 0 auto;fill:currentColor}.proxy-demo-video{width:min(100%,820px);margin:0 auto clamp(56px,8vw,120px)}.proxy-demo-video video{display:block;width:100%;aspect-ratio:16 / 9;border:1px solid rgba(100,130,220,.22);border-radius:3px;background:#f5f7fc;box-shadow:0 18px 60px #2827281a}.virtual-imaging-title{position:relative;display:inline-block;margin:0 0 clamp(30px,3.2vw,58px);padding:10px 16px;color:#3b79ba;font-family:Stack Sans Notch,ui-sans-serif,system-ui,sans-serif;font-size:clamp(28px,3.2vw,54px);font-weight:500;letter-spacing:normal;line-height:.9;text-transform:none;pointer-events:none}.virtual-imaging-title:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--bake),var(--bake)) 0 0 / 18px 1px no-repeat,linear-gradient(var(--bake),var(--bake)) 0 0 / 1px 18px no-repeat,linear-gradient(var(--bake),var(--bake)) 100% 0 / 18px 1px no-repeat,linear-gradient(var(--bake),var(--bake)) 100% 0 / 1px 18px no-repeat,linear-gradient(var(--bake),var(--bake)) 0 100% / 18px 1px no-repeat,linear-gradient(var(--bake),var(--bake)) 0 100% / 1px 18px no-repeat,linear-gradient(var(--bake),var(--bake)) 100% 100% / 18px 1px no-repeat,linear-gradient(var(--bake),var(--bake)) 100% 100% / 1px 18px no-repeat}.view-controls{position:absolute;z-index:5;top:43%;left:34%;display:grid;width:clamp(180px,15vw,224px);gap:6px;padding:0;transform:translate(-50%)}.view-controls label{display:grid;grid-template-columns:54px minmax(0,1fr) 42px;align-items:center;gap:7px;min-width:0;padding:6px 8px;border:1px solid rgba(74,105,190,.38);border-radius:9px;background:#fff;box-shadow:none}.view-controls span{color:var(--offline);font-size:7px;font-weight:600;letter-spacing:.1em}.view-controls output{color:var(--offline);font-size:9px;font-weight:600;letter-spacing:.03em;text-align:right}.view-controls input{--fill-color: #FDA690;--fill-progress: 50%;--thumb-width: 18px;box-sizing:border-box;width:100%;height:18px;margin:0;padding:0;appearance:none;border:0;border-radius:999px;background:transparent;box-shadow:none;cursor:ew-resize}.view-controls label:last-child input{--fill-color: #B4F5FD}.view-controls input::-webkit-slider-runnable-track{height:14px;border-radius:999px;background:linear-gradient(90deg,var(--fill-color) 0 var(--fill-progress),#dce5f7 var(--fill-progress) 100%);box-shadow:none}.view-controls input::-webkit-slider-thumb{width:18px;height:14px;margin-top:0;appearance:none;border:0;border-radius:999px;background:#fff;box-shadow:0 1px 5px #2e407833}.orientation-panel-backdrop{display:none}#render-chain-canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y pinch-zoom;outline:none}#render-chain-canvas:active{cursor:grabbing}#render-chain-canvas.hovering-interactive{cursor:pointer}#render-chain-canvas.rotating-collider{cursor:ew-resize}#render-chain-canvas.dragging-glasses,#render-chain-canvas.dragging-cupola{cursor:grabbing}.plate-heading{position:absolute;z-index:3;top:5.8%;left:4.8%;max-width:520px;pointer-events:none}.plate-heading p{margin:0 0 13px;color:var(--bake);font-size:clamp(8px,.65vw,11px);font-weight:600;letter-spacing:.16em}.plate-heading h1{margin:0 0 10px;font-size:clamp(24px,2.55vw,43px);font-weight:500;letter-spacing:-.04em;line-height:1}.plate-heading span{display:block;max-width:460px;color:var(--muted);font-size:clamp(9px,.78vw,13px);line-height:1.5}.diagram-readout{position:absolute;z-index:3;top:5.8%;right:4.8%;width:min(248px,23%);padding:11px 14px;border:1px solid var(--rule);background:#ffffffdb;backdrop-filter:blur(12px);pointer-events:none}.diagram-readout div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid rgba(40,39,40,.09);font-size:clamp(7px,.62vw,10px)}.diagram-readout div:last-child{border-bottom:0}.diagram-readout span{color:var(--muted)}.diagram-readout strong{font-weight:600;text-align:right}.diagram-readout div:nth-child(3) strong,.diagram-readout div:nth-child(6) strong{color:var(--bake)}.diagram-readout div:nth-child(4) strong{color:var(--runtime)}.diagram-readout div:nth-child(5) strong{color:var(--right-eye)}.diagram-readout div:nth-child(7) strong{color:var(--offline)}.scene-label{position:absolute;z-index:3;top:0;left:0;max-width:155px;padding:4px 6px;border-left:2px solid currentColor;background:#ffffffe6;color:var(--ink);font-size:clamp(6px,.46vw,8px);font-weight:600;letter-spacing:.1em;line-height:1.35;opacity:0;pointer-events:none;transform:translate(8px,-50%);transition:opacity .18s ease}.scene-label.visible{opacity:1}.engine-floor-label{position:absolute;z-index:2;top:0;left:0;color:#243b68;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(12px,.9vw,16px);font-style:normal;font-weight:600;letter-spacing:-.025em;line-height:1;opacity:0;pointer-events:none;text-rendering:geometricPrecision;transform:translate(-50%,-100%);transition:opacity .18s ease;-webkit-font-smoothing:antialiased}.engine-floor-label.visible{opacity:1}.demo-only:not(.labels-visible) .scene-label,.demo-only:not(.labels-visible) .engine-floor-label{display:none}.label-stereo{color:var(--right-eye)}.label-runtime{color:var(--runtime)}.label-bake{color:var(--bake)}.label-offline{color:var(--offline)}.camera-view{position:absolute;z-index:3;right:4.8%;bottom:20%;width:min(154px,14%);margin:0;padding:7px;border:1px solid rgba(62,94,184,.42);background:#ffffffeb;box-shadow:0 7px 24px #2827281f;backdrop-filter:blur(10px);transition:opacity .18s ease}.camera-view figcaption{display:flex;justify-content:space-between;gap:8px;padding:1px 1px 7px;color:var(--offline);font-size:clamp(5px,.4vw,7px);letter-spacing:.1em}.camera-view figcaption strong{color:var(--ink);font-weight:600}.camera-view canvas{display:block;width:100%;aspect-ratio:1;background:#f7f8fc}.method-strip{position:absolute;z-index:3;bottom:20%;left:4.8%;display:grid;width:min(375px,31%);gap:5px;pointer-events:none}.method-strip section{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:9px;min-height:28px;padding:6px 8px;border:1px solid var(--rule);background:#ffffffd6;color:var(--muted);transition:border-color .18s ease,opacity .18s ease}.method-strip span{color:var(--ink);font-size:clamp(5px,.42vw,7px);font-weight:600;letter-spacing:.11em}.method-strip p{margin:0;font-size:clamp(5px,.42vw,7px);line-height:1.35}body[data-chain-step=source] .method-strip section,body[data-chain-step=runtime] .method-strip section{opacity:.3}body[data-chain-step=bake] .method-strip [data-method=path]{border-color:var(--offline);opacity:1}body[data-chain-step=bake] .method-strip [data-method=raster]{opacity:.24}body[data-chain-step=stereo] .method-strip [data-method=raster]{border-color:var(--right-eye);opacity:1}body[data-chain-step=stereo] .method-strip [data-method=path]{opacity:.24}.chain-console{position:absolute;z-index:3;bottom:10.5%;left:50%;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid var(--rule);border-radius:999px;background:#112539eb;box-shadow:0 5px 18px #00000038;transform:translate(-50%);backdrop-filter:blur(12px)}.chain-console>span{padding:0 10px;color:var(--muted);font-size:7px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.chain-console button{min-height:30px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:500 8px/1 Inter,system-ui,sans-serif;cursor:pointer}.chain-console button:hover{color:var(--ink);background:#6482dc1a}.chain-console button[aria-pressed=true]{color:#fff;background:var(--bake);box-shadow:0 0 0 1px #6482dc40}.chain-console button:focus-visible{outline:2px solid var(--bake);outline-offset:2px}.plate-footer{position:absolute;z-index:3;right:4.8%;bottom:4.5%;left:4.8%;display:flex;justify-content:space-between;gap:20px;padding-top:12px;border-top:1px solid var(--rule);color:var(--muted);font-size:clamp(7px,.6vw,10px);font-weight:500;letter-spacing:.075em;text-transform:uppercase;pointer-events:none}.plate-footer p{margin:0}.chain-loading,.chain-error{position:absolute;inset:0;z-index:8;display:grid;place-content:center;justify-items:center;gap:12px;background:#fffffff5;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:opacity .32s ease}.chain-loading.done{opacity:0;pointer-events:none}.chain-loading span{width:24px;height:24px;border:1px solid rgba(100,130,220,.22);border-top-color:var(--offline);border-radius:50%;animation:spin .85s linear infinite}.chain-loading p,.chain-error p{margin:0}.chain-error[hidden]{display:none}@keyframes spin{to{transform:rotate(360deg)}}.page-links{display:flex;justify-content:space-between;gap:20px;padding:12px 2px 0;color:var(--muted);font-size:11px}.page-links a{color:var(--bake);text-decoration:none}.page-links a:hover{text-decoration:underline}.clean-mode{overflow:hidden;background:var(--paper)}.clean-mode .diagram-shell{display:grid;place-items:center;width:100vw;max-width:none;height:100vh;padding:0}.clean-mode .chain-stage{width:min(100vw,177.78vh);height:min(100vh,56.25vw);border:0;box-shadow:none}.clean-mode .plate-heading,.clean-mode .diagram-readout,.clean-mode .camera-view,.clean-mode .method-strip,.clean-mode .chain-console,.clean-mode .plate-footer,.clean-mode .page-links{display:none}.chain-only{overflow-x:hidden;overflow-y:auto;background:var(--paper)}.chain-only .diagram-shell{display:block;width:100vw;max-width:none;min-height:100vh;padding:0}.chain-only .virtual-imaging-title{display:block;width:max-content;max-width:calc(100% - 32px);margin:clamp(36px,7vh,72px) auto 0}.chain-only .chain-stage{width:min(100vw,1600px);height:auto;aspect-ratio:16 / 9;margin:clamp(56px,8vw,120px) auto 0;border:0;box-shadow:none}.chain-only .tldraw-layer,.chain-only .layer-console,.chain-only .plate-heading,.chain-only .diagram-readout,.chain-only .scene-label,.chain-only .camera-view,.chain-only .method-strip,.chain-only .chain-console,.chain-only .plate-footer,.chain-only .page-links{display:none}@media (max-width: 950px){.diagram-shell{padding:8px}.plate-heading span{display:none}.diagram-readout{width:28%}.camera-view{width:13%}.chain-console>span{display:none}.chain-console button{padding:0 7px;font-size:7px}}@media (max-width: 650px){.demo-header{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left))}.labels-toggle{bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));min-height:32px;padding-inline:9px;font-size:9px}.demo-header>strong,.demo-repository-link{font-size:11px}.demo-header>strong{padding:10px 11px}.demo-repository-link{padding:7px 9px}.proxy-visualizer-teaser{width:calc(100% - 32px);margin-top:28px}.proxy-visualizer-teaser>span{padding:11px 12px 12px}.proxy-about{width:calc(100% - 32px);margin:48px auto 40px;padding:0}.proxy-about h2{font-size:clamp(23px,7vw,32px)}.proxy-about>p{font-size:13px;line-height:1.65}.proxy-demo-video{width:calc(100% - 16px);margin-bottom:56px}.proxy-demo-video video{border-radius:2px}.proxy-endnotes{width:calc(100% - 32px);margin-top:56px}.chain-only .diagram-shell{min-height:100dvh}.chain-only .virtual-imaging-title{margin-top:24px}.chain-only .chain-stage{width:100vw;height:100svh;aspect-ratio:auto;margin-top:56px}.view-controls{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:50%;width:min(224px,calc(100% - 24px));height:auto;align-content:start;grid-auto-rows:max-content;gap:4px;transform:translate(-50%)}.view-controls label{grid-template-columns:50px minmax(0,1fr) 38px;gap:6px;height:32px;padding:4px 8px}.view-controls input{--thumb-width: 14px;height:14px}.view-controls input::-webkit-slider-runnable-track{height:10px}.view-controls input::-webkit-slider-thumb{width:var(--thumb-width);height:10px}.diagram-readout,.camera-view,.method-strip{display:none}.chain-console button:nth-of-type(-n+4){display:none}.plate-footer p:last-child{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
