.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--paper: #f2f0e9;--paper-2: #ebe8df;--ink: #1d1d1b;--muted: #75736b;--faint: #a9a69c;--hair: rgba(29, 29, 27, .14);--grid: rgba(29, 29, 27, .07);--red: #d23a2a;--amber: #b7790f;--rule: 1.5px solid var(--ink);--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--num: "Inter Tight", "IBM Plex Sans", ui-sans-serif, sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden}button{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--ink);outline-offset:-4px;border-radius:0}.on:focus-visible,.hotspot:focus-visible,.sel-btn[aria-expanded=true]:focus-visible{outline-color:var(--paper)}.app{--top-h: 60px;--rail-w: clamp(280px, 24vw, 400px);--trend-h: clamp(220px, 28vh, 320px);position:relative;width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);grid-template-rows:var(--top-h) minmax(0,1fr) var(--trend-h);grid-template-areas:"top top" "scene rail" "trend rail";background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}.app.is-trend-closed{--trend-h: 41px}.app.mode-analisis{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:var(--top-h) minmax(0,1fr);grid-template-areas:"top top" "scene trend"}.app.mode-analisis .rail{display:none}.app.mode-analisis .trend{border-top:0;border-right:0}.app.mode-kiosk{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--top-h) minmax(0,1fr);grid-template-areas:"top" "scene"}.app.mode-kiosk .rail,.app.mode-kiosk .trend{display:none}@keyframes in-monitor{0%{opacity:0}}@keyframes in-analisis{0%{opacity:0}}@keyframes in-kiosk{0%{opacity:0}}.mode-monitor .rail,.mode-monitor .trend{animation:in-monitor .45s ease-out}.mode-analisis .trend{animation:in-analisis .45s ease-out}.mode-kiosk .kiosk{animation:in-kiosk .45s ease-out}.app.is-intro{background-image:none}.app canvas{display:block}.app.is-bare{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"scene"}.app.is-bare .topbar,.app.is-bare .rail,.app.is-bare .trend,.app.is-bare .ui,.app.is-bare .labels{display:none}.scene-cell{grid-area:scene;position:relative;overflow:hidden;min-width:0;min-height:0;border-right:var(--rule)}.scene-cell{container-type:inline-size;container-name:scene}.stage{position:absolute;top:0;right:0;bottom:0;left:0}.app.stage-full .scene-cell{overflow:visible;z-index:1}.topbar,.rail,.trend{position:relative;z-index:2}.topbar{grid-area:top;height:var(--top-h);display:flex;align-items:stretch;overflow:hidden;background:var(--paper);border-bottom:var(--rule)}.brand{flex:0 1 auto;display:flex;align-items:center;gap:12px;padding:0 16px;min-width:0}.brand>div:last-child{min-width:0;overflow:hidden}.brand-mark{font:600 12px var(--mono);letter-spacing:.14em;border:var(--rule);padding:4px 7px}.title{font:600 13px var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtitle{font:11px var(--mono);color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modes{flex:none;align-self:center;display:flex;margin-left:clamp(8px,1.6vw,28px);border:1px solid var(--ink)}.modes button{font:10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;background:none;border:0;border-right:1px solid var(--ink);padding:6px 12px;cursor:pointer}.modes button:last-child{border-right:0}.modes button:hover{background:var(--paper-2)}.modes button.on{background:var(--ink);color:var(--paper)}.fps{flex:none;align-self:center;margin-left:auto;padding:0 12px;font:10.5px var(--mono);color:var(--faint);white-space:nowrap}.cells{flex:none;display:flex;margin-left:auto}.fps+.cells{margin-left:0}.cell{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:clamp(104px,10.5vw,150px);padding:0 clamp(10px,1.1vw,16px);border:0;border-left:1px solid var(--ink);background:none;text-align:left}button.cell{cursor:pointer}button.cell:hover{background:var(--paper-2)}.cell.is-focus{box-shadow:inset 0 -3px 0 var(--ink)}.cell-k{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.cell-v{font:500 13px var(--mono);white-space:nowrap}.cell-k .short{display:none}.cell[data-status=warn] .cell-v{color:var(--amber)}.cell[data-status=warn] .cell-v:before{content:"▲ "}.cell[data-status=alarm]{background:var(--red)}.cell[data-status=alarm] .cell-k,.cell[data-status=alarm] .cell-v{color:var(--paper)}.cell[data-status=alarm] .cell-v:before{content:"■ ";animation:blink .8s infinite}.cell[data-status=invalid] .cell-v{color:var(--muted)}.cell[data-sispek=retry] .cell-v{color:var(--amber)}.rail{grid-area:rail;overflow-y:auto;overflow-x:hidden;min-height:0;background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.blk{padding:14px 16px;border-bottom:var(--rule)}.blk h3{display:flex;align-items:baseline;gap:8px;margin:0 0 12px;font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase}.blk h3 .no{color:var(--red)}.blk h3 em{margin-left:auto;font-style:normal;font-weight:400;letter-spacing:.04em;color:var(--muted);text-transform:none}.blk .sub{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:12px 0 4px}.blk .note{margin:10px 0 0;font:10px/1.45 var(--mono);color:var(--faint)}.readouts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}.readout{display:flex;flex-direction:column;text-align:left;background:none;border:0;padding:9px 11px 10px;cursor:pointer;position:relative}.readout+.readout{border-left:1px solid var(--ink)}.readout:hover{background:var(--paper-2)}.readout.is-focus{box-shadow:inset 0 -3px 0 var(--ink)}.readout-k{display:flex;justify-content:space-between;font:500 10.5px var(--mono)}.readout-v{font:300 44px/1 var(--num);letter-spacing:-.04em;margin:8px 0 4px;font-variant-numeric:tabular-nums}.readout-l{font:10.5px var(--mono);color:var(--muted)}.readout[data-status=warn] .readout-v,.readout[data-status=warn] .readout-k span:last-child{color:var(--amber)}.readout[data-status=alarm]{background:var(--red);color:var(--paper)}.readout[data-status=alarm] .readout-l{color:#f2f0e9cc}.readout[data-status=invalid] .readout-v{color:var(--faint)}.tbl{width:100%;border-collapse:collapse;margin-top:12px;font:11.5px var(--mono);font-variant-numeric:tabular-nums}.tbl th{font-weight:400;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:right;padding:0 0 4px;border-bottom:1px solid var(--ink)}.tbl th:first-child,.tbl td:first-child{text-align:left}.tbl td{text-align:right;padding:4px 0;border-bottom:1px dotted rgba(29,29,27,.3)}.tbl td.is-focus{font-weight:600}.tbl td.lim{color:var(--muted)}.tbl td[data-level=warn]{color:var(--amber)}.tbl td[data-level=warn]:after{content:" ▲";font-size:9px}.tbl td[data-level=alarm]{color:var(--red);font-weight:600}.tbl td[data-level=alarm]:after{content:" ■";font-size:9px}.row{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;padding:3px 0;font:11.5px var(--mono)}.row b{font-weight:500;text-align:right;min-width:64px;font-variant-numeric:tabular-nums}.row small{font-size:10px;color:var(--faint)}[data-bad=true]{color:var(--red)}.episode{display:grid;grid-template-columns:38px 1fr auto;gap:8px;width:100%;text-align:left;align-items:baseline;font:11.5px var(--mono);background:none;border:0;border-bottom:1px dotted rgba(29,29,27,.3);padding:4px 0;cursor:pointer}.episode:hover{background:var(--paper-2)}.episode-p{font-weight:600;color:var(--red)}.episode-peak{color:var(--muted)}.analyzer .sq{display:inline-block;width:7px;height:7px;border:1px solid var(--ink);background:var(--ink);margin-right:8px}.analyzer[data-state=cal] .sq{background:repeating-linear-gradient(45deg,var(--ink) 0 1.5px,transparent 1.5px 3px)}.analyzer[data-state=cal] b{color:var(--amber)}.analyzer[data-state=fault] .sq{background:var(--red);border-color:var(--red)}.analyzer[data-state=fault] b{color:var(--red)}.log{grid-template-columns:1fr auto}.log[data-ok=false] b{color:var(--red)}.trend{grid-area:trend;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--paper);border-top:var(--rule);border-right:var(--rule)}.trend-head{display:flex;align-items:center;gap:12px;padding:0 14px;min-height:40px;flex:none;border-bottom:1px solid var(--ink);overflow:hidden}.trend-toggle{font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;background:none;border:0;cursor:pointer;padding:4px 0;white-space:nowrap}.seg{display:flex;border:1px solid var(--ink)}.seg button{font:11px var(--mono);background:none;border:0;border-right:1px solid var(--ink);padding:4px 9px;cursor:pointer;white-space:nowrap}.seg button:last-child{border-right:0}.seg button:hover{background:var(--paper-2)}.seg button.on{background:var(--ink);color:var(--paper)}.trend-meta{margin-left:auto;display:flex;align-items:center;gap:12px;font:10.5px var(--mono);color:var(--muted);white-space:nowrap}.key{display:inline-flex;align-items:center;gap:5px}.key i{width:16px;height:0;border-top:1.5px solid var(--ink)}.key i.dashed{border-top:1px dashed rgba(29,29,27,.55)}.trend-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(170px,14vw,220px);gap:14px;padding:8px 14px 10px 6px}.chart{position:relative;min-height:0;min-width:0;overflow:hidden}.trend-side{display:flex;flex-direction:column;gap:6px}.trend-side-title{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}.stats div{padding:7px 9px 8px;border-bottom:1px solid var(--ink)}.stats div:nth-child(odd){border-right:1px solid var(--ink)}.stats div:nth-last-child(-n+2){border-bottom:0}.stats span{display:block;font:10px var(--mono);color:var(--muted)}.stats b{display:block;margin-top:3px;font:300 24px/1 var(--num);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.chart .uplot{font-family:var(--mono)}.chart:not(:hover) .u-legend{visibility:hidden}.chart .u-legend{position:absolute;top:0;left:56px;font:10.5px var(--mono);color:var(--muted);text-align:left;pointer-events:none;background:var(--paper);border:1px solid var(--ink)}.chart .u-legend .u-marker{width:12px;height:0;border-width:1px 0 0!important;background:none!important}.chart .u-legend th{font-weight:400}.chart .u-legend td{color:var(--ink)}.chart .u-select{background:#1d1d1b12}.mode-analisis .toolbar,.mode-analisis .sheet,.mode-analisis .sensor-layer,.mode-analisis .legend{display:none}.mode-analisis .hotspot:not([data-status]){display:none}.trend.is-analysis{overflow-y:auto;scrollbar-width:thin}.trend.is-analysis .trend-body{flex:1 0 clamp(240px,38vh,460px)}.ana{flex:none;height:clamp(230px,36vh,380px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border-top:1px solid var(--ink)}.ana-blk{min-width:0;min-height:0;padding:12px 14px;display:flex;flex-direction:column}.ana-blk+.ana-blk{border-left:1px solid var(--ink)}.ana-blk h3{display:flex;align-items:baseline;gap:8px;margin:0 0 12px;font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase}.ana-blk h3 .no{color:var(--red)}.ana-blk h3 em{margin-left:auto;font-style:normal;font-weight:400;letter-spacing:.04em;color:var(--muted);text-transform:none}.cal{display:flex;flex-direction:column;gap:6px}.cal-months,.cal-days{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px}.cal-months{margin-left:42px;font:10px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.cal-months span{border-left:1px solid var(--ink);padding-left:4px;white-space:nowrap}.cal-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center}.cal-label{font:500 11px var(--mono);background:none;border:1px solid transparent;padding:3px 0;cursor:pointer}.cal-row.is-focus .cal-label{border-color:var(--ink)}.cal-days i{height:44px;background:#1d1d1b29}.cal-days i:hover{outline:1.5px solid var(--ink);outline-offset:1px}.cal-days i[data-state=hour],.cal-key i[data-state=hour]{background:var(--amber)}.cal-days i[data-state=exceed],.cal-key i[data-state=exceed]{background:var(--red)}.cal-days i[data-state=invalid],.cal-key i[data-state=invalid]{background:repeating-linear-gradient(45deg,var(--ink) 0 1px,transparent 1px 4px)}.cal-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:auto;padding-top:12px;font:10.5px var(--mono);color:var(--muted)}.cal-key span{display:flex;align-items:center;gap:6px}.cal-key i{width:12px;height:12px;background:#1d1d1b29;border:1px solid rgba(29,29,27,.3)}.ev-scroll{min-height:0;overflow:auto;scrollbar-width:thin}.tbl.ev{margin-top:0}.tbl.ev th{position:sticky;top:0;background:var(--paper)}.tbl.ev tbody tr{cursor:pointer}.tbl.ev tbody tr:hover td{background:var(--paper-2)}.tbl.ev td[data-level=alarm]:after{content:""}.mode-kiosk .scene-cell{border-right:0}.mode-kiosk .toolbar,.mode-kiosk .sheet,.mode-kiosk .legend{display:none}.mode-kiosk .hotspot{font-size:13px;padding:4px 9px 4px 7px}.mode-kiosk .hotspot:not([data-status]){display:none}.kiosk{position:absolute;left:16px;right:16px;bottom:16px;background:var(--paper);border:var(--rule)}.k-strip{display:grid;grid-template-columns:clamp(150px,16vw,240px) repeat(4,minmax(0,1fr));border-bottom:1px solid var(--ink)}.k-id{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:12px 16px;border-right:1px solid var(--ink)}.k-id span{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase}.k-id b{font:300 clamp(17px,1.9vw,26px)/1.05 var(--num);letter-spacing:-.02em}.k-strip[data-status=warn] .k-id b{color:var(--amber)}.k-strip[data-status=alarm] .k-id{background:var(--red);color:var(--paper)}.k-val{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:baseline;padding:10px 16px 12px;border-right:1px solid var(--ink)}.k-val:last-child{border-right:0}.k-val span{grid-column:1 / -1;font:11px var(--mono);color:var(--muted)}.k-val b{font:300 clamp(34px,4.2vw,64px)/1 var(--num);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.k-val small{font:12px var(--mono);color:var(--muted)}.k-val[data-level=warn] b{color:var(--amber)}.k-val[data-level=alarm]{background:var(--red)}.k-val[data-level=alarm] b,.k-val[data-level=alarm] span,.k-val[data-level=alarm] small{color:var(--paper)}.k-foot{display:flex;justify-content:space-between;gap:16px;padding:7px 16px;font:11px var(--mono);color:var(--muted)}.toolbar{position:absolute;left:14px;bottom:14px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none;max-width:calc(100% - 330px)}.group{display:flex;align-items:center;border:1px solid var(--ink);background:var(--paper);pointer-events:auto}.group-label{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 8px}.toolbar button{font:10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;background:none;border:0;border-right:1px solid var(--ink);padding:6px 10px;cursor:pointer}.toolbar .group>:last-child{border-right:0}.toolbar button:hover{background:var(--paper-2)}.toolbar button.on{background:var(--ink);color:var(--paper)}.sel{position:relative;display:flex;align-self:stretch}.toolbar .sel-btn,.campad .sel-btn,.sel-btn{display:flex;align-items:center;gap:10px;font:10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--paper);border:0;border-left:1px solid var(--ink);border-right:1px solid var(--ink);padding:6px 10px;cursor:pointer;white-space:nowrap}.sel-btn:hover{background:var(--paper-2)}.sel .sel-btn[aria-expanded=true],.sel .sel-btn[aria-expanded=true]:hover{background:var(--ink);color:var(--paper)}.sel-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}.sel.is-up .sel-caret{border-top:0;border-bottom:5px solid currentColor}.sel-list{position:absolute;left:-1px;top:calc(100% + 1px);min-width:calc(100% + 2px);z-index:20;margin:0;padding:0;list-style:none;background:var(--paper);border:1px solid var(--ink);box-shadow:3px 3px #1d1d1b1f}.sel.is-up .sel-list{top:auto;bottom:calc(100% + 1px)}.sel-list li{display:flex;align-items:center;gap:8px;padding:6px 10px;font:10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-bottom:1px solid var(--hair)}.sel-list li:last-child{border-bottom:0}.sel-list li:before{content:"";width:6px;height:6px;border:1px solid currentColor;flex:none}.sel-list li[aria-selected=true]:before{background:currentColor}.sel-list li.is-hi{background:var(--ink);color:var(--paper)}.campad{position:absolute;right:14px;top:14px;display:flex;align-items:stretch;border:1px solid var(--ink);background:var(--paper)}.campad button{font:10.5px var(--mono);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;background:none;border:0;cursor:pointer;min-width:30px;padding:0 8px;display:grid;place-items:center;-webkit-user-select:none;user-select:none;touch-action:none}.campad button:hover{background:var(--paper-2)}.campad-grid button:active,.campad-col button:active{background:var(--ink);color:var(--paper)}.campad-grid{display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:26px 26px;border-right:1px solid var(--ink)}.campad-grid button{min-width:0;padding:0}.campad-grid button:nth-child(1){grid-area:1 / 2;border-left:1px solid var(--hair);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}.campad-grid button:nth-child(2){grid-area:2 / 1}.campad-grid button:nth-child(3){grid-area:2 / 3}.campad-grid button:nth-child(4){grid-area:2 / 2;border-left:1px solid var(--hair);border-right:1px solid var(--hair)}.campad-col{display:flex;flex-direction:column;border-right:1px solid var(--ink)}.campad-col button{flex:1}.campad-col button:first-child{border-bottom:1px solid var(--hair)}.campad .sel-btn{border:0}.campad .sel{min-width:150px}.campad-toggle{border-left:1px solid var(--ink)!important}.campad.is-collapsed .campad-grid,.campad.is-collapsed .campad-col,.campad.is-collapsed .sel{display:none}.campad.is-collapsed .campad-toggle{border-left:0!important}.campad .sel-btn{width:100%;justify-content:space-between}.ar{width:0;height:0;border:4px solid transparent}.ar.up{border-bottom:6px solid currentColor;border-top-width:0}.ar.down{border-top:6px solid currentColor;border-bottom-width:0}.ar.left{border-right:6px solid currentColor;border-left-width:0}.ar.right{border-left:6px solid currentColor;border-right-width:0}.mode-kiosk .campad{display:none}@container scene (max-width: 640px){.campad .sel.sel{min-width:0}.campad .sel-btn span{display:none}.campad .sel-list{left:auto;right:-1px}}.sheet{position:absolute;right:14px;bottom:14px;display:grid;grid-template-columns:auto auto;font:10px var(--mono);border:var(--rule);background:var(--paper)}.sheet span{padding:3px 8px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);white-space:nowrap}.sheet span:nth-child(odd){color:var(--muted);letter-spacing:.08em}.sheet span:nth-child(2n){border-right:0}.sheet span:nth-last-child(-n+2){border-bottom:0}.legend{position:absolute;left:14px;top:14px;display:flex;flex-direction:column;gap:4px;background:var(--paper);border:var(--rule);padding:10px 12px;font:11px var(--mono);max-height:calc(100% - 90px);overflow:auto}.legend-title{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:4px 0 2px}.legend span{display:flex;align-items:center;gap:8px}.legend i{width:22px;height:6px;display:inline-block;border:1px solid var(--ink)}.legend i.dot{width:9px;height:9px;margin:0 6px}.sensor-layer.is-hidden{display:none}.sensor-tag{position:absolute;left:0;top:0;pointer-events:auto;display:flex;align-items:center;gap:6px;white-space:nowrap;font:10.5px var(--mono);background:var(--paper);border:1px solid var(--ink);padding:1px 6px 1px 4px;will-change:transform;cursor:default}.sensor-tag:before{content:"";width:6px;height:6px;background:var(--c);border:1px solid var(--ink)}.sensor-tag.is-link{cursor:pointer}.sensor-live{color:var(--muted)}.sensor-detail{display:none;flex-direction:column;line-height:1.3}.sensor-detail b{font-weight:600;font-size:11px}.sensor-detail small{font-size:10px;color:var(--muted)}.sensor-tag:hover{z-index:5;padding:5px 8px 5px 5px}.sensor-tag:hover .sensor-detail{display:flex}.labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.hotspot{position:absolute;left:0;top:0;visibility:hidden;pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;background:var(--paper);border:1px solid var(--ink);padding:2px 7px 2px 5px;font:11px var(--mono);will-change:transform}.hotspot:hover,.hotspot.is-active{background:var(--ink);color:var(--paper)}.hotspot-dot{width:7px;height:7px;background:currentColor}.hotspot[data-status=warn]{border-color:var(--amber);color:var(--amber)}.hotspot[data-status=alarm]{background:var(--red);border-color:var(--red);color:var(--paper)}.hotspot[data-status=alarm] .hotspot-dot{animation:blink .8s infinite}@keyframes blink{50%{opacity:.25}}.hotspot-text{display:flex;flex-direction:column;line-height:1.2;text-align:left}.hotspot-text b{font-weight:500}.hotspot-text small{font-size:10px;opacity:.7;display:none}.hotspot:hover small,.hotspot.is-active small{display:block}.ui,.labels{transition:opacity .6s,transform .8s cubic-bezier(.2,.7,.2,1)}.app.is-intro .ui,.app.is-intro .labels{opacity:0;pointer-events:none}.app.is-intro .rail{transform:translate(24px)}.app.is-intro .trend{transform:translateY(24px)}.app.is-intro .topbar{transform:translateY(-12px)}.app.is-intro .scene-cell .ui{transition-duration:.2s}.app.is-intro .scene-cell{border-right:0}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;color:var(--ink)}.intro-cap{position:absolute;padding:10px 14px 12px;background:#f2f0e9e6;border:var(--rule);left:48px;bottom:72px;display:flex;flex-direction:column;gap:4px;opacity:0;transform:translateY(12px);transition:opacity .7s,transform .7s}.intro-cap.is-on{opacity:1;transform:none}.intro-no{font:600 12px var(--mono);color:var(--red);letter-spacing:.2em}.intro-title{font:300 40px var(--num);letter-spacing:-.02em}.intro-sub{font:12px var(--mono);color:var(--muted);letter-spacing:.04em}.intro-skip{position:absolute;right:24px;bottom:24px;pointer-events:auto;cursor:pointer;font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--paper);border:var(--rule);padding:8px 14px}.intro-skip:hover{background:var(--ink);color:var(--paper)}@media(max-width:1360px){.subtitle,.fps{display:none}}@media(max-width:1100px){.brand-title,.cell-k .long{display:none}.cell-k .short{display:inline}.toolbar button,.toolbar .sel-btn{padding:5px 8px}.group-label{display:none}.campad .sel{min-width:128px}}@media(max-height:820px){.trend-side-title{display:none}.stats div{padding:4px 8px 5px}.stats span{font-size:9.5px}.stats b{font-size:18px;margin-top:1px}}@media(max-width:1240px){.ana{grid-template-columns:minmax(0,1fr);height:auto}.ana-blk+.ana-blk{border-left:0;border-top:1px solid var(--ink)}.ev-scroll{max-height:220px}.readout-v{font-size:36px}.subtitle,.fps,.trend-meta,.sheet{display:none}.toolbar{max-width:none}.cell{min-width:0;padding:0 12px}.trend-body{grid-template-columns:minmax(0,1fr)}.trend-side{display:none}.modes{margin-left:12px}}@media(max-width:760px){html,body,#root{overflow:auto;height:auto}.app,.app.is-intro{display:flex;flex-direction:column;height:auto}.topbar{flex-wrap:wrap;height:auto}.cells{margin-left:0}.modes{margin-right:12px}.brand{padding:10px 12px}.cells{flex-wrap:wrap;width:100%;border-top:1px solid var(--ink)}.cell{flex:1 1 45%;padding:6px 12px;border-left:0;border-right:1px solid var(--ink)}.scene-cell{height:62vh;flex:none;border-right:0}.trend{height:var(--trend-h);flex:none;border-right:0}.trend-head{flex-wrap:wrap;padding:6px 12px}.rail{overflow:visible}.rail>*{min-width:0}.intro-title{font-size:26px}.intro-cap{left:20px}.group-label{display:none}}
