:root{--black:#000;--ink:#f5f5f7;--soft:#f5f5f79e;--muted:#f5f5f766;--faint:#f5f5f72e;--cyan:#35c8ed;--gold:#f6c927}*{box-sizing:border-box}html{background:var(--black);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--black);min-width:320px;min-height:100svh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif}button,input{font:inherit}button{color:inherit}.demo-page{width:min(1680px,100%);margin:0 auto;padding:clamp(30px,4vw,62px) clamp(22px,5.2vw,76px) clamp(42px,6vw,84px)}.hero-block{margin-bottom:clamp(42px,5vw,70px)}.hero-block h1{letter-spacing:-.062em;white-space:nowrap;margin:0;font-size:clamp(56px,5.5vw,88px);font-weight:590;line-height:.92}.subtitle{color:var(--soft);letter-spacing:-.025em;white-space:nowrap;margin:18px 0 0;font-size:clamp(19px,1.65vw,26px);font-weight:390;line-height:1.25}.visual-stack{min-width:0}.section-label{color:var(--muted);letter-spacing:.19em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:620}.camera-panel,.geometry-view{background:var(--black);position:relative;overflow:hidden}.camera-view{background:var(--black);height:clamp(390px,47vw,560px);margin-top:-6px;position:relative}.camera-view canvas{width:100%;height:100%;display:block}.camera-view:after{content:"";pointer-events:none;background:radial-gradient(at 50% 52%,#0000 64%,#0000006b 100%);position:absolute;inset:0}.geometry-heading{margin-top:clamp(46px,5vw,68px)}.geometry-view{height:clamp(315px,31vw,410px)}.geometry-view svg{width:100%;height:100%;display:block}.frustum-fill{fill:#35c8ed02}.frustum-line{stroke:var(--cyan);stroke-width:1.25px;opacity:.82;vector-effect:non-scaling-stroke}.diagram-camera rect,.diagram-camera path,.diagram-camera .projection-link{fill:#000;stroke:var(--cyan);stroke-width:1.35px;vector-effect:non-scaling-stroke}.diagram-camera .sensor-plane{stroke:#35c8ed57;stroke-width:.8px;vector-effect:non-scaling-stroke}.subject-shape{fill:var(--gold);filter:drop-shadow(0 0 5px #f6c92738)}.subject-control{cursor:grab;touch-action:none;outline:none}.subject-control:active{cursor:grabbing}.subject-hit{fill:#0000;pointer-events:all}.subject-control:focus-visible .subject-shape{stroke:#ffffffe6;stroke-width:1.4px}.stability-plane-control{cursor:ew-resize;touch-action:none;outline:none}.stability-plane-hit{stroke:#0000;stroke-width:20px;pointer-events:stroke;vector-effect:non-scaling-stroke}.stability-plane-line{stroke:#35c8ed6b;stroke-width:1px;vector-effect:non-scaling-stroke}.stability-plane-handle{fill:var(--cyan);opacity:.72}.stability-plane-control:focus-visible .stability-plane-line{stroke:#ffffffdb;stroke-width:1.5px}.slab-control{cursor:grab;touch-action:none;outline:none}.slab-control:active{cursor:grabbing}.slab-hit{fill:#0000;stroke:#0000;stroke-width:16px;pointer-events:all;vector-effect:non-scaling-stroke}.background-object-svg{fill:#168f8c;stroke:#7edcdaad;stroke-width:1px;opacity:.78;pointer-events:none;vector-effect:non-scaling-stroke}.slab-control:focus-visible .background-object-svg{stroke:var(--cyan);stroke-width:1.7px}.background-object-svg.slab-1{fill:#76538d;stroke:#ccafdcb3}.distance-line,.distance-tick{stroke:#f5f5f747;stroke-width:1px;vector-effect:non-scaling-stroke}.distance-label{fill:#f5f5f79e;font-variant-numeric:tabular-nums;font-size:13px}.focal-control{cursor:default}.focal-label{fill:#35c8edd1;font-variant-numeric:tabular-nums;font-size:13px}.focal-slider-shell{opacity:0;pointer-events:none;cursor:ew-resize;outline:none;transition:opacity .14s}.focal-control:hover .focal-slider-shell,.focal-control:focus-within .focal-slider-shell,.focal-control.is-open .focal-slider-shell{opacity:1;pointer-events:auto}.focal-slider-hit{fill:#0000}.focal-slider-track{stroke:#35c8ed61;stroke-width:2px;vector-effect:non-scaling-stroke}.focal-slider-thumb{fill:#071015;stroke:#dff9ffe6;stroke-width:1px;vector-effect:non-scaling-stroke}.focal-slider-shell:focus-visible .focal-slider-hit{stroke:#35c8edb3;stroke-width:1px;vector-effect:non-scaling-stroke}.bottom-dock{width:100%;margin-top:clamp(48px,5vw,72px)}.control-dock-main{width:min(630px,62vw);margin-inline:auto}.control-topline{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.control-heading{align-items:center;gap:10px;display:flex}.control-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:650}.dolly-switch{color:#f5f5f794;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:7px;width:auto;height:19px;padding:0;font-size:13px;font-weight:520;transition:color .18s;display:inline-flex}.switch-label{text-align:left;white-space:nowrap}.dolly-switch:hover{color:#f5f5f7d9}.dolly-switch:focus-visible{outline:1px solid var(--cyan);outline-offset:5px;border-radius:2px}.switch-glyph{border:1px solid #f5f5f73d;border-radius:99px;width:25px;height:14px;position:relative}.switch-glyph i{background:#f5f5f799;border-radius:50%;width:8px;height:8px;transition:transform .18s,background .18s;position:absolute;top:2px;left:2px}.dolly-switch.is-on{color:#f5f5f7e0}.dolly-switch.is-on .switch-glyph{background:#35c8ed33;border-color:#35c8edb3}.dolly-switch.is-on .switch-glyph i{background:#dff9ff;transform:translate(11px)}.autoplay-button{color:#f5f5f77a;cursor:pointer;background:#f5f5f705;border:1px solid #f5f5f729;border-radius:50%;place-items:center;width:19px;height:19px;padding:0;display:grid}.autoplay-button:hover{color:#f5f5f7e6;border-color:#f5f5f74d}.autoplay-button:focus-visible{outline:1px solid var(--cyan);outline-offset:3px}.autoplay-glyph{place-items:center;width:10px;height:10px;display:grid}.autoplay-glyph i{border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:5px solid;width:0;height:0;margin-left:1px}.autoplay-button.is-playing{color:var(--cyan);border-color:#35c8ed70}.autoplay-button.is-playing .autoplay-glyph i{background:currentColor;border:0;border-radius:1px;width:6px;height:6px;margin:0}.slider-wrap{flex:auto;min-width:0;position:relative}.slider-wrap input{appearance:none;cursor:ew-resize;background:0 0;width:100%;height:18px;margin:0}.slider-wrap input::-webkit-slider-runnable-track{background:linear-gradient(to right, #35c8edb8 var(--slider-progress), #f5f5f72b var(--slider-progress));border-radius:99px;height:3px}.slider-wrap input::-moz-range-track{background:#f5f5f72b;height:3px}.slider-wrap input::-moz-range-progress{background:#35c8edb8;height:3px}.slider-wrap input::-webkit-slider-thumb{appearance:none;background:#080a0b;border:1.5px solid #fffffff0;border-radius:50%;width:14px;height:14px;margin-top:-5.5px;box-shadow:0 0 0 2px #35c8ed14}.slider-wrap input::-moz-range-thumb{background:#080a0b;border:1.5px solid #fff;border-radius:50%;width:12px;height:12px}.slider-wrap input:focus-visible{outline:1px solid var(--cyan);outline-offset:4px}.landmarks{color:#f5f5f761;justify-content:space-between;padding-top:2px;font-size:12px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.demo-page{padding-inline:18px}.hero-block{margin-bottom:36px}.hero-block h1{font-size:48px}.subtitle{margin-top:13px;font-size:16px}.camera-view{height:330px}.geometry-heading{margin-top:42px}.geometry-view{height:290px}.bottom-dock{margin-top:42px}}@media (width>=761px){.demo-page{min-height:100svh;padding-top:clamp(20px,3vh,34px);padding-bottom:clamp(20px,3vh,34px)}.hero-block{margin-bottom:clamp(22px,2.5vh,34px)}.camera-view{height:clamp(280px,39vh,560px)}.geometry-heading{margin-top:clamp(20px,2.2vh,30px)}.geometry-view{height:clamp(245px,28vh,390px)}.bottom-dock{margin-top:clamp(18px,2.2vh,30px)}}@media (width>=761px) and (height<=900px){.demo-page{padding-top:16px;padding-bottom:16px}.hero-block{margin-bottom:18px}.camera-view{height:clamp(230px,32vh,300px)}.geometry-heading{margin-top:16px}.geometry-view{height:clamp(195px,23vh,230px)}.bottom-dock{margin-top:14px}}@media (width<=460px){.hero-block h1{font-size:43px}.subtitle{font-size:15px}.camera-view{height:290px}.control-dock-main{width:88vw}.dolly-switch{font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
