@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-mono:var(--font-mono-stack);--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-yellow-400:#fac800;--color-yellow-600:#cd8900;--color-emerald-400:#00d294;--color-teal-400:#00d3bd;--color-teal-500:#00baa7;--color-teal-600:#009588;--color-white:#fff;--spacing:.25rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-semibold:600;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-body-stack);--default-mono-font-family:var(--font-mono-stack)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-600:lab(62.7799% 22.4197 86.1544);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-teal-400:lab(76.0109% -53.3483 -2.27906);--color-teal-500:lab(67.3859% -49.0983 -2.63511);--color-teal-600:lab(55.0223% -41.0774 -3.90277)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.ml-1{margin-left:calc(var(--spacing)*1)}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-full{height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-teal-500\/20{background-color:#00baa733}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/20{background-color:color-mix(in oklab,var(--color-teal-500)20%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(180deg\,var\(--color-bg\)\,var\(--color-bg-strong\)\)\]{background-image:linear-gradient(180deg,var(--color-bg),var(--color-bg-strong))}.from-teal-600{--tw-gradient-from:var(--color-teal-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-600{--tw-gradient-from:var(--color-yellow-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-400{--tw-gradient-to:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-7{padding:calc(var(--spacing)*7)}.px-2{padding-inline:calc(var(--spacing)*2)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.pr-14{padding-right:calc(var(--spacing)*14)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono-stack)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.72rem\]{font-size:.72rem}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\(--color-muted\){color:var(--color-muted)}.text-\(--color-soft\){color:var(--color-soft)}.text-\(--color-text\){color:var(--color-text)}.text-\[var\(--color-muted\)\]{color:var(--color-muted)}.text-\[var\(--color-soft\)\]{color:var(--color-soft)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-emerald-400{color:var(--color-emerald-400)}.text-red-400{color:var(--color-red-400)}.text-teal-400{color:var(--color-teal-400)}.text-yellow-400{color:var(--color-yellow-400)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-teal-500\/60{--tw-ring-color:#00baa799}@supports (color:color-mix(in lab, red, red)){.ring-teal-500\/60{--tw-ring-color:color-mix(in oklab,var(--color-teal-500)60%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}}}.confirm-dialog-backdrop{z-index:90;background:#23313b7a;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-dialog-panel{background:var(--color-panel);width:min(27rem,100vw - 2rem);padding:1rem;position:relative}.confirm-dialog-close{border:1px solid var(--color-line);width:2rem;height:2rem;color:var(--color-text);background:#ffffff9e;border-radius:.45rem;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.6rem;right:.6rem}.confirm-dialog-content{gap:.7rem;padding-right:2.2rem;display:grid}.confirm-dialog-title{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:800}.confirm-dialog-body{color:var(--color-soft);margin:0;font-size:.86rem;line-height:1.45}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:.2rem;display:flex}.quick-action-btn-pressed{background:#0f766e24;border-color:#0f766e6b;transform:translateY(1px)scale(.97);box-shadow:inset 0 0 0 1px #0f766e29}.quick-action-btn-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.config-dirty-pill{color:#7b4a15;letter-spacing:.08em;text-transform:uppercase;background:#c7792b1f;border:1px solid #c7792b61;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.chart-empty-state{height:100%;color:var(--color-muted);text-align:center;place-items:center;padding:1rem;display:grid}.chart-empty-state-title{color:var(--color-text);margin:0;font-size:.88rem;font-weight:800}.chart-empty-state-detail{margin:.2rem 0 0;font-size:.75rem;line-height:1.35}.config-table-wrap,.event-table-wrap{max-width:100%;overflow:auto}.config-table th,.event-table th{z-index:1;position:sticky;top:0}.event-table tbody tr.event-row-active{box-shadow:inset 3px 0 0 var(--color-accent)}.config-table tbody tr:focus-within,.event-table tbody tr:focus-within{outline-offset:-2px;outline:2px solid #0f766e5c}.speed-chart-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:1100px){.speed-chart-grid{grid-template-columns:1fr 1fr}}.speed-chart-grid .chart-frame{min-height:15rem}.verification-kind-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;display:flex}.verification-column-help{color:var(--color-muted);margin-top:.6rem;font-size:.75rem}.verification-column-help summary{cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.04em;text-transform:uppercase;font-size:.65rem}.verification-column-help dl{gap:.35rem;margin:.5rem 0 0;display:grid}.verification-column-help dl>div{grid-template-columns:1fr;gap:.1rem;display:grid}@media (min-width:700px){.verification-column-help dl>div{grid-template-columns:10rem 1fr;gap:.75rem}}.verification-column-help dt{color:var(--color-text);font-weight:700}.verification-column-help dd{margin:0;line-height:1.4}.flash-picker{gap:.5rem;display:grid}.flash-file-button{cursor:pointer;background:#ffffff80;border:1px dashed #75838c6b;border-radius:.55rem;gap:.12rem;padding:.55rem .65rem;transition:border-color .16s,background .16s;display:grid}.flash-file-button:hover{background:#0f766e0f;border-color:#0f766e80}.flash-file-button:has(input:disabled){cursor:not-allowed;opacity:.55}.flash-file-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;overflow:hidden}.flash-file-meta{letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);font-size:.7rem}.flash-start-button{justify-content:center;padding:.5rem .7rem;font-size:.84rem;font-weight:800}.flash-hint{color:var(--color-muted);margin:0;font-size:.72rem;line-height:1.4}.flash-notice{border-radius:.5rem;align-items:flex-start;gap:.4rem;margin:0 0 .5rem;padding:.45rem .55rem;font-size:.74rem;line-height:1.4;display:flex}.flash-notice svg{flex:none;margin-top:.1rem}.flash-notice-warn{color:#7b4a15;background:#c7792b1a;border:1px solid #c7792b5c}.flash-dialog-notice{text-align:left;width:100%;margin:0;animation:.22s ease-out flash-notice-in}@keyframes flash-notice-in{0%{opacity:0;transform:translateY(-.25rem)}}.flash-notice-error{color:#8b302a;background:#b44a3e1a;border:1px solid #b44a3e5c;margin:0}.flash-dialog-backdrop{z-index:100;background:#23313b8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.flash-dialog-panel{background:var(--color-panel);text-align:center;justify-items:center;gap:.85rem;width:min(24rem,100vw - 2rem);padding:1.5rem 1.25rem 1.15rem;display:grid;position:relative}.flash-stage{--flash-tone:var(--color-accent);place-items:center;width:7.5rem;height:7.5rem;display:grid;position:relative}.flash-stage-waiting{--flash-tone:#3f6f96}.flash-stage-erasing,.flash-stage-restarting{--flash-tone:var(--color-warn)}.flash-stage-success{--flash-tone:var(--color-true)}.flash-stage-failed{--flash-tone:var(--color-danger)}.flash-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.flash-ring circle{fill:none;stroke-width:5px;stroke-linecap:round}.flash-ring-track{stroke:#5b636729}.flash-ring-value{stroke:var(--flash-tone);transition:stroke-dashoffset .18s linear}.flash-ring-sweep{stroke:var(--flash-tone);transform-origin:50%;animation:1.1s linear infinite flash-sweep}.flash-stage-icon{background:var(--flash-tone);border-radius:50%;place-items:center;width:4.2rem;height:4.2rem;display:grid}@supports (color:color-mix(in lab, red, red)){.flash-stage-icon{background:color-mix(in srgb,var(--flash-tone)12%,transparent)}}.flash-stage-icon{color:var(--flash-tone)}.flash-stage-success .flash-stage-icon,.flash-stage-failed .flash-stage-icon{animation:.32s cubic-bezier(.2,1.3,.5,1) flash-pop}.flash-stage-erasing .flash-stage-icon svg,.flash-stage-restarting .flash-stage-icon svg{animation:1.6s linear infinite flash-spin}.flash-stage-percent{font-family:var(--font-display-stack);font-variant-numeric:tabular-nums;color:var(--color-text);font-size:1.15rem;font-weight:800}.flash-pulse{border:2px solid var(--flash-tone);opacity:0;border-radius:50%;width:4.2rem;height:4.2rem;animation:2.2s ease-out infinite flash-pulse;position:absolute}.flash-pulse-delayed{animation-delay:1.1s}.flash-dialog-copy{gap:.25rem;display:grid}.flash-dialog-title{color:var(--color-text);margin:0;font-size:1.02rem;font-weight:800}.flash-dialog-body{color:var(--color-soft);margin:0;font-size:.82rem;line-height:1.5}.flash-steps{letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted);align-items:center;gap:0;margin:0;padding:0;font-size:.66rem;font-weight:800;list-style:none;display:flex}.flash-step{opacity:.45;align-items:center;display:flex}.flash-step:not(:last-child):after{content:"";background:var(--color-line);width:1.3rem;height:1.5px;margin:0 .4rem}.flash-step-active,.flash-step-done{opacity:1;color:var(--flash-tone,var(--color-accent))}.flash-step-active{color:var(--color-text)}.flash-step-done:not(:last-child):after{background:var(--flash-tone,var(--color-accent))}.flash-dialog-file{max-width:100%;font-family:var(--font-mono-stack);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.7rem;overflow:hidden}.flash-details{text-align:left;width:100%;color:var(--color-muted);font-size:.72rem}.flash-details summary{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;letter-spacing:.07em;text-transform:uppercase;font-size:.64rem;font-weight:800}.flash-log{border:1px solid var(--color-line);max-height:9rem;font-family:var(--font-mono-stack);color:var(--color-soft);background:#f5f3eebf;border-radius:.45rem;margin-top:.45rem;padding:.4rem .5rem;font-size:.66rem;line-height:1.45;overflow-y:auto}.flash-log p{overflow-wrap:anywhere;margin:0}.flash-copy-button{border-radius:.4rem;justify-content:center;width:100%;margin-top:.4rem;padding:.3rem .5rem;font-size:.7rem}.flash-dialog-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%;margin-top:.15rem;display:flex}.flash-dialog-actions .chart-action-btn{flex:8rem;min-height:2.6rem;padding:.6rem 1.1rem;font-size:.85rem}.flash-dialog-actions:empty{display:none}.reset-hint{opacity:0;grid-template-rows:0fr;justify-items:center;width:100%;margin-bottom:-.85rem;transition:grid-template-rows .42s cubic-bezier(.22,.61,.36,1),margin-bottom .42s cubic-bezier(.22,.61,.36,1),opacity .3s 90ms;display:grid}.reset-hint-shown{opacity:1;grid-template-rows:1fr;margin-bottom:0}.reset-hint-clip{justify-content:center;width:100%;min-height:0;display:flex;overflow:hidden}.reset-hint-board{transform-origin:bottom;max-width:15rem;transition:transform .42s cubic-bezier(.22,.61,.36,1);transform:scale(.94)}.reset-hint-shown .reset-hint-board{transform:scale(1)}.reset-hint:not(.reset-hint-shown) .p2d-press-ripple circle,.reset-hint:not(.reset-hint-shown) .p2d-button-cap,.reset-hint:not(.reset-hint-shown) .p2d-highlight-ring{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.reset-hint,.reset-hint-board{transition-duration:1ms}}.p2d-board{--p2d-mask:#1d5a45;--p2d-mask-edge:#0d3b2c;--p2d-silk:#e6ede8;--p2d-silk-soft:#e6ede89e;--p2d-pad:#d3a94f;--p2d-part-chip:#12181e;--p2d-part-body:#38424a;--p2d-part-metal:#9aa5ac;--p2d-connector:#2f8f56;--p2d-connector-edge:#175c35;--p2d-teensy-mask:#14503c;--p2d-led-op:#6fc07a;--p2d-led-fault:#d97c5a;--p2d-call:var(--color-warn);--p2d-press-cycle:2.6s;filter:drop-shadow(0 3px 10px #23313b47);width:100%;height:auto;font-family:var(--font-display-stack);display:block}.p2d-board-substrate{fill:var(--p2d-mask);stroke:var(--p2d-mask-edge);stroke-width:.7px}.p2d-board-pad{fill:var(--p2d-pad)}.p2d-board-hole{fill:var(--p2d-mask-edge)}.p2d-board-chip{stroke:#0d3b2c8c;stroke-width:.25px}.p2d-board-chip-chip{fill:var(--p2d-part-chip)}.p2d-board-chip-body{fill:var(--p2d-part-body)}.p2d-board-chip-metal{fill:var(--p2d-part-metal)}.p2d-board-smd{fill:var(--p2d-part-chip);opacity:.8}.p2d-board-connector{fill:var(--p2d-connector);stroke:var(--p2d-connector-edge);stroke-width:.35px}.p2d-board-terminal{fill:#0e1b14}.p2d-teensy-board{fill:var(--p2d-teensy-mask);stroke:#061e16cc;stroke-width:.4px}.p2d-teensy-pad{fill:var(--p2d-pad)}.p2d-teensy-chip{fill:#10161c}.p2d-teensy-smd{fill:#253039}.p2d-teensy-can{fill:#b6bec4;stroke:#79838a;stroke-width:.25px}.p2d-teensy-usb{fill:#b9c2c8;stroke:#7d878e;stroke-width:.25px}.p2d-button-can{fill:#cfd6da;stroke:#8b969c;stroke-width:.3px}.p2d-button-cap{fill:#f4f6f7;stroke:#aab3b8;stroke-width:.25px}.p2d-board-wordmark{fill:var(--p2d-silk);letter-spacing:.02em;font-size:5.6px;font-weight:700}.p2d-board-silk-fine{fill:var(--p2d-silk-soft);letter-spacing:.06em;font-size:2.1px;font-weight:700}.p2d-board-silk-turned{letter-spacing:.02em;font-size:1.8px}.p2d-highlight-box{fill:none;stroke:var(--p2d-call);stroke-width:.8px}.p2d-highlight-ring{fill:none;stroke:var(--p2d-call);stroke-width:.8px;transform-box:fill-box;transform-origin:50%;animation:2.2s ease-out infinite p2d-ring-expand}.p2d-highlight-ring-delayed{animation-delay:1.1s}.p2d-highlight-leader{stroke:var(--p2d-call);stroke-width:.55px;stroke-linecap:round;opacity:.85}.p2d-highlight-label{fill:var(--p2d-call);letter-spacing:.1em;paint-order:stroke;stroke:#0d3b2cd9;stroke-width:1.1px;stroke-linejoin:round;font-size:4.4px;font-weight:800}.p2d-board[data-press] .p2d-highlight-ring{display:none}.p2d-press-ripple circle{fill:none;stroke:var(--p2d-call);stroke-width:.5px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:p2d-press-ripple var(--p2d-press-cycle)ease-out infinite}.p2d-press-ripple-late{animation-delay:.16s}.p2d-press-ripple circle.p2d-press-flash{fill:var(--p2d-call);stroke:none;animation-name:p2d-press-flash}.p2d-button-pressed .p2d-button-cap{transform-box:fill-box;transform-origin:50%;animation:p2d-press-cap var(--p2d-press-cycle)ease-in-out infinite}@keyframes flash-sweep{to{transform:rotate(360deg)}}@keyframes flash-spin{to{transform:rotate(360deg)}}@keyframes flash-pulse{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.75)}}@keyframes flash-pop{0%{transform:scale(.7)}to{transform:scale(1)}}@keyframes p2d-ring-expand{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes p2d-press-cap{0%,36%{transform:scale(1)}42%,52%{transform:scale(.86)}60%,to{transform:scale(1)}}@keyframes p2d-press-ripple{0%,40%{opacity:0;transform:scale(.6)}44%{opacity:.75;transform:scale(.7)}72%,to{opacity:0;transform:scale(2)}}@keyframes p2d-press-flash{0%,38%{opacity:0;transform:scale(.5)}44%{opacity:.55;transform:scale(1)}64%,to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.flash-dialog-notice,.flash-pulse,.p2d-highlight-ring,.p2d-press-ripple circle,.p2d-button-pressed .p2d-button-cap,.flash-ring-sweep,.flash-stage-erasing .flash-stage-icon svg,.flash-stage-restarting .flash-stage-icon svg,.flash-stage-success .flash-stage-icon,.flash-stage-failed .flash-stage-icon{animation:none}.flash-pulse{opacity:.35}}.ht-trigger-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ht-dialog-backdrop{z-index:90;background:#23313b7a;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out both ht-dialog-backdrop-in;display:flex;position:fixed;inset:0}.ht-dialog-panel{background:var(--color-panel);border-radius:1rem;width:min(52rem,100vw - 2rem);height:min(40rem,100vh - 2rem);padding:1.1rem 1.2rem 1.3rem;animation:.26s cubic-bezier(.16,1,.3,1) both ht-dialog-panel-in;position:relative;overflow-y:auto}.ht-dialog-close{border:1px solid var(--color-line);width:2rem;height:2rem;color:var(--color-text);background:#ffffff9e;border-radius:.45rem;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.6rem;right:.6rem}.ht-dialog-content{flex-direction:column;gap:.85rem;padding-right:1.6rem;display:flex}@keyframes ht-dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes ht-dialog-panel-in{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.ht-dialog-backdrop,.ht-dialog-panel{animation-duration:1ms}}.ht-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:.75rem;display:grid}@media (min-width:40rem){.ht-layout{grid-template-columns:minmax(0,1.1fr) minmax(15rem,1fr)}}.ht-stage,.ht-side{height:24rem;overflow-y:scroll}.ht-board-frame{flex-direction:column;gap:.6rem;max-width:19rem;margin:0 auto;display:flex}@media (min-width:40rem){.ht-board-frame{margin:0}}.ht-board-key{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.ht-board-key li{color:var(--color-muted);flex-wrap:wrap;align-items:baseline;gap:.45rem;font-size:.72rem;display:flex}.ht-board-key-tag{font-family:var(--font-mono-stack);color:var(--color-text);background:var(--color-panel-strong);border:1px solid var(--color-line);border-radius:.3rem;padding:.05rem .3rem;font-size:.68rem}.ht-board-key-name{color:var(--color-text);font-weight:600}.ht-board-key-expect{color:var(--color-accent)}.ht-board-idle{color:var(--color-muted);margin:0;font-size:.72rem}.ht-live-fill{fill:var(--color-warn);opacity:.22}.ht-live-ring{fill:none;stroke:var(--color-warn);stroke-width:.7px;animation:1.6s ease-in-out infinite ht-live-breathe}.ht-live-label{fill:var(--color-warn);letter-spacing:.14em;paint-order:stroke;stroke:#0d3b2cd9;stroke-width:.9px;stroke-linejoin:round;font-size:3px;font-weight:800}.ht-live-led-glow{opacity:.35;animation:1.2s ease-in-out infinite ht-live-breathe}.ht-live-led-core{fill:#fdfbf2}.ht-probe-halo{fill:none;stroke:#08221abf;stroke-width:1.5px}.ht-probe-ring{fill:none;stroke:var(--color-accent);stroke-width:.75px}.ht-probe-dot,.ht-probe-span{stroke:var(--color-accent)}.ht-probe-dot{fill:var(--color-accent);stroke:none}.ht-probe-span{stroke-width:.55px;stroke-dasharray:1.2 1.2;opacity:.85}.ht-probe[data-kind=lamp] .ht-probe-ring,.ht-probe[data-kind=lamp] .ht-probe-span{stroke:var(--color-warn)}.ht-probe[data-kind=lamp] .ht-probe-dot{fill:var(--color-warn)}.ht-status{border:1px solid var(--color-line);background:var(--color-panel-strong);border-radius:.6rem;flex-direction:column;gap:.45rem;padding:.6rem .7rem;display:flex}.ht-status[data-running]{border-color:#c7792b80}.ht-status-step{font-family:var(--font-display-stack);color:var(--color-text);margin:0;font-size:1.02rem;font-weight:700}.ht-meter{flex-direction:column;gap:.2rem;display:flex}.ht-meter-head{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);justify-content:space-between;gap:.5rem;font-size:.68rem;display:flex}.ht-meter-detail{font-family:var(--font-mono-stack);letter-spacing:0;text-transform:none}.ht-meter-track{background:#5b636729;border-radius:999px;height:.4rem;overflow:hidden}.ht-meter-fill{border-radius:inherit;background:var(--color-accent);height:100%;transition:width .22s linear}.ht-probe-list{flex-direction:column;gap:.45rem;display:flex}.ht-probe-card{border:1px solid var(--color-line);border-left:3px solid var(--color-accent);background:var(--color-panel);border-radius:.5rem;padding:.5rem .6rem}.ht-probe-card-title{color:var(--color-text);margin:0;font-size:.85rem;font-weight:700}.ht-probe-card-effect{color:var(--color-muted);margin:.15rem 0 .4rem;font-size:.71rem}.ht-probe-card ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.ht-probe-card li{gap:.05rem;display:grid}.ht-probe-where{font-family:var(--font-mono-stack);color:var(--color-text);font-size:.78rem;font-weight:700}.ht-probe-what{color:var(--color-muted);font-size:.69rem}.ht-probe-expect{color:var(--color-accent);font-size:.72rem;font-weight:600}.ht-channels{grid-template-columns:minmax(0,1fr);gap:.3rem;display:grid}@media (min-width:48rem){.ht-channels{grid-template-columns:repeat(2,minmax(0,1fr))}}.ht-channel{border:1px solid var(--color-line);background:var(--color-panel);border-radius:.45rem;grid-template-columns:auto minmax(6rem,auto) auto minmax(0,1fr);align-items:center;gap:.5rem;padding:.3rem .5rem;font-size:.74rem;display:grid}.ht-channel-led{color:#5b636766;display:inline-flex}.ht-channel[data-on]{background:#c7792b17;border-color:#c7792b8c}.ht-channel[data-on] .ht-channel-led{color:var(--color-warn)}.ht-channel-name{color:var(--color-text);font-weight:600}.ht-channel-state{text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);font-size:.68rem}.ht-channel[data-on] .ht-channel-state{color:var(--color-warn);font-weight:700}.ht-channel-expect{color:var(--color-muted);text-align:right}@keyframes ht-live-breathe{0%,to{opacity:.9}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.ht-live-ring,.ht-live-led-glow{animation:none}.ht-meter-fill{transition:none}}.wiring-panel{--wiring-sheet:#fbfaf6;--wiring-grid:#5b636724;--wiring-shell:#cfd4d2;--wiring-shell-edge:#98a3a3;--wiring-plate:#eceae2;--wiring-door:#f1efe8;--wiring-part:#dfe3e2;--wiring-part-edge:#9aa5a6;--wiring-hatch:#5b636738;--wiring-terminal:#2b3940;--wiring-call:var(--color-accent);--wiring-select:#1b2429;flex-direction:column;flex:auto;gap:.75rem;min-height:0;display:flex}.app-main:has(.wiring-panel){padding-bottom:.55rem}.app-main:has(.wiring-panel)>.space-y-4{flex-direction:column;flex:auto;gap:1rem;height:100%;min-height:0;display:flex}.wiring-panel>*{margin-block:0}.app-main:has(.wiring-panel)>.space-y-4>*{margin-block:0}.wiring-layout{flex:auto;grid-template-columns:1fr;align-items:stretch;gap:.75rem;min-height:0;display:grid}.wiring-layout>.panel:first-child{min-height:0;display:flex;overflow:hidden}@media (min-width:1180px){.wiring-layout{grid-template-columns:minmax(0,1fr) 22rem}}.wiring-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.wiring-circuits{flex-wrap:wrap;gap:.3rem;margin-top:.55rem;display:flex}.wiring-circuit-chip{border:1px solid var(--color-line);color:var(--color-muted);background:0 0;border-radius:999px;align-items:center;gap:.34rem;padding:.2rem .5rem;font-size:.72rem;line-height:1.5;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.wiring-circuit-chip.is-on{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.wiring-circuit-chip.is-on{border-color:color-mix(in srgb,var(--color-accent)45%,transparent)}}.wiring-circuit-chip.is-on{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.wiring-circuit-chip.is-on{background:color-mix(in srgb,var(--color-accent)10%,transparent)}}.wiring-circuit-chip.is-on{color:var(--color-text)}.wiring-circuit-chip:not(.is-on) .wiring-circuit-swatch{opacity:.3}.wiring-circuit-swatch{background:var(--color-muted);border-radius:2px;width:.55rem;height:.55rem}.wiring-circuit-mains{background:#7a4a2b}.wiring-circuit-dc-power{background:#d1453b}.wiring-circuit-motor{background:#22282c}.wiring-circuit-encoder{background:#2f9e5c}.wiring-circuit-drive-control{background:#2f6dd0}.wiring-circuit-operator-panel{background:#e0762b}.wiring-circuit-machine-interface{background:#8b959b}.wiring-circuit-count{font-variant-numeric:tabular-nums;opacity:.7;font-size:.66rem}.wiring-stage{flex:auto;width:100%;min-height:0;display:flex;position:relative}.wiring-stage-frame{border-radius:.5rem;flex:auto;min-height:0;overflow:hidden}.wiring-sheet{background:repeating-linear-gradient(0deg,var(--wiring-grid)0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,var(--wiring-grid)0 1px,transparent 1px 24px),var(--wiring-sheet);border:1px solid var(--color-line);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:var(--font-display-stack);border-radius:.5rem;display:block}.wiring-sheet:active{cursor:grabbing}.wiring-sheet-schematic{cursor:default;background:var(--wiring-sheet);flex:auto;height:100%;min-height:0;max-height:100%}.wiring-stage-tools{z-index:2;gap:.25rem;display:flex;position:absolute;top:.4rem;right:.4rem}.wiring-stage-hint{color:var(--color-muted);margin:.4rem 0 0;font-size:.68rem}.wiring-enclosure-wall{fill:var(--wiring-shell);stroke:var(--wiring-shell-edge);stroke-width:1.2px}.wiring-enclosure-plate{fill:var(--wiring-plate);stroke:var(--wiring-shell-edge);stroke-width:.8px}.wiring-door-face{fill:var(--wiring-door);stroke:var(--wiring-shell-edge);stroke-width:.8px}.wiring-plane-label{fill:var(--color-soft);letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:700}.wiring-gland{fill:#b9c0be;stroke:#7d8887;stroke-width:.8px}.wiring-gland-label{fill:var(--color-soft);letter-spacing:.04em;font-size:7px;font-weight:700}.wiring-hinge{fill:none;stroke:var(--wiring-shell-edge);stroke-width:1.4px;stroke-dasharray:3 2.4}.wiring-component{cursor:pointer;transition:opacity .18s}.wiring-component.is-dimmed,.wiring-card.is-dimmed{opacity:.28}.wiring-part{fill:var(--wiring-part);stroke:var(--wiring-part-edge);stroke-width:.9px}.wiring-part-psu{fill:#d7dbd9}.wiring-part-drive{fill:#3a4349}.wiring-part-motor{fill:#cdd3d2}.wiring-part-encoder{fill:#dfe3e2}.wiring-part-lamp,.wiring-part-button{fill:#3d454a}.wiring-part-field-terminal{fill:#e6e3da;stroke-dasharray:4 3}.wiring-part-din-rail{fill:url(#wiring-hatch);stroke:var(--wiring-part-edge);stroke-width:.6px}.wiring-part-frame{fill:none;stroke:none}.wiring-component.is-selected .wiring-part,.wiring-component:focus-visible .wiring-part{stroke:var(--wiring-select);stroke-width:1px}.wiring-component:focus-visible{outline:none}.wiring-pilot-green{fill:#4fae62}.wiring-pilot-orange{fill:#e08a34}.wiring-glyph circle,.wiring-glyph line{fill:none;stroke:#6d777c;stroke-width:1.2px}.wiring-glyph-text{fill:#6d777c;stroke:none;font-size:16px;font-weight:700}.wiring-labels{pointer-events:none;transition:opacity .18s}.wiring-labels.is-dimmed{opacity:.28}.wiring-label-plate{fill:var(--wiring-sheet);opacity:.88}.wiring-part-name{fill:var(--color-text);letter-spacing:.02em;font-size:7.5px;font-weight:700}.wiring-tag-chip rect{fill:var(--color-accent)}.wiring-tag-chip text{fill:#f6faf9;letter-spacing:.06em;font-size:7px;font-weight:700}.wiring-terminal{fill:var(--wiring-terminal);stroke:#faf8f2b3;stroke-width:.4px}.wiring-terminal-screw{stroke-width:.55px}.wiring-pin-number{fill:#eef5f0;pointer-events:none;font-size:3.4px;font-weight:700}.wiring-screw-strip{fill:#454e52;stroke:#2f373b;stroke-width:.4px}.wiring-drive-strip{fill:#1f8f52;stroke:#125c35;stroke-width:.3px}.wiring-drive-heatsink{fill:#20272b}.wiring-drive-dip{fill:#d8d2be}.wiring-drive-socket{fill:#f0f0ee}.wiring-board-inset .p2d-board{filter:none;width:100%;height:100%}.wiring-wire{cursor:pointer;transition:opacity .18s}.wiring-wire.is-dimmed{opacity:.32}.wiring-wire-hit{fill:none;stroke:#0000;stroke-width:4px;stroke-linecap:round}.wiring-wire-casing{fill:none;stroke:var(--wiring-sheet);stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round}.wiring-wire-core,.wiring-wire-stripe{fill:none;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round}.wiring-wire:hover .wiring-wire-core{stroke-width:2.2px}.wiring-wire.is-selected .wiring-wire-casing{stroke:var(--wiring-select);stroke-width:3.1px}.wiring-wire.is-selected .wiring-wire-core{stroke-width:2.3px}.wiring-wire-ends circle{fill:var(--wiring-terminal);pointer-events:none}.wiring-wire-label-layer,.wiring-wire-guide-labels{pointer-events:none}.wiring-wire-guide-labels{transition:opacity .18s}.wiring-wire-guide-labels.is-dimmed{opacity:.28}.wiring-wire-sleeve{fill:none;stroke:#d8dad6;stroke-width:1.18px;stroke-linecap:round}.wiring-wire-sleeve-text{fill:#111827;font-family:var(--font-mono-stack);letter-spacing:0;font-size:.95px;font-weight:800}.wiring-cable{cursor:pointer;transition:opacity .18s}.wiring-cable.is-dimmed{opacity:.14}.wiring-cable-sheath{fill:none;stroke:var(--wiring-sheet);stroke-width:6.4px;stroke-linecap:round;stroke-linejoin:round}.wiring-cable-core{fill:none;stroke:#6a747a;stroke-width:4.4px;stroke-linecap:round;stroke-linejoin:round}.wiring-cable:hover .wiring-cable-core{stroke:#4c565c}.wiring-cable.is-selected .wiring-cable-sheath{stroke:var(--wiring-select);stroke-width:6.6px}.wiring-cable-count circle{fill:var(--wiring-sheet);stroke:#6a747a;stroke-width:.9px}.wiring-cable-count text{fill:var(--color-text);font-size:6px;font-weight:700}.wiring-core-row{text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0;align-items:baseline;gap:.4rem;padding:.05rem 0;display:flex}.wiring-core-row:hover{color:var(--color-accent)}.wiring-card{cursor:pointer}.wiring-card-body{fill:var(--color-panel);stroke:var(--color-line);stroke-width:1px}.wiring-card.is-selected .wiring-card-body{stroke:var(--wiring-select);stroke-width:1px}.wiring-card-tag{fill:var(--color-accent);letter-spacing:.08em;font-size:9px;font-weight:700}.wiring-card-name{fill:var(--color-text);font-size:9px;font-weight:600}.wiring-card-rule{stroke:var(--color-line);stroke-width:1px}.wiring-card-pin{fill:var(--color-text);font-size:8px;font-weight:700;font-family:var(--font-mono-stack)}.wiring-card-fn{fill:var(--color-muted);font-size:8px}.wiring-card-flag{fill:var(--color-warn);font-size:9px;font-weight:700}.wiring-card-dot{fill:var(--wiring-terminal);stroke:var(--color-panel);stroke-width:1px}.wiring-inspector{position:sticky;top:.6rem}.wiring-facts{gap:.3rem;margin:0;display:grid}.wiring-facts>div{border-bottom:1px dashed var(--color-line);justify-content:space-between;align-items:baseline;gap:.6rem;padding-bottom:.22rem;display:flex}.wiring-facts dt{color:var(--color-muted);font-size:.7rem}.wiring-facts dd{color:var(--color-text);font-variant-numeric:tabular-nums;align-items:center;gap:.34rem;margin:0;font-size:.76rem;font-weight:600;display:inline-flex}.wiring-swatch{border:1px solid var(--color-line);border-radius:2px;width:.7rem;height:.7rem;display:inline-block}.wiring-flag-assumed{color:var(--color-warn)}.wiring-endpoints{gap:.35rem;display:grid}.wiring-endpoint{border-left:2px solid var(--color-accent);gap:.05rem;padding-left:.45rem;display:grid}.wiring-endpoint-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-size:.62rem}.wiring-endpoint-name{color:var(--color-text);font-size:.8rem;font-weight:700}.wiring-endpoint-detail{color:var(--color-soft);font-size:.7rem}.wiring-note{color:var(--color-soft);margin:0;font-size:.71rem;line-height:1.45}.wiring-note-warn{color:var(--color-warn)}.wiring-subhead{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin:0 0 .25rem;font-size:.66rem;font-weight:700}.wiring-terminal-list{gap:.12rem;max-height:17rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.wiring-terminal-list li{color:var(--color-text);align-items:baseline;gap:.4rem;font-size:.71rem;display:flex}.wiring-terminal-list li.is-spare{color:var(--color-muted)}.wiring-terminal-pin{font-family:var(--font-mono-stack);min-width:3.1rem;font-weight:700}.wiring-terminal-fn{flex:1;min-width:0}.wiring-terminal-flag{color:var(--color-warn);cursor:help;font-weight:700}.wiring-terminal-spare{text-transform:uppercase;letter-spacing:.06em;opacity:.65;font-size:.62rem}.wiring-ids{gap:.15rem;margin:0;display:grid}.wiring-code{font-family:var(--font-mono-stack);word-break:break-all;background:#5b63671a;border-radius:.25rem;padding:.05rem .28rem;font-size:.66rem}.wiring-problems{border:1px solid var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.wiring-problems{border:1px solid color-mix(in srgb,var(--color-danger)45%,transparent)}}.wiring-problems{background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.wiring-problems{background:color-mix(in srgb,var(--color-danger)8%,transparent)}}.wiring-problems{border-radius:.5rem;margin-bottom:.6rem;padding:.5rem .6rem}.wiring-problems ul{color:var(--color-soft);margin:.3rem 0 0;padding-left:1rem;font-size:.71rem;list-style:outside}.wiring-quality-list{gap:.22rem;margin:0;padding:0;list-style:none;display:grid}.wiring-quality-list button{width:100%;color:var(--color-soft);text-align:left;font:inherit;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);gap:.4rem;padding:.08rem 0;font-size:.7rem;line-height:1.35;display:grid}.wiring-quality-list button:hover{color:var(--color-accent)}.wiring-quality-severity{letter-spacing:.04em;text-transform:uppercase;border-radius:.2rem;align-self:start;padding:.02rem .22rem;font-size:.56rem;font-weight:800}.wiring-quality-warning{background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.wiring-quality-warning{background:color-mix(in srgb,var(--color-danger)12%,transparent)}}.wiring-quality-warning{color:var(--color-danger)}.wiring-quality-info{background:var(--color-warn)}@supports (color:color-mix(in lab, red, red)){.wiring-quality-info{background:color-mix(in srgb,var(--color-warn)14%,transparent)}}.wiring-quality-info{color:var(--color-warn)}.wiring-table-scroll{max-height:26rem;overflow:auto}.wiring-table{border-collapse:collapse;width:100%;font-size:.72rem}.wiring-table th{background:var(--color-panel);text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);border-bottom:1px solid var(--color-line);white-space:nowrap;padding:.3rem .45rem;font-size:.64rem;position:sticky;top:0}.wiring-table td{border-bottom:1px solid var(--color-line);white-space:nowrap;vertical-align:middle;padding:.26rem .45rem}.wiring-table td:first-child{font-family:var(--font-mono-stack);font-weight:700}.wiring-table tbody tr{cursor:pointer}.wiring-table tbody tr:hover{background:#0f766e12}.wiring-table tbody tr.is-selected{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.wiring-table tbody tr.is-selected{background:color-mix(in srgb,var(--color-accent)14%,transparent)}}@media (prefers-reduced-motion:reduce){.wiring-component,.wiring-wire,.wiring-circuit-chip{transition:none}}:root{--font-body-stack:"Segoe UI","Roboto","Arial",sans-serif;--font-display-stack:"Roboto Condensed","Segoe UI","Arial Narrow",sans-serif;--font-mono-stack:"Cascadia Mono","Roboto Mono","Consolas",monospace;--color-bg:#f3f0e8;--color-bg-strong:#e2ddd1;--color-panel:#faf8f2;--color-panel-strong:#ece7dbf5;--color-line:#5b63672e;--color-text:#23313b;--color-soft:#4e6270;--color-muted:#5a6a73;--color-accent:#0f766e;--color-warn:#c7792b;--color-danger:#b44a3e;--color-true:#4d8b62;--z-pin-layer:43;--pin-frame-shadow:0 10px 28px #23313b2e;--pin-frame-shadow-drag:0 18px 44px #23313b4d;--pin-drag-border:#0f766ed9;--pin-drag-veil:#23313b4d;--pin-drag-hint-bg:#23313be0;--pin-drag-hint-text:#f6f4ee;--qa-peek-h:6.75rem!important}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overflow-x:hidden}body{font-family:var(--font-body-stack);background:var(--color-bg);color:var(--color-text);margin:0;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:.3rem}.font-display{font-family:var(--font-display-stack)}.app-shell{width:100%;min-height:100vh}.app-shell:not(.app-shell-mobile){height:100dvh;min-height:0;overflow:hidden}.desktop-shell-frame{--quick-actions-height:4.25rem;flex-direction:column;height:100dvh;min-height:0;transition:margin-left .25s;display:flex}.app-main{min-height:0;height:calc(100dvh - var(--quick-actions-height));max-height:calc(100dvh - var(--quick-actions-height));overscroll-behavior:contain;scrollbar-gutter:stable;flex:none;margin-left:0;padding:.55rem .55rem .8rem;transition:padding-left .25s;position:relative;overflow-y:auto}@media (min-width:1024px){.desktop-shell-frame.sidebar-open{margin-left:252px}}.sidebar-open-btn{z-index:45;border:1px solid var(--color-line);background:var(--color-panel);width:1.7rem;height:1.7rem;color:var(--color-text);cursor:pointer;border-radius:.4rem;justify-content:center;align-items:center;transition:background .18s,transform .2s;display:flex;position:fixed;top:.76rem;left:.55rem;box-shadow:0 4px 12px #23313b1a}.sidebar-open-btn:hover{background:var(--color-panel-strong);border-color:#0f766e4d}.global-menu-popover{background:#faf8f2;gap:.55rem;width:min(19rem,100vw - 1.1rem);padding:.75rem;display:grid;position:absolute;top:calc(100% + .45rem);right:0}.global-menu-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0;font-size:.74rem;font-weight:700}.global-menu-caption{color:var(--color-muted);margin:0;font-size:.76rem}.global-menu-action{width:100%}.sidebar-backdrop{z-index:28;background:#23313b59;position:fixed;inset:0}@media (min-width:1024px){.sidebar-backdrop{display:none}}.app-header{z-index:12;position:sticky;top:.65rem}.panel{border:1px solid var(--color-line);background:var(--color-panel);border-radius:.85rem;box-shadow:0 4px 12px #594f3912,inset 0 1px #ffffff80}.compact-panel{padding:.6rem!important}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0;font-size:.72rem}.drawer{z-index:30;overscroll-behavior:contain;flex:0 0 252px;width:252px;height:100dvh;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.drawer-open{transform:translate(0)}.nav-item{background:#e7e2d68c;border:1px solid #0000;border-radius:.6rem;justify-content:space-between;align-items:center;width:100%;padding:.38rem .55rem;transition:all .18s;display:flex}.nav-item:hover,.nav-item-active{background:#0f766e17;border-color:#0f766e40}.nav-item-body{align-items:center;gap:.5rem;min-width:0;display:flex}.nav-item-icon{color:var(--color-soft);flex-shrink:0}.nav-item-active .nav-item-icon{color:var(--color-accent)}.badge-alert,.status-pill,.legend-pill,.flag-pill,.button-primary,.button-secondary,.button-command,.toggle-row,.drawer-toggle,.event-row{transition:all .18s}.badge-alert,.status-pill,.legend-pill,.flag-pill{border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .6rem;display:inline-flex}.badge-alert{background:var(--color-warn);color:#fffdf9;font-size:.68rem;font-weight:700}.status-pill{border:1px solid var(--color-line);text-transform:uppercase;letter-spacing:.07em;font-size:.62rem}.status-green{color:#3f6e50;background:#4d8b621f}.status-amber{color:#8f581f;background:#c7792b1f}.status-red{color:#933d33;background:#b44a3e1f}.status-slate{color:#556770;background:#75838c1f}.button-primary,.button-secondary,.button-command,.drawer-toggle,.toggle-row{border:1px solid var(--color-line);border-radius:.48rem;padding:.38rem .62rem;font-size:.8rem}.button-primary{color:#0a6560;background:#0f766e21;border-color:#0f766e73}.button-success{border:1px solid var(--color-line);color:var(--color-text);background:#ffffff85}.button-danger{color:#8b302a;background:#b44a3e24;border:1px solid #b44a3e75}.button-danger-soft{color:#933d33;background:#b44a3e12;border:1px solid #b44a3e47}.button-warn,.button-warn-soft,.button-info{border:1px solid var(--color-line);color:var(--color-text);background:#ffffff85}.button-secondary,.button-command,.drawer-toggle,.toggle-row{color:var(--color-text);background:#ffffff85}.button-primary:hover,.button-secondary:hover,.button-command:hover,.drawer-toggle:hover,.toggle-row:hover,.event-row:hover{background:#0f766e0f;border-color:#0f766e40}.button-primary:hover{background:#0f766e38;border-color:#0f766e9e}.button-success:hover{background:#ffffffb8;border-color:#0f766e40}.button-danger:hover{background:#b44a3e38;border-color:#b44a3e9e}.button-danger-soft:hover{background:#b44a3e21}.button-warn:hover,.button-warn-soft:hover,.button-info:hover{background:#ffffffb8;border-color:#0f766e40}.button-secondary:hover,.button-command:hover,.drawer-toggle:hover,.toggle-row:hover{background:#ffffffb8}.button-primary:disabled,.button-secondary:disabled,.button-command:disabled,.button-success:disabled,.button-danger:disabled,.button-danger-soft:disabled,.button-warn:disabled,.button-warn-soft:disabled,.button-info:disabled{opacity:.42;cursor:not-allowed}.toggle-row{justify-content:space-between;align-items:center;display:flex}.toggle-row-active,.flag-pill-active{background:#4d8b621f;border-color:#4d8b6247}.flag-pill{border:1px solid var(--color-line);color:var(--color-soft);background:#ffffff73;justify-content:center}.flag-pill-critical{color:var(--color-danger);background:#b44a3e1f;border-color:#b44a3e40}.field-input{border:1px solid var(--color-line);width:100%;color:var(--color-text);background:#ffffff9e;border-radius:.65rem;padding:.55rem .75rem;font-size:.84rem}.field-unit{color:var(--color-muted);font-size:.8rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.section-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.section-title{color:var(--color-text);text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:.86rem;font-weight:700}.state-summary{gap:.75rem;display:grid}.state-row{gap:.55rem;align-items:left;border-bottom:1px solid #75838c1f;grid-template-columns:max-content minmax(0,1fr);padding:.8rem 0;display:grid}.state-row:last-child{border-bottom:0;padding-bottom:0}.state-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted);font-size:.74rem;font-weight:700}.state-value{text-align:right;max-width:100%;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;justify-self:end;font-size:.8rem;font-weight:600;line-height:1.2;overflow:hidden}.overview-groups{background:#ffffff4d;border:1px solid #75838c2e;border-radius:.72rem;grid-template-columns:minmax(0,1.35fr) minmax(0,1.1fr) minmax(0,.9fr);gap:.25rem;padding:.4rem;display:grid}.overview-group{background:#ffffff75;border-radius:.58rem;align-content:start;gap:.08rem;min-width:0;padding:.38rem .48rem;display:grid}.overview-group-state,.overview-group-firmware,.overview-group-statistics{grid-column:span 1}.overview-title{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.22rem;font-size:.72rem;font-weight:700}.home-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:.35rem;display:grid}.home-card-overview{grid-column:span 7;align-self:start}.home-card-telemetry{grid-column:span 5;align-self:start}.home-card-io,.home-card-flags,.home-card-open,.home-card-close{grid-column:span 6}.home-log{grid-column:span 12}.home-flags-bottom{grid-column:span 4;align-self:start}.telemetry-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-height:0;display:grid}.io-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.io-group{gap:.35rem;display:grid}.actuator-dock{background:#ffffff5c;border:1px solid #75838c38;border-radius:.55rem;margin-top:.35rem;padding:.35rem .45rem}.actuator-dock-drawer{background:#ffffff7a;border-color:#75838c47;border-radius:.45rem;margin:0 0 .4rem}.actuator-dock-head{letter-spacing:.04em;color:var(--color-soft);justify-content:space-between;gap:.6rem;margin-bottom:.22rem;font-size:.65rem;display:flex}.actuator-track{background:linear-gradient(90deg,#4d8b6257,#75838c33,#b44a3e57);border:1px solid #75838c38;border-radius:999px;flex:1;height:.82rem;position:relative}.actuator-marker{background:linear-gradient(#3a4b57,#22313b);border:2px solid #fffc;border-radius:999px;width:1.12rem;height:1.12rem;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #23313b59,0 2px 6px #23313b42}.actuator-marker-glow{border-radius:inherit;position:absolute;inset:0;box-shadow:0 0 0 5px #1d4ed814}.actuator-cylinder{align-items:center;gap:.42rem;display:flex;position:relative}.actuator-cylinder-offline{opacity:1}.actuator-track-offline{border-radius:inherit;width:100%;height:100%;color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase;background:#f9f7f1eb;justify-content:center;align-items:center;font-size:.6rem;font-weight:700;display:flex}.actuator-end-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);min-width:2.9rem;font-size:.66rem}.actuator-end-label:first-child{text-align:left}.actuator-end-label:last-child{text-align:right}.actuator-labels{color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;margin-top:.3rem;font-size:.68rem;display:flex}.io-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.28rem;display:grid}.io-cell{background:#75838c17;border:1px solid #75838c33;border-radius:.48rem;justify-content:center;align-items:center;gap:0;min-height:1.55rem;padding:.24rem .3rem;display:flex}.io-cell-active{background:#4d8b623d;border-color:#4d8b6270}.io-cell-inactive{background:#b44a3e24;border-color:#b44a3e57}.io-name{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;text-align:center;font-size:.6rem;font-weight:600;line-height:1.15;overflow:hidden}.io-name-muted{color:var(--color-muted)}.overview-io{margin-top:.35rem;padding-top:.32rem}.flag-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.28rem;display:grid}.flag-cell{background:#75838c17;border:1px solid #75838c33;border-radius:.48rem;justify-content:center;align-items:center;gap:0;min-height:1.55rem;padding:.24rem .3rem;display:flex}.flag-cell-active{background:#4d8b623d;border-color:#4d8b6270}.flag-cell-inactive{background:#b44a3e24;border-color:#b44a3e57}.flag-cell-muted{background:#75838c17;border-color:#75838c33}.flag-cell-critical{box-shadow:inset 0 0 0 1px #b44a3e47}.flag-cell-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;text-align:center;font-size:.6rem;font-weight:600;overflow:hidden}.flag-cell-label-muted{color:var(--color-muted)}.command-sections{border:none;gap:.22rem;min-width:0;margin:0;padding:0;display:grid}.command-sections:disabled{opacity:.45;pointer-events:none}.command-group{border-top:1px dashed var(--color-line);background:#f5f2ebb8;padding-top:.26rem;padding-bottom:.26rem}.command-sections .command-group{background:0 0;border:0;border-radius:0;padding:0}.command-sections .command-group+.command-group{border-top:1px dashed #75838c3d;padding-top:.2rem}.command-group .overview-title{margin-bottom:.18rem}.command-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;display:grid}.drawer-command-button{text-align:left;border-radius:.34rem;justify-content:flex-start;padding:.26rem .4rem;font-size:.76rem;font-weight:600;line-height:1.2}.drawer-commands{gap:.3rem;margin-top:auto;padding-top:.45rem;display:grid}.density-toggle{text-align:center;letter-spacing:.08em;text-transform:uppercase;justify-content:center;width:100%;font-size:.64rem}.connection-head{justify-content:space-between;align-items:center;gap:.3rem;margin-bottom:.2rem;display:flex}.connection-head .status-pill{letter-spacing:.06em;padding:.18rem .45rem}.connection-port{color:var(--color-soft);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .2rem;font-size:.9rem;overflow:hidden}.drawer-commands .command-group .overview-title{color:var(--color-muted);letter-spacing:.07em}.drawer-commands .button-secondary,.drawer-commands .button-success,.drawer-commands .button-warn,.drawer-commands .button-warn-soft,.drawer-commands .button-info{color:var(--color-text);background:#75838c0f;border-color:#75838c38}.drawer-commands .button-danger,.drawer-commands .button-danger-soft{color:#7f4038;background:#b44a3e17;border-color:#b44a3e52}.drawer-commands button:hover{background:#ffffffbd;border-color:#0f766e38}.density-compact .compact-panel{padding:.5rem!important}.density-compact .state-row{gap:.42rem;padding:.12rem 0}.density-compact .drawer-command-button{padding:.24rem .36rem;font-size:.74rem}.density-compact .section-title{font-size:.8rem}.density-comfortable .compact-panel{padding:.95rem!important}.density-comfortable .state-row{padding:.28rem 0}.density-comfortable .drawer-command-button{padding:.36rem .5rem;font-size:.76rem}.density-comfortable .flag-cell,.density-comfortable .io-cell{min-height:2rem}.drawer-logout{border-top:1px solid var(--color-line);margin-top:.6rem;padding-top:.6rem}.drawer-logout-button{text-align:center;letter-spacing:.06em;width:100%;color:var(--color-muted);background:0 0;border-color:#0000;justify-content:center;font-size:.78rem}.drawer-logout-button:hover{color:var(--color-soft);background:#75838c14!important;border-color:#75838c47!important}.drawer-lock-button{width:1.7rem;height:1.7rem;color:var(--color-muted);background:0 0;border:1px solid #0000;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:flex}.drawer-lock-button:hover{color:var(--color-soft);background:#75838c1a;border-color:#75838c47}.drawer-header{border-bottom:1px solid #75838c26;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.2rem 0 .2rem 2.4rem;display:flex}.drawer .panel{border-top:0;border-bottom:0;border-left:0;border-radius:0;overflow-x:hidden;box-shadow:0 10px 26px #23313b33}.inline-alert{color:#8f581f;background:#c7792b1a;border:1px solid #c7792b52;border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.75rem;display:inline-flex}.event-list{gap:.55rem;max-height:65vh;padding-right:.2rem;display:grid;overflow:auto}.event-viewer{align-items:start;gap:1rem;min-width:0;display:grid}@media (min-width:1280px){.event-viewer{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)}}.event-list-panel,.event-detail-panel{flex-direction:column;min-width:0;display:flex}.event-panel-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.7rem;display:flex}.event-panel-headtext{min-width:0}.event-panel-title{color:var(--color-text);letter-spacing:-.01em;margin:.1rem 0 0;font-size:1.02rem;font-weight:700}.event-panel-headmeta{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.event-count-badge{height:1.55rem;color:var(--color-accent);letter-spacing:.02em;white-space:nowrap;background:#0f766e1f;border:1px solid #0f766e38;border-radius:999px;align-items:center;padding:0 .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.event-refresh-btn{align-items:center;gap:.35rem;display:inline-flex}.event-detail-id{height:1.6rem;color:var(--color-accent);font-family:var(--font-mono,ui-monospace,monospace);background:#0f766e1a;border-radius:.55rem;flex-shrink:0;align-items:center;padding:0 .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.event-table-wrap{-webkit-overflow-scrolling:touch;background:#ffffff6b;border:1px solid #75838c33;border-radius:.85rem;flex:1;max-height:62vh;overflow:auto}.event-table{border-collapse:collapse;width:100%;font-size:.8rem}.event-table th,.event-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #75838c24;padding:.5rem .6rem}.event-table tbody tr:last-child td{border-bottom:0}.event-table th{z-index:1;letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;background:#f4f1eaf7;border-bottom:1px solid #75838c3d;font-size:.62rem;font-weight:700;position:sticky;top:0}.ev-col-id{white-space:nowrap;width:1%}.ev-col-type{width:100%}.ev-col-oc{white-space:nowrap;text-align:right;width:1%}th.ev-col-oc{text-align:right}.event-row-item{cursor:pointer;transition:background .12s}.event-row-item:hover{background:#0f766e12}.event-row-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.event-table tbody tr.event-row-active{box-shadow:inset 3px 0 0 var(--color-accent);background:#0f766e1f}.event-id-cell{flex-direction:column;align-items:flex-start;gap:.15rem;display:inline-flex}.event-id-pill{font-family:var(--font-mono,ui-monospace,monospace);color:var(--color-soft);font-size:.76rem;font-weight:700}.event-row-active .event-id-pill{color:var(--color-accent)}.event-latest-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);white-space:nowrap;background:#0f766e1f;border:1px solid #0f766e38;border-radius:999px;padding:.05rem .32rem;font-size:.54rem;font-weight:800}.event-type-chip{max-width:100%;color:var(--ev-tone-fg,var(--color-text));align-items:baseline;gap:.45rem;font-size:.74rem;font-weight:600;line-height:1.3;display:inline-flex}.event-type-dot{background:var(--ev-tone-dot,var(--color-muted));width:.5rem;height:.5rem;box-shadow:0 0 0 3px var(--ev-tone-halo,transparent);border-radius:999px;flex-shrink:0;position:relative;top:.05rem}.event-type-label{overflow-wrap:anywhere;min-width:0}.event-oc{font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;font-size:.78rem;font-weight:700;display:inline-flex}.event-oc-open{color:#1f7a8c}.event-oc-close{color:#b06a1f}.event-oc-sep{color:var(--color-muted);font-weight:500}.event-tone-critical{--ev-tone-border:#b44a3e66;--ev-tone-bg:#b44a3e1f;--ev-tone-fg:#8b302a;--ev-tone-dot:#b44a3e;--ev-tone-halo:#b44a3e29;--ev-tone-accent:#b44a3e}.event-tone-warn{--ev-tone-border:#c7792b66;--ev-tone-bg:#c7792b21;--ev-tone-fg:#8a531b;--ev-tone-dot:#c7792b;--ev-tone-halo:#c7792b29;--ev-tone-accent:#c7792b}.event-tone-ok{--ev-tone-border:#228b5e5c;--ev-tone-bg:#228b5e1f;--ev-tone-fg:#1d7a52;--ev-tone-dot:#229d63;--ev-tone-halo:#228b5e29;--ev-tone-accent:#229d63}.event-tone-info{--ev-tone-border:#4f6d8f57;--ev-tone-bg:#4f6d8f1a;--ev-tone-fg:#3f5b78;--ev-tone-dot:#4f6d8f;--ev-tone-halo:#4f6d8f24;--ev-tone-accent:#4f6d8f}.event-empty{text-align:center;background:#ffffff47;border:1px dashed #75838c4d;border-radius:.85rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;min-height:9rem;padding:1.6rem 1rem;display:flex}.event-empty-icon{width:3rem;height:3rem;color:var(--color-accent);background:#0f766e1a;border-radius:999px;justify-content:center;align-items:center;display:flex}.event-empty-title{color:var(--color-text);margin:0;font-size:.9rem;font-weight:700}.event-empty-hint{max-width:22rem;color:var(--color-muted);margin:0;font-size:.76rem}.config-table-wrap{overflow:auto}.config-table{border-collapse:collapse;width:100%;min-width:980px}.config-table th,.config-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #75838c2e;padding:.38rem;font-size:.78rem}.config-table th{letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted);font-size:.65rem}.config-table .config-parameter{color:var(--color-text);white-space:nowrap;font-weight:700}.config-table .config-description{color:var(--color-soft);min-width:18rem}.config-input{min-height:1.5rem;padding:.2rem .4rem}.config-toggle{border-radius:.5rem;justify-content:center;min-height:1.5rem;padding:.18rem .4rem}.movement-curve{background:#ffffff73;border:1px solid #75838c33;border-radius:.7rem;margin-top:.4rem;padding:.45rem}.movement-curve-svg{width:100%;height:10rem}.movement-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.chart-frame{border:1px solid var(--color-line);background:var(--color-panel);border-radius:.95rem;flex-direction:column;gap:.45rem;height:14rem;min-height:0;padding:.55rem;display:flex}.compact-chart{height:10rem;padding:.35rem}.trace-card{position:relative}.trace-card .section-head{margin-right:2rem}.trace-maximize-btn{z-index:2;border:1px solid var(--color-line);background:var(--color-panel-strong);width:1.7rem;height:1.7rem;color:var(--color-soft);cursor:pointer;border-radius:.4rem;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:flex;position:absolute;top:.55rem;right:.5rem}.trace-maximize-btn:hover,.trace-maximize-btn:focus-visible{background:var(--color-panel);color:var(--color-text);border-color:#0f766e52;outline:none}.trace-card .compact-chart{height:20rem}.telemetry-card{background:var(--color-panel);border-radius:.75rem;flex-direction:column;min-height:0;padding:0;display:flex;position:relative;overflow:hidden;container-type:inline-size}.telemetry-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.1rem;padding:.4rem;display:flex}.telemetry-primary{min-width:0;position:relative}.telemetry-title{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);font-size:.62rem}.telemetry-reading{color:var(--color-text);align-items:baseline;gap:.25rem;display:flex}.telemetry-value{font-size:1.3rem;font-weight:700;line-height:1}.telemetry-value-offline{letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-size:1rem}.telemetry-unit{letter-spacing:.07em;text-transform:uppercase;color:var(--color-soft);font-size:.64rem}.telemetry-meta{letter-spacing:.05em;color:var(--color-text);text-align:right;min-width:0;font-size:.62rem}.telemetry-meta-window{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.3rem;min-width:0;display:flex}.telemetry-window-current{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text)}.telemetry-window-coverage{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;color:var(--color-text)}.telemetry-card-actions{z-index:2;align-items:center;gap:.25rem;display:flex;position:absolute;bottom:.3rem;left:.3rem}.telemetry-pause-btn{width:1.35rem;height:1.35rem;color:var(--color-soft);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f8f5eeb8;border:1px solid #75838c38;border-radius:.4rem;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:flex}.telemetry-pause-btn:hover,.telemetry-pause-btn:focus-visible{color:var(--color-text);background:#f8f5eeeb;border-color:#0f766e52;outline:none}.telemetry-pause-btn-active{color:#b44a3e;border-color:#b44a3e52}.telemetry-card-actions .pin-toggle-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f8f5eeb8;border-color:#75838c38;border-radius:.4rem;width:1.35rem;height:1.35rem}.telemetry-card-actions .pin-toggle-btn:hover,.telemetry-card-actions .pin-toggle-btn:focus-visible{color:var(--color-text);background:#f8f5eeeb;border-color:#0f766e52}.telemetry-card-actions .pin-toggle-btn.is-pinned{color:var(--color-accent);background:#0f766e29;border-color:#0f766e73}.telemetry-window-trigger{cursor:pointer;border:1px solid #75838c2e;border-radius:.32rem;justify-content:flex-end;align-items:center;min-width:3rem;padding:.12rem .34rem;transition:border-color .15s,background .15s,color .15s;display:inline-flex;position:relative}.telemetry-window-trigger:hover,.telemetry-window-trigger:focus-within{color:var(--color-soft);background:#ffffff7a;border-color:#0f766e47}.telemetry-window-select-overlay{opacity:0;cursor:pointer;position:absolute;inset:0}.telemetry-window-select-overlay:focus{outline:none}.telemetry-chart{flex:1;min-height:2rem;padding:0;position:relative}.telemetry-chart canvas{display:block;width:100%!important;height:100%!important}@container (max-width:13rem){.telemetry-title{font-size:.55rem}.telemetry-value{font-size:1.05rem}.telemetry-unit{font-size:.58rem}.telemetry-window-trigger{min-width:0}}.telemetry-range{color:var(--color-muted);margin-top:.25rem;font-size:.68rem}.chart-button{text-align:left;appearance:none;width:100%;position:relative}.chart-canvas{flex-direction:column;flex:1;min-height:0;display:flex}.chart-action-btn{border-radius:.36rem;min-height:1.8rem;padding:.28rem .5rem;font-size:.75rem;line-height:1.2}.chart-embedded{background:0 0;border:0;border-radius:0;padding:0}.chart-tooltip{pointer-events:none;background:#fffffff5;border:1px solid #75838c4d;border-radius:.7rem;min-width:11rem;padding:.35rem .45rem;font-size:.73rem;position:absolute;transform:translate(-8%,-110%);box-shadow:0 8px 24px #23313b29}.chart-tooltip-title{color:var(--color-text);margin-bottom:.2rem;font-weight:700}.chart-tooltip-row{color:var(--color-soft);grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;display:grid}.chart-tooltip-dot{border-radius:999px;width:.55rem;height:.55rem}.chart-pause-pill{border:1px solid var(--color-line);letter-spacing:.08em;text-transform:uppercase;color:var(--color-soft);background:#ffffff9e;border-radius:999px;padding:.18rem .48rem;font-size:.62rem;position:absolute;top:.45rem;right:.45rem}.chart-pause-pill-active{color:#b44a3e;background:#b44a3e1f;border-color:#b44a3e80}.legend-pill{color:var(--color-soft);background:#ffffffb3}.legend-dot{border-radius:999px;width:.6rem;height:.6rem}.log-viewer{height:22rem;font-family:var(--font-mono-stack);color:var(--color-text);border-radius:.7rem;padding:0;font-size:.75rem;line-height:1.5;overflow:auto}.log-viewer-wrap{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:hidden}.log-viewer-nowrap{white-space:pre;overflow-wrap:normal;overflow-x:auto}.log-viewer-nowrap>div{width:max-content;min-width:100%}.compact-log{height:12rem}.home-log-card{border-radius:.75rem;position:relative;overflow:hidden;padding:0!important}.log-card-head{margin-bottom:0;padding:0 2.2rem 0 0}.home-log-card .log-viewer{border-bottom:0;border-left:0;border-right:0;border-radius:0;margin-top:0}.log-resizer{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;height:.5rem;display:flex}.log-resizer:before{content:"";background:#75838c59;border-radius:999px;width:2.5rem;height:3px;display:block}.log-icon-action{z-index:2;width:2.1rem;min-width:2.1rem;padding-inline:0;position:absolute;top:.38rem;right:.5rem}.log-actions-menu{position:relative}.log-menu-trigger{justify-content:center;align-items:center;width:1.5rem;padding:0;display:flex}.mobile-content .log-menu-trigger{width:2.1rem;min-width:2.1rem}.log-actions-popover{z-index:8;background:#faf8f2;gap:.25rem;width:min(15rem,100vw - 1rem);padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 26px #23313b2e}.log-menu-item{width:100%;min-height:2.25rem;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .55rem;font-size:.78rem;font-weight:600;display:flex}.log-menu-item:hover,.log-menu-item:focus-visible{background:#75838c1f}.log-menu-value{color:var(--color-soft);text-transform:uppercase;font-size:.72rem;font-weight:700}.log-menu-toggle{letter-spacing:.03em;background:#75838c1f;border:1px solid #75838c47;border-radius:999px;align-items:center;padding:.12rem .5rem;display:inline-flex}.log-menu-toggle.is-on{color:var(--color-accent);background:#0f766e24;border-color:#0f766e66}.log-clear-mobile{display:none}.log-modal-panel{min-height:0;overflow:hidden}.log-modal-head{padding:calc(.65rem + env(safe-area-inset-top)).8rem .65rem;border-bottom:1px solid var(--color-line);background:var(--color-panel-strong);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding-right:3rem;display:flex}.log-modal-viewer{height:auto;min-height:0;padding:.75rem .85rem calc(.85rem + env(safe-area-inset-bottom));overscroll-behavior:contain;border:0;border-radius:0;flex:1}.log-scroll-wrap{position:relative}.log-scroll-overlay{z-index:2;cursor:pointer;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.log-scroll-overlay:after{content:"Click to scroll";opacity:0;color:#fff;font-family:var(--font-body-stack);letter-spacing:.02em;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#23313bc7;border-radius:1rem;padding:.3rem .72rem;font-size:.72rem;font-weight:500;transition:opacity .18s;box-shadow:0 2px 8px #0000002e}.log-scroll-overlay:hover:after{opacity:1}.trace-modal-backdrop{z-index:50;background:#23313b70;justify-content:stretch;align-items:stretch;padding:0;display:flex;position:fixed;inset:0}.trace-modal-panel{background:var(--color-bg);border:0;border-radius:0;flex-direction:column;width:100vw;max-width:none;height:100dvh;max-height:100dvh;padding:0;display:flex;position:relative}.trace-modal-close{z-index:5;border:1px solid var(--color-line);width:2.1rem;height:2.1rem;color:var(--color-text);border-radius:.6rem;justify-content:center;align-items:center;transition:background .16s,border-color .16s,color .16s;display:flex;position:absolute;top:.5rem;right:.5rem}.trace-modal-close:hover{color:#8b302a;background:#b44a3e1f}@media (max-width:767px){.trace-modal-backdrop{bottom:var(--qa-peek-h)}.trace-modal-panel{height:100%;max-height:100%}.trace-modal-close{top:calc(.5rem + env(safe-area-inset-top))}}.trace-modal-panel .compact-chart{height:100%;min-height:0}.trace-overlay-grid{flex:1;grid-template-rows:1fr 1fr;gap:0;min-height:0;display:grid}.trace-overlay-grid .compact-chart{height:100%}.trace-overlay-card{border:0;border-radius:0;flex-direction:column;min-height:0;display:flex;padding:0!important}.trace-overlay-chart-head{letter-spacing:.1em;text-transform:uppercase;color:var(--color-soft);margin-bottom:0;font-size:.64rem}.alert-panel,.notice-panel{border-radius:1.2rem;padding:1rem 1.2rem;font-size:.95rem}.alert-panel{color:#8d3d34;background:#b44a3e1f;border:1px solid #b44a3e4d}.notice-panel{color:#2a5e59;background:#0f766e14;border:1px solid #0f766e33}@keyframes snackbar-in{0%{opacity:0;transform:translateY(.5rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.snackbar-root{z-index:120;pointer-events:none;gap:.5rem;display:grid;position:fixed;bottom:3.4rem;right:1rem}.snackbar-item{pointer-events:auto;color:#1f4f49;background:#f3fffaf5;border:1px solid #0f766e38;border-radius:.8rem;align-items:center;gap:.5rem;padding:.6rem .6rem .6rem .8rem;font-size:.82rem;animation:.2s both snackbar-in;display:flex;box-shadow:0 10px 24px #23313b26}.snackbar-dismiss{color:#1f4f49;opacity:.65;cursor:pointer;background:0 0;border:none;border-radius:.35rem;flex-shrink:0;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;padding:0;font-size:.9rem;line-height:1;transition:opacity .12s,background .12s;display:flex}.snackbar-dismiss:hover{opacity:1;background:#0f766e1a}.settings-warning{color:#7f352d;background:#b44a3e1f;border:1px solid #b44a3e57;border-radius:.7rem;padding:.55rem .65rem;font-size:.8rem}.event-detail-body{flex-direction:column;gap:.85rem;min-width:0;display:flex}.event-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.event-stat{background:#ffffff73;border:1px solid #75838c33;border-left-width:3px;border-radius:.7rem;flex-direction:column;gap:.1rem;padding:.55rem .65rem;display:flex}.event-stat-open{border-left-color:#1f7a8c}.event-stat-close{border-left-color:#b06a1f}.event-stat-neutral{border-left-color:#75838c73}.event-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:.62rem;font-weight:700}.event-stat-value{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:700;line-height:1.05}.event-stat-detail{color:var(--color-soft);font-size:.66rem}.event-timeline{flex-direction:column;min-width:0;margin:0;padding:0;list-style:none;display:flex}.event-tl-step{grid-template-columns:1.8rem minmax(0,1fr);gap:.6rem;min-width:0;display:grid}.event-tl-rail{justify-content:center;display:flex;position:relative}.event-tl-rail:before{content:"";background:#75838c38;width:2px;position:absolute;top:0;bottom:0}.event-tl-step:first-child .event-tl-rail:before{top:.9rem}.event-tl-step:last-child .event-tl-rail:before{bottom:calc(100% - .9rem)}.event-tl-marker{z-index:1;background-color:var(--color-panel);background-image:linear-gradient(var(--ev-tone-bg,#0f766e24),var(--ev-tone-bg,#0f766e24));border:1.5px solid var(--ev-tone-accent,var(--color-accent));width:1.6rem;height:1.6rem;color:var(--ev-tone-fg,var(--color-accent));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;font-size:.68rem;font-weight:800;display:flex;position:relative}.event-tl-content{border:1px solid #75838c33;border-left:3px solid var(--ev-tone-accent,var(--color-accent));background:#ffffff80;border-radius:.6rem;min-width:0;margin-bottom:.55rem;padding:.5rem .6rem}.event-tl-step:last-child .event-tl-content{margin-bottom:0}.event-tl-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.event-tl-type{min-width:0;color:var(--color-text);overflow-wrap:anywhere;font-size:.78rem;font-weight:700}.event-tl-time{font-variant-numeric:tabular-nums;color:var(--ev-tone-accent,var(--color-accent));flex-shrink:0;font-size:.68rem;font-weight:700}.event-tl-desc{color:var(--color-soft);overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.72rem;line-height:1.45}.event-tl-tags{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.event-tag{color:var(--color-muted);overflow-wrap:anywhere;background:#75838c1f;border:1px solid #75838c2e;border-radius:.35rem;align-items:center;padding:.12rem .4rem;font-size:.64rem;font-weight:600;display:inline-flex}.event-tag-enc{color:var(--color-accent);font-variant-numeric:tabular-nums;background:#0f766e1a;border-color:#0f766e33}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{border:2px solid var(--color-line);border-top-color:var(--color-accent);vertical-align:middle;border-radius:50%;flex-shrink:0;width:1rem;height:1rem;animation:.6s linear infinite spin;display:inline-block}.replay-fab{z-index:240;background:var(--color-panel);touch-action:none;border:1px solid #0f766e6b;border-radius:.9rem;width:min(17rem,100vw - 1.4rem);animation:.22s both snackbar-in;position:fixed;overflow:hidden;box-shadow:0 8px 24px #23313b2e,inset 0 0 0 1px #fff6}.replay-fab-collapsed{width:9.4rem}.replay-fab-head{cursor:grab;-webkit-user-select:none;user-select:none;background:#0f766e14;border-bottom:1px solid #75838c33;justify-content:space-between;align-items:center;gap:.55rem;padding:.45rem .5rem;display:flex}.replay-fab-labels{gap:.08rem;display:grid}.replay-fab-title{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);font-size:.66rem;font-weight:700}.replay-fab-time-chip{font-family:var(--font-mono-stack);white-space:nowrap;font-variant-numeric:tabular-nums;color:#2f4f5d;align-items:baseline;gap:.24rem;font-size:.7rem;line-height:1;display:inline-flex}.replay-fab-time-current,.replay-fab-time-total{text-align:right;min-width:2.9rem}.replay-fab-time-current{color:#1f3f4d;font-weight:700}.replay-fab-time-total{color:#4e6672}.replay-fab-time-separator{color:#6d7f89}.replay-icon-button{width:2.05rem;height:2.05rem;color:var(--color-soft);background:#ffffffb3;border:1px solid #75838c42;border-radius:999px;justify-content:center;align-items:center;transition:all .16s;display:inline-flex}.replay-icon-button:hover{color:var(--color-text);background:#fffffff0;border-color:#0f766e73}.replay-icon-button-primary{color:#0c6761;background:#0f766e29;border-color:#0f766e85}.replay-icon-button-primary:hover{background:#0f766e40;border-color:#0f766ea8}.replay-collapse-button{width:1.65rem;height:1.65rem}.replay-fab-body{gap:.4rem;padding:.45rem .5rem .5rem;display:grid}.replay-fab-slider{accent-color:#0f766e;width:100%}.replay-fab-controls{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:.34rem;display:grid}.internal-pin-form{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.internal-pin-input{border:1px solid var(--color-line);min-height:2.05rem;color:var(--color-text);letter-spacing:.16em;text-align:center;font-family:var(--font-mono-stack);background:#ffffff94;border-radius:.55rem;font-size:.95rem}.internal-pin-input:focus{border-color:#0f766e73;outline:none}.internal-editor-toolbar{flex-wrap:wrap;gap:.35rem;display:flex}.internal-editor-toolbar .button-secondary{padding:.3rem .55rem;font-size:.72rem}.internal-editor-surface{min-height:17rem;color:var(--color-text);background:#ffffff9e;border:1px solid #75838c3d;border-radius:.75rem;padding:.75rem;font-size:.86rem;line-height:1.5;overflow:auto}.internal-editor-surface>:first-child{margin-top:0}.internal-editor-surface p,.internal-editor-surface div{margin:0 0 .5rem}.internal-editor-surface:focus{border-color:#0f766e66;outline:none;box-shadow:0 0 0 1px #0f766e33}.internal-editor-surface h1,.internal-editor-surface h2,.internal-editor-surface h3{color:var(--color-text);margin:.7rem 0 .4rem;font-weight:700;line-height:1.25;display:block}.internal-editor-surface h1{font-size:1.55rem}.internal-editor-surface h2{font-size:1.3rem}.internal-editor-surface h3{font-size:1.1rem}.internal-editor-surface ul,.internal-editor-surface ol{margin:.35rem 0 .65rem;padding-left:1.35rem;list-style-position:outside;display:block}.internal-editor-surface ul{list-style-type:disc!important}.internal-editor-surface ol{list-style-type:decimal!important}.internal-editor-surface ul ul{list-style-type:circle!important}.internal-editor-surface ol ol{list-style-type:lower-alpha!important}.internal-editor-surface li{display:list-item}.internal-editor-surface li+li{margin-top:.18rem}.internal-testing-layout{align-items:stretch}.internal-editor-panel{flex-direction:column;min-height:calc(100dvh - 5.2rem);display:flex}.internal-editor-panel .internal-editor-surface{flex:1;min-height:0}.internal-editor-footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.internal-check-group{background:#ffffff73;border:1px solid #75838c2e;border-radius:.65rem;padding:.5rem}.internal-check-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-soft);margin:0 0 .25rem;font-size:.72rem;font-weight:700}.internal-check-list{color:var(--color-text);gap:.24rem;margin:0;padding-left:1.1rem;font-size:.78rem;display:grid}.internal-status-error{color:#8b302a;margin:0;font-size:.78rem}.internal-status-ok{color:#3a6649;margin:0;font-size:.78rem}@media (max-width:1279px){.internal-editor-panel{min-height:calc(100dvh - 6rem)}}@media (max-width:767px){.internal-editor-panel{min-height:calc(100dvh - 7rem)}.internal-editor-footer{flex-direction:column;align-items:stretch}.replay-fab{width:min(16rem,100vw - 1rem)}}.quick-actions-bar{z-index:22;background:var(--color-panel);border-top:1px solid var(--color-line);transition:left .25s;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #23313b12;container:quick-actions/inline-size}@media (min-width:1024px){.quick-actions-bar.sidebar-open{left:252px}}.quick-actions-inner{border:none;align-items:stretch;gap:0;min-inline-size:0;margin:0;padding:.45rem .7rem;display:flex;overflow:hidden}.quick-actions-inner:disabled{opacity:.42;pointer-events:none}.quick-actions-group{flex-direction:column;flex:var(--qa-weight,1)1 0;align-items:stretch;gap:.18rem;min-width:0;padding:.1rem .4rem;display:flex}.quick-actions-group-first{padding-left:0}.quick-actions-group+.quick-actions-group{border-left:1px solid var(--color-line)}.quick-actions-group-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;padding:0 .1rem;font-size:.58rem;font-weight:700;line-height:1;overflow:hidden}.quick-actions-group-disabled .quick-actions-group-label,.quick-actions-group-partial-disabled .quick-actions-group-label{color:#5a6a739e}.quick-actions-group-buttons{flex-wrap:nowrap;align-items:stretch;gap:.2rem;min-width:0;display:flex}.quick-action-btn{min-width:0;color:var(--color-text);white-space:nowrap;cursor:pointer;background:#ffffff6b;border:1px solid #75838c38;border-radius:.45rem;flex:1 1 0;justify-content:center;align-items:center;gap:.4rem;min-height:2.5rem;padding:.5rem .6rem;font-size:.8rem;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s;display:inline-flex}.quick-action-btn-icon{opacity:.7;flex-shrink:0}.quick-action-btn-wrapper{flex-direction:column;align-items:center;gap:.3rem;width:100%;min-width:0;display:flex}.quick-action-btn-label .qa-label-short{display:none}@container quick-actions (max-width:1180px){.quick-actions-inner{padding:.4rem .5rem}.quick-actions-group{padding:.1rem .3rem}.quick-action-btn{min-height:2.35rem;padding:.42rem .4rem;font-size:.74rem}.quick-action-btn-wrapper{gap:.22rem}.has-short-label .qa-label-full{display:none}.has-short-label .qa-label-short{display:inline}}@container quick-actions (max-width:860px){.quick-action-btn-label{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quick-action-btn{min-height:2.15rem;padding:.4rem .3rem}.quick-action-btn-icon{opacity:.85}.quick-actions-group-label{font-size:.52rem}.quick-action-emergency .quick-action-btn-label{clip-path:none;width:auto;height:auto;margin:0;position:static;overflow:visible}}.quick-action-btn:hover{background:var(--color-panel-strong);border-color:#0f766e42}.quick-action-btn:disabled{cursor:not-allowed;opacity:.45;color:var(--color-muted);background:#75838c14;border-color:#75838c2e}.quick-action-btn:disabled:hover{background:#75838c14;border-color:#75838c2e}.quick-action-emergency{color:#8b302a;background:#b44a3e24;border-color:#b44a3e8c;font-weight:700}.quick-action-emergency .quick-action-btn-icon{opacity:1}.quick-action-emergency:hover{background:#b44a3e33;border-color:#b44a3e9e}.app-top-label{z-index:44;letter-spacing:.07em;text-transform:uppercase;height:1.8rem;color:var(--color-muted);pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:.36rem;padding:0 .5rem;font-size:.7rem;font-weight:700;display:flex;position:fixed;top:.46rem;left:2.6rem}.connection-dot{border-radius:50%;flex-shrink:0;width:.48rem;height:.48rem;transition:background .3s}.connection-dot-online{background:#4d8b62;box-shadow:0 0 0 2px #4d8b6233}.connection-dot-error{background:#b44a3e;box-shadow:0 0 0 2px #b44a3e33}.connection-dot-offline{background:#75838c73}.log-zoom-controls{border:1px solid var(--color-line);border-radius:.36rem;align-items:center;gap:.22rem;display:flex;overflow:hidden}.log-zoom-btn{background:#ffffff61;border:none!important;border-radius:0!important;padding:.18rem .36rem!important;font-size:.72rem!important}.log-zoom-btn:hover{background:#ffffffb8!important}.log-zoom-label{font-variant-numeric:tabular-nums;color:var(--color-muted);text-align:center;min-width:2rem;font-size:.62rem}@media (max-width:1400px){.home-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.home-card-overview,.home-card-telemetry,.home-card-io,.home-card-flags,.home-card-open,.home-card-close{grid-column:span 4}.home-log{grid-column:span 5}.home-flags-bottom{grid-column:span 3}.overview-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-group-state,.overview-group-statistics{grid-column:span 1}.overview-group-firmware{grid-column:span 2;align-self:start}.flag-grid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}}@media (max-width:1023px){.app-main{padding:.4rem .4rem 2.8rem}.app-header{top:0}.drawer{z-index:40;width:min(252px,100vw - 3.5rem)}.home-grid{grid-template-columns:1fr;gap:.3rem}.home-card-overview,.home-card-telemetry,.home-card-io,.home-card-flags,.home-card-open,.home-card-close,.home-log,.home-flags-bottom{grid-column:span 1}.home-card-telemetry,.telemetry-grid{height:auto}.overview-groups,.telemetry-grid{grid-template-columns:1fr}.overview-group+.overview-group{border-left:1px solid #75838c24}.io-columns,.io-grid,.command-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trace-card .compact-chart{height:15rem}.trace-modal-panel{width:100%;height:100%;padding:0}.trace-modal-header{padding:.26rem .32rem 0}.trace-overlay-grid{min-height:0}.home-log,.home-flags-bottom{grid-column:span 1}.drawer-commands .button-primary,.drawer-commands .button-secondary,.drawer-commands .button-command{padding:.5rem .62rem;font-size:.82rem}.flag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title{font-size:.82rem}.telemetry-grid{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.app-main{padding:.3rem .3rem 2.8rem}.state-row{grid-template-columns:max-content minmax(0,1fr);gap:.2rem}.state-value{text-align:left}.io-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trace-modal-panel{width:100%;max-height:100%;padding:0}.trace-modal-header{padding:.22rem .24rem 0}.compact-log{height:10rem}.movement-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.drawer-toggle{display:none}}@keyframes alert-popup-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.alert-popup{z-index:300;touch-action:none;border-radius:.75rem;width:min(22rem,100vw - 1.5rem);animation:.28s cubic-bezier(.16,1,.3,1) both alert-popup-in;position:fixed;overflow:hidden}.alert-popup-danger{background:linear-gradient(#fdfaf4fc,#f1e9ddfc);border:1px solid #b44a3e73;box-shadow:0 24px 52px #23313b47,0 4px 16px #b44a3e33,inset 0 0 0 1px #ffffff75}.alert-popup-warn{background:linear-gradient(#fdfaf4fc,#f1e9ddfc);border:1px solid #c7792b73;box-shadow:0 24px 52px #23313b47,0 4px 16px #c7792b33,inset 0 0 0 1px #ffffff75}.alert-popup-header{cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;padding:.44rem .5rem .44rem .62rem;display:flex}.alert-popup-header:active{cursor:grabbing}.alert-popup-header-danger{color:#fff;background:linear-gradient(120deg,#b44a3e 0%,#8e3026 100%)}.alert-popup-header-warn{color:#fff;background:linear-gradient(120deg,#c7792b 0%,#9f5b18 100%)}.alert-popup-icon{opacity:.88;flex-shrink:0;align-items:center;display:flex}.alert-popup-titles{flex:1;min-width:0}.alert-popup-title{font-family:var(--font-display-stack);letter-spacing:.1em;text-transform:uppercase;font-size:.71rem;font-weight:700;line-height:1.2}.alert-popup-subtitle{opacity:.82;letter-spacing:.02em;margin-top:.1em;font-size:.64rem;line-height:1.25}.alert-popup-controls{flex-shrink:0;align-items:center;gap:.2rem;display:flex}.alert-popup-ctrl-btn{width:1.4rem;height:1.4rem;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:.28rem;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s;display:flex}.alert-popup-ctrl-btn:hover{opacity:1;background:#ffffff38}.alert-popup-body{padding:.65rem .72rem .5rem}.alert-popup-description{color:var(--color-soft);margin-bottom:.5rem;font-size:.8rem;line-height:1.52}.alert-popup-fault-list{flex-direction:column;gap:.38rem;display:flex}.alert-popup-fault-item{background:#b44a3e0d;border:1px solid #b44a3e33;border-radius:.42rem;padding:.42rem .52rem}.alert-popup-fault-name{color:var(--color-danger);letter-spacing:.01em;margin-bottom:.12rem;font-size:.74rem;font-weight:600}.alert-popup-fault-remedy{color:var(--color-soft);font-size:.7rem;line-height:1.45}.alert-popup-no-faults{color:var(--color-muted);font-size:.75rem;font-style:italic}.alert-popup-footer{flex-direction:column;gap:.45rem;padding:0 .72rem .65rem;display:flex}.alert-popup-footer-note{color:var(--color-muted);background:#5b636712;border-left:2px solid #5b63674d;border-radius:.35rem;padding:.32rem .5rem;font-size:.68rem;line-height:1.4}.alert-hw-grid{grid-template-columns:repeat(3,1fr);gap:.36rem;margin-bottom:.5rem;display:grid}.alert-hw-node{text-align:center;background:#5b636708;border:1px solid #5b636726;border-radius:.45rem;flex-direction:column;align-items:center;gap:.2rem;padding:.48rem .2rem .38rem;transition:background .15s,border-color .15s;display:flex}.alert-hw-node-fault{background:#b44a3e14;border-color:#b44a3e52}.alert-hw-node-ok{opacity:.38}.alert-hw-node-icon{color:var(--color-muted);justify-content:center;align-items:center;display:flex}.alert-hw-node-fault .alert-hw-node-icon{color:var(--color-danger)}.alert-hw-node-label{letter-spacing:.03em;text-transform:uppercase;color:var(--color-muted);font-size:.59rem;font-weight:600;line-height:1.2}.alert-hw-node-fault .alert-hw-node-label{color:var(--color-danger)}.alert-hw-node-status{letter-spacing:.09em;color:#fff;background:var(--color-danger);border-radius:3px;padding:.05em .32em .08em;font-size:.52rem;font-weight:700;line-height:1.5}.alert-fault-remedies{border-top:1px solid #b44a3e24;flex-direction:column;gap:.3rem;padding-top:.45rem;display:flex}.alert-fault-remedy{color:var(--color-soft);align-items:flex-start;gap:.32rem;font-size:.69rem;line-height:1.42;display:flex}.alert-fault-remedy-dot{color:var(--color-danger);flex-shrink:0;margin-top:.22rem;font-size:.52rem}.alert-fault-remedy-name{color:var(--color-danger);font-weight:600}.alert-estop-visual{justify-content:center;align-items:center;padding:.5rem 0 .72rem;display:flex}.alert-estop-ring{background:radial-gradient(circle,#b44a3e2e 0%,#b44a3e0d 70%);border:2.5px solid #b44a3ea6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:6.2rem;height:6.2rem;animation:2.6s ease-in-out infinite estop-glow;display:flex;box-shadow:0 0 24px #b44a3e38,0 0 0 .4rem #b44a3e12}.alert-estop-label{font-family:var(--font-display-stack);letter-spacing:.15em;color:var(--color-danger);text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:1.08rem;font-weight:700;line-height:1}.alert-estop-sub{letter-spacing:.12em;color:#b44a3ea6;text-transform:uppercase;-webkit-user-select:none;user-select:none;margin-top:.24rem;font-size:.58rem;font-weight:600}@keyframes estop-glow{0%,to{border-color:#b44a3ea6;box-shadow:0 0 24px #b44a3e38,0 0 0 .4rem #b44a3e12}50%{border-color:#b44a3eeb;box-shadow:0 0 38px #b44a3e66,0 0 0 .7rem #b44a3e0a}}.alert-estop-note{color:var(--color-soft);text-align:center;padding:0 .2rem;font-size:.75rem;line-height:1.48}.alert-safe-visual{padding:.25rem 0 .55rem}.alert-safe-track-row{align-items:center;gap:.55rem;margin-bottom:.5rem;display:flex}.alert-safe-end-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);white-space:nowrap;flex-shrink:0;font-size:.6rem;font-weight:700}.alert-safe-track{background:#5b636729;border-radius:99px;flex:1;height:5px;position:relative}.alert-safe-marker{background:var(--color-warn);border-radius:50%;width:13px;height:13px;margin-top:-6.5px;margin-left:-6.5px;animation:3.2s ease-in-out infinite safe-travel-open;position:absolute;top:50%;box-shadow:0 0 8px #c7792b8c}.alert-safe-marker-close{animation-name:safe-travel-close}@keyframes safe-travel-open{0%,to{left:66%}50%{left:28%}}@keyframes safe-travel-close{0%,to{left:34%}50%{left:72%}}.alert-safe-badges{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.alert-safe-badge{letter-spacing:.07em;text-transform:uppercase;color:var(--color-warn);background:#c7792b1a;border:1px solid #c7792b47;border-radius:99px;align-items:center;gap:.28rem;padding:.2rem .48rem;font-size:.62rem;font-weight:700;display:inline-flex}.alert-safe-note{color:var(--color-soft);margin-top:.52rem;font-size:.74rem;line-height:1.48}@media (min-width:768px) and (max-width:1023px){.sidebar-open-btn,.drawer-lock-button{width:2.4rem;height:2.4rem}.nav-item{min-height:3rem;padding:.6rem .7rem}.density-compact .drawer-command-button{min-height:2.75rem;padding:.5rem .62rem;font-size:.86rem}.quick-action-btn{min-height:2.6rem}.chart-action-btn{min-height:2.4rem;padding:.4rem .7rem;font-size:.8rem}}@media (max-width:767px){.app-shell-mobile{min-height:100dvh}.mobile-shell{flex-direction:column;min-height:100dvh;display:flex}.mobile-header{z-index:40;background:var(--color-panel-strong);border-bottom:1px solid var(--color-line);padding-top:env(safe-area-inset-top);position:sticky;top:0;box-shadow:0 2px 8px #23313b0f}.mobile-topbar{z-index:2;justify-content:space-between;align-items:center;gap:.5rem;height:2.9rem;padding:0 .55rem;display:flex;position:relative}.mobile-topbar-brand{align-items:center;gap:.5rem;min-width:0;display:flex}.mobile-topbar-title{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1;overflow:hidden}.mobile-topbar-actions{flex-shrink:0;align-items:center;gap:.2rem;display:flex}.mobile-topbar-menu-wrap{position:relative}.mobile-topbar-btn{width:2.5rem;height:2.5rem;color:var(--color-soft);background:0 0;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;display:flex}.mobile-topbar-btn:hover{background:#75838c1a}.mobile-topbar-menu-wrap .global-menu-popover{z-index:5;top:calc(100% + .4rem);right:0}.mobile-tab-strip{z-index:1;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:.3rem;padding:.3rem .5rem .4rem;display:flex;position:relative;overflow-x:auto}.mobile-tab-strip::-webkit-scrollbar{display:none}.mobile-tab{min-width:4.3rem;color:var(--color-muted);scroll-snap-align:center;background:#e7e2d680;border:1px solid #0000;border-radius:.6rem;flex-direction:column;flex:none;align-items:center;gap:.18rem;padding:.4rem .55rem;transition:all .16s;display:flex}.mobile-tab-active{color:var(--color-accent);background:#0f766e1f;border-color:#0f766e4d}.mobile-tab-icon-wrap{display:flex;position:relative}.mobile-tab-label{letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:700}.mobile-tab-badge{background:var(--color-warn);color:#fffdf9;letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;min-width:1.05rem;height:1.05rem;padding:0 .25rem;font-size:.56rem;font-weight:700;display:flex;position:absolute;top:-.4rem;right:-.55rem}.mobile-tab-badge-rec{background:var(--color-danger)}.mobile-content{padding:.5rem .25rem;padding-bottom:calc(8.5rem + env(safe-area-inset-bottom));flex:1}.qa-scrim{z-index:58;touch-action:none;overscroll-behavior:none;background:#23313b73;animation:.2s both snackbar-in;position:fixed;inset:0}.qa-sheet{--qa-sheet-h:88vh;z-index:60;height:var(--qa-sheet-h);background:var(--color-bg-strong);border:1px solid var(--color-line);transform:translateY(calc(var(--qa-sheet-h) - var(--qa-peek-h)));will-change:transform;overscroll-behavior:contain;border-top-left-radius:.5rem;border-top-right-radius:.5rem;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #23313b33}@supports (height:100svh){.qa-sheet{--qa-sheet-h:88svh}}.qa-sheet-animating:not(.qa-sheet-dragging){transition:transform .3s cubic-bezier(.16,1,.3,1)}.qa-sheet-peek{flex-shrink:0}.qa-sheet-peek .actuator-dock-minimal{background:0 0;border:0;margin:0 .6rem .5rem;padding:0}.qa-sheet-peek .actuator-dock-minimal .actuator-track{height:.9rem}.qa-sheet-grip{cursor:grab;touch-action:none;justify-content:center;align-items:center;height:1.5rem;padding:0 .65rem;display:flex;position:relative}.qa-sheet-grip:active{cursor:grabbing}.qa-sheet-handle{background:#75838c66;border-radius:999px;width:2.6rem;height:.28rem}.qa-sheet-state-chip{white-space:nowrap;text-overflow:ellipsis;max-width:44%;color:var(--color-muted);font-size:.7rem;font-weight:600;position:absolute;right:.65rem;overflow:hidden}.qa-sheet-state-chip-normal{color:#3d7a52}.qa-sheet-state-chip-warn{color:var(--color-warn)}.qa-sheet-state-chip-danger{color:var(--color-danger)}.qa-sheet-peek-row{align-items:stretch;gap:.4rem;padding:0 .55rem .55rem;display:flex}.qa-sheet-peek-actions{border:0;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;min-width:0;margin:0;padding:0;display:grid}.qa-sheet-peek-actions:disabled{opacity:.45}.qa-sheet-peek-actions .qa-sheet-btn{min-height:3.4rem}.qa-sheet-peek-alert-row{align-items:stretch}.qa-alert-peek{color:#7f2d27;text-align:center;background:#b44a3e33;border:1px solid #b44a3eb8;border-radius:.7rem;flex-direction:column;grid-column:span 2;justify-content:center;align-items:center;gap:.22rem;min-width:0;min-height:3.4rem;padding:.38rem .5rem;animation:1.6s ease-in-out infinite qa-alert-peek-danger;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 18px #b44a3e29}.qa-alert-peek-warn{color:#7b4a15;background:#c7792b38;border-color:#c7792bbd;animation-name:qa-alert-peek-warn;box-shadow:0 8px 18px #c7792b26}.qa-alert-peek-icon{filter:drop-shadow(0 1px 2px #23313b29);flex-shrink:0}.qa-alert-peek-text{min-width:0;max-width:100%;display:block}.qa-alert-peek-title{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:800;line-height:1.05;display:block;overflow:hidden}@keyframes qa-alert-peek-danger{0%,to{color:#7f2d27;background:#b44a3e2e;border-color:#b44a3eb8}50%{color:#5f1f1b;background:#b44a3e4f;border-color:#b44a3efa}}@keyframes qa-alert-peek-warn{0%,to{color:#7b4a15;background:#c7792b2e;border-color:#c7792bb8}50%{color:#5d390f;background:#c7792b4f;border-color:#c7792bfa}}.qa-sheet-expand-toggle{border:1px solid var(--color-line);width:2.9rem;color:var(--color-soft);background:#ffffff80;border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;transition:transform .3s,background .15s,border-color .15s,box-shadow .15s;display:flex}.qa-sheet-expand-toggle:active{background:#0f766e24;border-color:#0f766e73;box-shadow:inset 0 0 0 1px #0f766e2e,0 0 0 3px #0f766e1a}.qa-sheet-expand-toggle-open{transform:rotate(180deg)}.qa-sheet-body-outer{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.qa-sheet-header{background:var(--color-bg-strong);flex-shrink:0}.qa-sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;min-height:0;padding:.5rem 0 calc(1rem + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.qa-conn-card{background:var(--color-panel-strong);border:1px solid #75838c3d;border-radius:.8rem;flex-direction:column;margin:0 .6rem;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.qa-conn-rail{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:none;display:flex;overflow-x:auto}.qa-conn-rail::-webkit-scrollbar{display:none}.qa-conn-bar{scroll-snap-align:start;flex:0 0 calc(100% - 1.7rem);align-items:center;gap:.55rem;min-width:0;padding:.55rem .7rem;display:flex}.qa-conn-slide-hint{color:var(--color-muted);opacity:.45;flex-shrink:0}.qa-conn-led{background:#75838c80;border-radius:999px;flex-shrink:0;width:.7rem;height:.7rem}.qa-conn-bar-text{flex:1;gap:.05rem;min-width:0;display:grid}.qa-conn-state{color:var(--color-text);font-size:.9rem;font-weight:700;line-height:1.1}.qa-conn-port{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.qa-conn-action{border:1px solid var(--color-line);min-height:2.5rem;color:var(--color-text);background:#ffffff9e;border-radius:.6rem;flex-shrink:0;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.82rem;font-weight:700;transition:transform .1s,background .15s,border-color .15s;display:inline-flex}.qa-conn-action:active{transform:translateY(1px)scale(.97)}.qa-conn-action:disabled{opacity:.45}.qa-conn-action-primary{color:#0a6560;background:#0f766e24;border-color:#0f766e80}.qa-conn-action-danger{color:#8b302a;background:#b44a3e1f;border-color:#b44a3e80}.qa-conn-port-reveal{scroll-snap-align:end;color:var(--color-accent);background:#0f766e17;border:0;border-left:1px solid #75838c33;flex-direction:column;flex:0 0 5rem;justify-content:center;align-items:center;gap:.15rem;font-size:.72rem;font-weight:700;display:flex}.qa-conn-port-reveal:active{background:#0f766e2e}.qa-conn-port-reveal:disabled{opacity:.45}.qa-conn-green{border-color:#4d8b626b}.qa-conn-green .qa-conn-led{background:#4d8b62;box-shadow:0 0 0 3px #4d8b622e}.qa-conn-amber .qa-conn-led{background:var(--color-warn);animation:1.4s ease-in-out infinite qa-led-pulse;box-shadow:0 0 0 3px #c7792b2e}.qa-conn-red{background:#b44a3e12;border-color:#b44a3e66}.qa-conn-red .qa-conn-led{background:var(--color-danger);box-shadow:0 0 0 3px #b44a3e2e}.qa-alert-bar{background:#b44a3e14;border:1px solid #b44a3e6b;border-radius:.8rem;flex-direction:column;margin:.45rem .6rem 0;transition:border-color .2s,background .2s;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff61}.qa-alert-bar-warn{background:#c7792b17;border-color:#c7792b70}.qa-alert-bar-head{text-align:left;background:#faf8f261;border:0;align-items:center;gap:.55rem;width:100%;min-height:3.65rem;padding:.55rem .6rem .55rem .7rem;display:flex}.qa-alert-bar-message{flex:1;align-items:center;gap:.55rem;min-width:0;display:flex}.qa-alert-bar-icon-shell{color:#b44a3ee6;background:#b44a3e26;border-radius:.58rem;flex-shrink:0;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;display:inline-flex}.qa-alert-bar-warn .qa-alert-bar-icon-shell{color:#c7792bf2;background:#c7792b2b}.qa-alert-bar-icon{display:block}.qa-alert-bar-text{flex:1;gap:.06rem;min-width:0;display:grid}.qa-alert-bar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);font-size:.9rem;font-weight:700;line-height:1.1;overflow:hidden}.qa-alert-bar-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-muted);font-size:.72rem;overflow:hidden}.qa-alert-bar-details-toggle{color:#8b302a;background:#ffffff94;border:1px solid #b44a3e5c;border-radius:.6rem;flex-shrink:0;align-items:center;gap:.28rem;min-height:2.5rem;padding:.4rem .65rem;font-size:.78rem;font-weight:700;transition:transform .1s,background .15s,border-color .15s,color .15s;display:inline-flex}.qa-alert-bar-warn .qa-alert-bar-details-toggle{color:#7b4a15;border-color:#c7792b61}.qa-alert-bar-details-toggle:active,.qa-alert-bar-details-toggle-open{background:#ffffffc7;border-color:#b44a3e94}.qa-alert-bar-warn .qa-alert-bar-details-toggle:active,.qa-alert-bar-warn .qa-alert-bar-details-toggle-open{border-color:#c7792b9e}.qa-alert-bar-details-toggle:active{transform:translateY(1px)scale(.97)}.qa-alert-bar-chevron{color:currentColor;opacity:.72;transition:transform .22s}.qa-alert-bar-details-toggle-open .qa-alert-bar-chevron{transform:rotate(180deg)}.qa-alert-bar-body-wrap{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.qa-alert-bar-body-wrap-open{grid-template-rows:1fr}.qa-alert-bar-body-inner{min-height:0;overflow:hidden}.qa-alert-bar-body{background:#ffffff38;border-top:1px solid #b44a3e29;gap:.34rem;padding:.55rem .7rem .65rem;display:grid}.qa-alert-bar-warn .qa-alert-bar-body{border-top-color:#c7792b2e}.qa-alert-bar-detail{color:var(--color-muted);margin:0;padding-left:.72rem;font-size:.76rem;line-height:1.42;position:relative}.qa-alert-bar-detail:before{content:"";background:#b44a3e9e;border-radius:999px;width:.28rem;height:.28rem;position:absolute;top:.55em;left:.08rem}.qa-alert-bar-warn .qa-alert-bar-detail:before{background:#c7792ba8}.qa-alert-bar-action{color:#8b302a;background:#b44a3e1f;border:1px solid #b44a3e75;border-radius:.55rem;justify-content:center;justify-self:start;align-items:center;min-height:2.2rem;margin-top:.2rem;padding:.35rem .8rem;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.qa-alert-bar-action:active{background:#b44a3e33;border-color:#b44a3e9e;transform:translateY(1px)}.qa-alert-bar-action:disabled{opacity:.45}@keyframes qa-led-pulse{0%,to{opacity:1}50%{opacity:.4}}.qa-sheet-actions{border:0;gap:.7rem;min-width:0;margin:0;padding:0 .6rem;display:grid}.qa-sheet-actions:disabled{opacity:.5}.qa-sheet-group-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.35rem;font-size:.66rem;font-weight:700;display:block}.qa-sheet-group-disabled .qa-sheet-group-label,.qa-sheet-group-partial-disabled .qa-sheet-group-label{color:#5a6a739e}.qa-sheet-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.qa-sheet-btn{min-height:4.2rem;color:var(--color-text);text-align:center;background:#ffffff80;border:1px solid #75838c3d;border-radius:.8rem;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.4rem;font-size:.78rem;font-weight:600;line-height:1.15;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s,color .15s;display:flex}.qa-sheet-btn:not(:disabled):active,.qa-sheet-btn:not(:disabled).qa-sheet-btn-pressed{color:#0a6560;background:#0f766e29;border-color:#0f766e94;transform:translateY(1px)scale(.96);box-shadow:inset 0 0 0 1px #0f766e2e,0 0 0 3px #0f766e1a}.qa-sheet-btn:not(:disabled):active .qa-sheet-btn-icon,.qa-sheet-btn:not(:disabled).qa-sheet-btn-pressed .qa-sheet-btn-icon{color:var(--color-accent)}.qa-sheet-btn:disabled{cursor:not-allowed;opacity:.48}.qa-sheet-btn-icon{color:var(--color-soft)}.qa-sheet-btn-emergency{color:#8b302a;background:#b44a3e1f;border-color:#b44a3e80}.qa-sheet-btn-emergency:not(:disabled):active,.qa-sheet-btn-emergency:not(:disabled).qa-sheet-btn-pressed{color:#7a2924;background:#b44a3e3d;border-color:#b44a3ec7;box-shadow:inset 0 0 0 1px #b44a3e33,0 0 0 3px #b44a3e1a}.qa-sheet-btn-emergency .qa-sheet-btn-icon{color:var(--color-danger)}.snackbar-root{left:.6rem;right:.6rem;bottom:calc(8.6rem + env(safe-area-inset-bottom))}.mobile-content .home-grid{gap:.45rem}.mobile-content .panel{border-radius:.85rem}.mobile-content .event-viewer{gap:.55rem}.mobile-content .event-table-wrap{max-height:48vh}.mobile-content .event-table th,.mobile-content .event-table td{padding:.5rem}.mobile-content .event-table th{font-size:.58rem}.mobile-content .event-stat-value{font-size:1.2rem}.mobile-content .event-tl-step{grid-template-columns:1.6rem minmax(0,1fr);gap:.5rem}.mobile-content .trace-overlay-card{border-radius:0}.mobile-content .compact-panel{padding:.6rem!important}.mobile-content .section-head{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.mobile-content .section-title{letter-spacing:.04em;font-size:.92rem}.mobile-content .chart-action-btn{border-radius:.5rem;min-height:2.3rem;padding:.4rem .65rem;font-size:.8rem}.mobile-content .overview-groups{background:0 0;border:none;border-bottom:1px dashed #75838c38;border-radius:0;grid-template-columns:1fr 1fr;gap:0;padding:0 0 .5rem}.mobile-content .overview-group{background:0 0;border:0;border-radius:0;flex-direction:column;gap:.45rem;min-width:0;padding:0 .7rem;display:flex}.mobile-content .overview-group-state{padding-left:.2rem}.mobile-content .overview-group-statistics{border-left:1px dashed #75838c38}.mobile-content .overview-group-firmware{border-top:1px dashed #75838c2e;border-left:0;flex-direction:row;grid-column:1/-1;gap:1.2rem;margin-top:.5rem;padding-top:.5rem;padding-left:.2rem}.mobile-content .overview-group-firmware .state-row{flex:1}.mobile-content .overview-title{margin-bottom:.1rem;font-size:.66rem}.mobile-content .state-row{border-bottom:0;flex-direction:column;gap:.06rem;min-width:0;display:flex;padding:0!important}.mobile-content .state-label{letter-spacing:.05em;font-size:.6rem}.mobile-content .state-value{text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.66rem,3.4vw,.9rem);font-weight:600;line-height:1.15;overflow:hidden}.mobile-content .io-columns{grid-template-columns:1fr;gap:.5rem}.mobile-content .io-grid,.mobile-content .flag-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.mobile-content .io-cell,.mobile-content .flag-cell{border-radius:.5rem;min-height:2.2rem;padding:.3rem .45rem}.mobile-content .io-name,.mobile-content .flag-cell-label{font-size:.72rem}.mobile-content .telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.mobile-content .telemetry-card{border:1px solid #75838c29;border-radius:.7rem}.mobile-content .telemetry-card-header{padding:.35rem}.mobile-content .telemetry-title{font-size:.62rem}.mobile-content .telemetry-value{font-size:1.4rem}.mobile-content .log-card-head{margin-right:2rem;padding:0}.mobile-content .log-viewer{font-size:.78rem;line-height:1.55}.mobile-content .log-clear-desktop,.log-modal-head .log-clear-desktop{display:none}.mobile-content .log-clear-mobile,.log-modal-head .log-clear-mobile{display:flex}.mobile-content .trace-card .compact-chart{height:15rem}}.pin-root{z-index:var(--z-pin-layer);pointer-events:none;position:fixed;inset:0}.pin-frame{pointer-events:auto;box-shadow:var(--pin-frame-shadow);contain:layout paint;border-radius:.85rem;transition:box-shadow .16s;position:absolute;top:0;left:0}.pin-frame[data-pin-drag=active]{box-shadow:var(--pin-frame-shadow-drag)}.pin-frame:before{content:"";z-index:2;pointer-events:none;background:0 0;border:2px solid #0000;border-radius:.85rem;transition:border-color .16s,background-color .16s;position:absolute;inset:0}.pin-frame[data-pin-drag=active]:before,.pin-frame[data-pin-resize=active]:before{border-color:var(--pin-drag-border)}.pin-frame[data-pin-drag=active]:before{background-color:var(--pin-drag-veil)}.pin-frame-body{z-index:0;overscroll-behavior:contain;border-radius:.85rem;display:flex;position:absolute;inset:0;overflow:auto}.pin-frame-body>*{border-radius:.85rem;flex-direction:column;flex:auto;min-width:0;display:flex}.pin-frame-body .pin-fill{flex:auto;min-height:0;overflow:auto;height:auto!important}.pin-frame-body .pin-chart-slot{flex:auto;min-height:0;display:flex;overflow:hidden}.pin-frame-body .pin-chart-slot>*{flex:auto;min-width:0}.pin-frame-body .pin-chart-slot .compact-chart{height:100%;min-height:0}.pin-frame [data-pin-handle]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.pin-frame[data-pin-drag=active] [data-pin-handle]{cursor:grabbing}.pin-drag-zone{align-items:center;gap:.4rem;min-width:0;display:flex}.pin-frame .pin-drag-zone,.pin-frame .telemetry-primary{flex:auto;align-self:stretch}.pin-frame-hint{z-index:3;background:var(--pin-drag-hint-bg);color:var(--pin-drag-hint-text);font-family:var(--font-body-stack);letter-spacing:.04em;white-space:nowrap;pointer-events:none;opacity:0;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.76rem;font-weight:600;transition:opacity .16s,transform .16s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.96)}.pin-frame[data-pin-drag=active] .pin-frame-hint{opacity:1;transform:translate(-50%,-50%)scale(1)}.pin-frame-resizer{z-index:4;background:linear-gradient(135deg,transparent 48%,var(--color-line)48%,var(--color-line)60%,transparent 60%),linear-gradient(135deg,transparent 68%,var(--color-line)68%,var(--color-line)80%,transparent 80%);cursor:nwse-resize;touch-action:none;border:0;border-radius:0 0 .85rem;width:1.1rem;height:1.1rem;padding:0;position:absolute;bottom:0;right:0}.pin-frame-resizer:hover,.pin-frame-resizer:focus-visible{background:linear-gradient(135deg,transparent 48%,var(--color-accent)48%,var(--color-accent)60%,transparent 60%),linear-gradient(135deg,transparent 68%,var(--color-accent)68%,var(--color-accent)80%,transparent 80%)}body.pin-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.pin-toggle-btn{border:1px solid var(--color-line);width:1.55rem;height:1.55rem;color:var(--color-soft);background:#ffffff85;border-radius:.48rem;flex:none;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.pin-toggle-btn:hover,.pin-toggle-btn:focus-visible{color:var(--color-text);background:#0f766e14;border-color:#0f766e52}.pin-toggle-btn.is-pinned{color:var(--color-accent);background:#0f766e24;border-color:#0f766e73}.pin-skeleton{flex-direction:column;gap:.55rem;width:100%;height:100%;display:flex}.pin-skeleton-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pin-skeleton-actions{flex-shrink:0;gap:.3rem;display:flex}.pin-skeleton-block{background:linear-gradient(90deg,#75838c1a 25%,#75838c33 37%,#75838c1a 63%) 0 0/300% 100%;border-radius:.4rem;animation:1.5s ease-in-out infinite pin-skeleton-sheen;display:block}.pin-skeleton-title{width:min(9rem,45%);height:.86rem}.pin-skeleton-chip{border-radius:.48rem;width:3.2rem;height:1.5rem}.pin-skeleton-body{border-radius:.6rem;flex:auto;min-height:3rem}@keyframes pin-skeleton-sheen{0%{background-position:150% 0}to{background-position:-150% 0}}.pin-frame .home-log-card,.pin-frame .trace-card{overflow:hidden}.pin-frame .trace-card .section-head{margin-right:0}.pin-frame .pin-log-card{padding:.6rem!important}.pin-frame .pin-log-card .log-card-head{margin-bottom:.5rem;padding:0}.pin-frame .pin-log-card .log-viewer{border-radius:.5rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.qa-alert-peek{animation:none!important}.pin-frame,.pin-frame:before,.pin-frame-hint{transition:none!important}.pin-skeleton-block{background:#75838c29;animation:none!important}.pin-frame-hint,.pin-frame[data-pin-drag=active] .pin-frame-hint{transform:translate(-50%,-50%)!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
