@charset "UTF-8";
:root{color-scheme:dark;--bg:#0b111b;--panel:#111a27;--panel-raised:#162131;--line:#243042;--text:#eaf1f8;--muted:#8798ad;--faint:#576b83;--teal:#42dfbf;--blue:#6ca9ff;--orange:#ffae6a;--purple:#b8a3ff;--red:#ff7f86;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 5% 0%,#14253870,transparent 38%),var(--bg);color:var(--text);font-size:13px;line-height:1.5}button,input,select{font:inherit}button,select,input[type=range]{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.app-shell{max-width:1920px;margin:auto}.topbar{height:80px;padding:0 40px;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);background:#0c1420a6}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:750;letter-spacing:2px;line-height:1.1}.brand-mark{width:36px;height:39px;border-radius:9px;display:grid;place-items:center;color:#081b17;background:var(--teal);font-size:26px;font-weight:800;letter-spacing:-2px;line-height:1}.brand-sub{display:block;color:#88a0b2;font-size:8px;letter-spacing:2.2px;margin-top:6px;font-weight:600}.header-divider{height:28px;width:1px;background:var(--line)}.workspace-name{color:var(--muted);font-size:12px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:15px}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #2c4a43;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:600;white-space:nowrap;letter-spacing:.1px;color:var(--teal);background:#1b514428}.pill i{height:5px;width:5px;border-radius:50%;background:currentColor}.pill.neutral{color:var(--muted);border-color:var(--line);background:#24304244}.pill.warning{color:var(--orange);border-color:#574635;background:#55402033}.pill.error{color:var(--red);border-color:#644047;background:#54273038}.icon-button{display:grid;place-items:center;background:transparent;width:32px;height:32px;color:var(--muted);border:1px solid var(--line);border-radius:6px}.icon-button:hover{color:var(--text);background:var(--panel-raised)}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}main{padding:31px 40px 0}.page-title{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.eyebrow{color:var(--teal);font-size:9px;letter-spacing:1.7px;font-weight:650;display:flex;align-items:center;gap:9px}.tiny-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--muted);vertical-align:middle}h1{font-size:27px;font-weight:620;letter-spacing:-.65px;line-height:1.25;margin:9px 0}.title-muted{font-weight:400;color:#b5c1d0}.page-title p{margin:0;color:var(--muted);font-size:12px}.device-control{min-width:230px}.device-control label{color:var(--muted);font-size:10px;display:block;margin-bottom:6px}.device-select-wrap{position:relative}.device-led{position:absolute;top:17px;left:13px;width:6px;height:6px;background:var(--faint);border-radius:50%;pointer-events:none}.device-led.online{background:var(--teal);box-shadow:0 0 10px #42dfbf40}select{width:100%;height:40px;padding:0 30px 0 29px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);font-size:12px}.demo-banner{display:flex;align-items:center;gap:11px;color:#dfbd8d;background:#322a1d60;border:1px solid #5a4730;border-radius:7px;padding:9px 13px;margin-bottom:16px;font-size:11px}.demo-label{color:var(--orange);font-size:9px;letter-spacing:1px;font-weight:750;border:1px solid #6d5032;background:#6f4a2429;padding:2px 6px;border-radius:3px}.connection-message{color:var(--muted);font-size:12px;padding:10px 0 16px}.connection-message.warning{color:var(--orange)}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:20px;align-items:start}.main-column,.side-column{min-width:0;display:flex;flex-direction:column;gap:18px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{padding:17px 18px 15px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(130deg,#17233385,#101a27)}.metric-label{display:flex;align-items:center;gap:6px;color:#a4b3c5;font-size:11px}.metric-dot{width:5px;height:5px;border-radius:50%;background:var(--metric)}.metric-symbol{margin-left:auto;font:italic 14px Georgia,serif;color:var(--faint)}.velocity{--metric:var(--teal)}.acceleration{--metric:var(--blue)}.jerk{--metric:var(--orange)}.position{--metric:var(--purple)}.metric-value{display:flex;align-items:baseline;gap:6px;white-space:nowrap;margin:10px 0 7px;font-size:31px;font-weight:520;letter-spacing:-1.1px;font-variant-numeric:tabular-nums}.metric-value .unit{font-size:10px;color:var(--muted);letter-spacing:0;font-weight:400}.metric-caption{color:#71869f;font-size:9px;white-space:nowrap}.panel{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.panel-heading{padding:19px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-heading h2,h2{font-size:13px;font-weight:600;letter-spacing:-.1px;margin:0 0 2px}.subtle{font-size:10px;color:var(--muted)}.chart-legend{display:flex;gap:18px;padding:17px 20px 4px;align-items:center;font-size:10px;color:#a2b2c6}.chart-legend>span{display:flex;align-items:center;gap:5px}.chart-legend i{width:12px;height:2px;border-radius:2px}.chart-legend small{color:#5f7691;font-size:9px}.velocity-color{background:var(--teal)}.acceleration-color{background:var(--blue)}.jerk-color{background:var(--orange)}.legend-end{margin-left:auto;color:var(--faint);font-size:9px}.chart-wrap{position:relative;margin:0 12px}.motion-chart{height:255px}.position-chart{height:176px;margin-top:14px}.chart-wrap canvas{width:100%;height:100%;display:block}.chart-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--faint);font-size:11px;pointer-events:none}.chart-empty strong{font-size:12px;color:var(--muted);font-weight:500}.wave-icon{font-size:48px;color:#31475f;line-height:1}.chart-empty.compact{font-size:11px}.chart-footer{display:flex;justify-content:space-between;padding:10px 20px;color:var(--faint);border-top:1px solid #1c293a;font-size:9px;letter-spacing:.2px}.chart-footer .tiny-dot{background:var(--teal);margin-right:6px}.chart-footer>span:last-child{font-variant-numeric:tabular-nums}.floor-inline{font-size:9px;color:var(--faint);display:flex;align-items:center;gap:10px;letter-spacing:1px}.floor-inline strong{color:var(--text);font-size:24px;font-weight:500}.buffer-panel{padding:18px 20px}.buffer-title{display:flex;gap:10px;align-items:center}.buffer-icon{color:var(--muted);height:33px;width:33px;border-radius:7px;background:#1e2b3d;display:grid;place-items:center}.buffer-title h2{font-size:12px}.buffer-title output{margin-left:auto;color:var(--teal);font-size:24px;font-weight:500;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.buffer-title output small{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}input[type=range]{appearance:none;display:block;width:100%;height:4px;border-radius:10px;background:linear-gradient(to right,var(--teal) 10.26%,#2b3a4e 10.26%);margin:22px 0 12px}input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:var(--teal);border:3px solid #142a29;box-shadow:0 0 0 1px #42dfbf}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--teal);border:2px solid #142a29}.range-labels{display:flex;justify-content:space-between;gap:5px;color:var(--faint);font-size:9px}.text-button{background:transparent;color:#8c9eb4;padding:0;font-size:9px}.text-button:hover{color:var(--teal)}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:16px;border-top:1px solid var(--line);margin-top:17px}.quality-grid>div{display:flex;flex-direction:column;gap:5px}.quality-grid span{color:var(--faint);font-size:9px}.quality-grid strong{color:#b8c8dc;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.small-chip{font-size:9px;color:#91a3b9;padding:3px 7px;border:1px solid #2b3a4e;border-radius:4px;white-space:nowrap}.shaft-panel .panel-heading{padding-bottom:17px}.shaft-view{height:240px;margin:0 20px;position:relative;display:flex;background:linear-gradient(90deg,#0c142080,transparent)}.shaft-track{position:relative;width:105px;margin:10px 0 10px 12px;flex-shrink:0;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#2130446b 20px);border:1px solid #293a50}.shaft-rail{position:absolute;top:0;bottom:0;width:2px;background:#35485e}.rail-left{left:17px}.rail-right{right:17px}.shaft-cabin{position:absolute;bottom:0;left:24px;width:55px;height:28px;transform:translateY(50%);border:1px solid #42dfbf8f;background:#123e39;border-radius:3px;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 14px #42dfbf15;opacity:.35}.shaft-cabin.valid{opacity:1}.cabin-door{position:absolute;top:2px;bottom:2px;width:25px;background:#174d43;border:1px solid #2e7666}.cabin-door.left{left:1px}.cabin-door.right{right:1px}.cabin-floor{z-index:1;color:#99ffe8;font-size:11px;line-height:1;font-weight:600}.shaft-floors{position:relative;flex:1;margin:10px 0}.shaft-floor{position:absolute;left:0;right:0;display:flex;align-items:center;gap:10px;transform:translateY(50%);color:#677b94;font-size:11px;height:20px}.shaft-floor::before{content:"";width:20px;height:1px;background:#293a50}.shaft-floor.active{color:var(--teal)}.shaft-floor.active::before{background:var(--teal)}.shaft-floor .floor-label{font-weight:500;width:14px}.shaft-floor .floor-mm{font-size:8px;margin-left:auto;color:var(--faint);display:none}.shaft-scale{display:flex;flex-direction:column;justify-content:space-between;position:absolute;right:0;top:0;bottom:0;font-size:8px;color:var(--faint)}.shaft-bottom{padding:21px 20px 18px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:17px;gap:5px}.shaft-bottom>div:first-child{display:flex;flex-direction:column}.shaft-bottom strong{font-size:30px;line-height:1.1;font-weight:500;margin-top:5px}.shaft-bottom .subtle{font-size:9px}.state-stack{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.state-stack .pill{font-size:8px;padding:4px 6px}.state-stack>.subtle{font-size:8px}.door-visual{display:flex;align-items:center;gap:15px;margin:19px 20px}.door-frame{height:51px;width:49px;border:2px solid #566d84;border-bottom:1px solid #35485e;padding:3px;display:flex;gap:2px;overflow:hidden;background:#080f18;flex-shrink:0}.door-leaf{width:50%;height:100%;background:linear-gradient(90deg,#2c4056,#223248);border:1px solid #476077;transition:transform .2s}.door-visual[data-state=open] .door-left{transform:translateX(-90%)}.door-visual[data-state=open] .door-right{transform:translateX(90%)}.door-visual[data-state=opening] .door-left,.door-visual[data-state=closing] .door-left{transform:translateX(-45%)}.door-visual[data-state=opening] .door-right,.door-visual[data-state=closing] .door-right{transform:translateX(45%)}.door-caption{display:flex;flex-direction:column;gap:5px}.door-caption strong{font-size:13px;font-weight:500}.door-caption span{font-size:9px;color:var(--muted)}.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px}.door-signals{padding:0 20px 19px}.signal{display:flex;align-items:center;gap:7px;font-size:10px;min-width:0;color:#879bb4}.signal i,.safety-signal i{width:5px;height:5px;border-radius:50%;flex-shrink:0;background:#4c5a6d}.signal strong{font-size:9px;font-weight:500;margin-left:auto;color:#5f738b}.signal.active i,.safety-signal.active i{background:var(--teal);box-shadow:0 0 6px #42dfbf30}.signal.active strong{color:var(--teal)}.signal.inactive i,.safety-signal.inactive i{background:#6e829d}.signal.inactive strong{color:#7d90a8}.model-label{font-size:7px;letter-spacing:.8px;color:var(--faint)}.safety-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:18px 20px}.safety-signal{border:1px solid #2b394c;border-radius:6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 1px;background:#142031}.safety-signal strong{font-size:10px;font-weight:500;color:#96a9bf}.safety-signal span{font-size:7px;color:#61768e;line-height:1.2}.safety-signal.active{border-color:#2b4c44;background:#16352d40}.safety-signal.active strong{color:#a8dccc}.safety-signal.active span{color:#6caa98}.safety-signal.inactive{border-color:#58464c}.safety-signal.inactive i{background:var(--red)}.safety-signal.inactive span{color:#cf8994}.divider{height:1px;background:var(--line);margin:0 20px}.subsection-title{padding:16px 20px 12px;display:flex;align-items:center;justify-content:space-between}.subsection-title h3{font-size:11px;font-weight:500;margin:0}.signal-list{display:flex;flex-direction:column;gap:11px;padding:0 20px 20px}.profile-details{margin-top:20px;background:#101925;border:1px solid var(--line);border-radius:8px}.profile-details summary{padding:14px 19px;cursor:pointer;display:flex;justify-content:space-between;font-size:11px;color:#9badc3;list-style:none}.profile-details summary::-webkit-details-marker{display:none}.profile-details summary>span:last-child{color:var(--faint);font-size:10px}.chevron{font-size:15px;padding-left:15px}.profile-content{padding:4px 20px 18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.profile-content h3{font-size:11px;font-weight:500;color:#adbdcf}.profile-content p{font-size:10px;color:var(--muted);margin:7px 0}.floor-table{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px;font-size:10px}.floor-table span{padding:4px 0;background:#1c293b;border-radius:3px}.floor-table small{display:block;font-size:8px;color:var(--muted);margin-top:4px}footer{display:flex;justify-content:space-between;padding:20px 0 22px;color:#5a708b;font-size:9px;gap:10px}footer>span{display:flex;align-items:center;gap:8px}.footer-slash{color:#34485e;margin:0 2px}.footer-mark{width:6px;height:6px;border:1px solid #5d8d83;border-radius:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){main{padding:36px 54px 0}.topbar{padding:0 54px}.dashboard{grid-template-columns:minmax(0,1fr) 360px;gap:24px}.motion-chart{height:300px}.position-chart{height:185px}.shaft-view{height:280px}.metric-value{font-size:36px}.metric-card{padding:20px 22px}.shaft-track{margin-left:25px}.shaft-floor .floor-mm{display:inline}.shaft-scale{display:none}}
@media(max-width:1190px){main{padding:25px 24px 0}.topbar{padding:0 24px}.dashboard{grid-template-columns:minmax(0,1fr) 286px;gap:15px}.metrics{gap:8px}.metric-card{padding:14px 12px}.metric-value{font-size:25px;letter-spacing:-.8px}.metric-value .unit{font-size:9px}.metric-caption{font-size:8px}.title-muted{display:block;font-size:18px;margin-top:3px}.chart-legend{gap:12px}.quality-grid{gap:8px}.quality-grid span{font-size:8px}.profile-content{gap:20px}.shaft-view{height:238px}}
@media(max-width:930px){.dashboard{grid-template-columns:1fr}.side-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shaft-panel{grid-row:span 2}.signals-panel{grid-column:2}.metrics{gap:12px}.metric-value{font-size:29px}.metric-card{padding:17px}.metric-caption{font-size:9px}.title-muted{display:inline;font-size:inherit;margin:0}h1{font-size:23px}.device-control{min-width:195px}.profile-content{grid-template-columns:1fr 1fr}.profile-content>div:last-child{grid-column:span 2}.shaft-view{height:420px}.shaft-track{width:115px}.side-column .shaft-bottom{margin-top:20px}footer{flex-wrap:wrap}.page-title{align-items:flex-start}.workspace-name{font-size:11px}}
@media(max-width:680px){.topbar{padding:0 18px;height:68px;gap:15px}.header-divider,.workspace-name{display:none}.brand{font-size:15px}.brand-sub{font-size:7px}.brand-mark{width:32px;height:35px;font-size:23px}.topbar-right{gap:9px}.topbar-right .pill{font-size:9px;padding:5px 7px}main{padding:23px 16px 0}.page-title{display:block;margin-bottom:19px}.eyebrow{font-size:8px}h1{font-size:24px;margin:10px 0}.title-muted{display:block;font-size:20px}.page-title p{font-size:11px}.device-control{margin-top:17px;max-width:none}.device-control label{display:none}.demo-banner{font-size:10px;align-items:flex-start}.demo-label{margin-top:1px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:15px 16px}.metric-value{font-size:30px;margin:9px 0 5px}.metric-caption{font-size:9px}.main-column,.side-column{gap:14px}.panel-heading{padding:17px 16px 0}.chart-legend{padding:14px 16px 5px;gap:12px;flex-wrap:wrap;font-size:9px}.chart-legend small{font-size:8px}.legend-end{display:none!important}.motion-chart{height:235px;margin:0 5px}.position-chart{height:170px;margin:12px 5px 0}.panel-heading h2{font-size:12px}.panel-heading .subtle{font-size:9px}.panel-heading .pill{font-size:8px;padding:4px 6px}.chart-footer{padding:10px 16px;font-size:8px}.buffer-panel{padding:17px 16px}.buffer-title .subtle{font-size:9px}.buffer-icon{display:none}.buffer-title output{font-size:22px}.range-labels{font-size:8px}.range-labels .text-button{font-size:8px}.quality-grid{grid-template-columns:1fr 1fr;gap:14px}.quality-grid span{font-size:9px}.side-column{display:flex}.shaft-view{height:270px;margin:0 25px}.shaft-track{margin-left:40px;width:115px}.shaft-floors{margin-right:25px}.shaft-floor .floor-mm{display:inline}.shaft-scale{display:none}.shaft-bottom{padding:18px 20px}.shaft-bottom .subtle{font-size:10px}.state-stack .pill{font-size:10px}.signal{font-size:11px}.safety-signal{padding:11px 5px}.safety-signal span{font-size:8px}.profile-content{grid-template-columns:1fr;gap:5px}.profile-content>div:last-child{grid-column:auto}.profile-details summary{font-size:10px;padding:14px 15px}.profile-details summary>span:last-child{font-size:0}.profile-details .chevron{font-size:15px;padding:0}footer{font-size:8px;padding:20px 0;gap:10px}footer>span:nth-child(2){order:3;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
