:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07080a;--bg-panel:#0e1013;--bg-raise:#15181c;--line:#2a2d31;--line-strong:#3d4147;--fg:#d8d2c4;--fg-dim:#8c877c;--signal:#ffb347;--signal-tint:#ffb34724;--ok:#9fdc7c;--bad:#ff5d4f;--cool:#6fd0ff;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--dur-micro:.11s;--dur-standard:.2s;--dur-major:.42s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--gutter:max(16px, env(safe-area-inset-left));--gutter-r:max(16px, env(safe-area-inset-right))}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0}body{min-height:100dvh;font-family:var(--font-mono);-webkit-text-size-adjust:100%;font-size:14px;line-height:1.45;overflow-x:hidden}body:after{content:"";z-index:50;pointer-events:none;background:repeating-linear-gradient(#ffffff06 0 1px,#0000 1px 3px);position:fixed;inset:0}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{transition-duration:0s!important;animation:none!important}[data-flicker=reduced] .lamp,[data-flicker=reduced] .carrier path{animation:none!important}.preboot{padding:24px var(--gutter);color:var(--fg-dim);letter-spacing:.14em}.kicker{color:var(--fg-dim);letter-spacing:.2em;text-transform:uppercase;margin:0 0 8px;font-size:11px}.title{letter-spacing:.08em;text-shadow:2px 0 #ff5d4f59,-2px 0 #5ac8ff38;margin:0;font-size:clamp(40px,11vw,92px);font-weight:800;line-height:.95}.hint{color:var(--fg-dim);margin:6px 0 10px;font-size:12px}.warn,[data-tone=warn]{color:var(--signal)}.ok,[data-tone=ok]{color:var(--ok)}.bad,[data-tone=bad]{color:var(--bad)}.mono-small{max-width:150px;color:var(--fg-dim);font-variant-numeric:tabular-nums;margin:2px auto 0;font-size:11px;display:block}.mono-block{white-space:pre;margin:0;font-size:12px;overflow-x:auto}.lamp{background:var(--ok);width:9px;height:9px;box-shadow:0 0 10px var(--ok);border-radius:50%;flex:none;animation:1.6s steps(2,jump-none) infinite lamp;display:inline-block}@keyframes lamp{50%{opacity:.35}}button,pre{font:inherit;color:inherit}.nav-key,.nav-item,.nav-tab{appearance:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-micro) var(--ease-standard), color var(--dur-micro) var(--ease-standard), border-color var(--dur-micro) var(--ease-standard), transform var(--dur-micro) var(--ease-standard);border-radius:0}.nav-key{background:var(--signal);min-height:44px;color:var(--bg);letter-spacing:.14em;border:0;margin:6px 8px 6px 0;padding:0 18px;font-weight:700;box-shadow:inset 0 0 0 2px #00000059}.nav-key:disabled{opacity:.35;cursor:default}.nav-item{border:1px solid var(--line-strong);background:var(--bg-raise);letter-spacing:.08em;min-height:40px;padding:6px 12px}.nav-item[aria-pressed=true]{border-color:var(--signal);background:var(--signal-tint);color:var(--signal);box-shadow:inset 3px 0 0 var(--signal)}.nav-key:focus,.nav-item:focus,.nav-tab:focus,.slider:focus{outline:2px solid var(--fg);outline-offset:3px}.nav-item:focus,.slider:focus{background:var(--signal-tint)}.nav-key:active,.nav-item:active{transform:translateY(1px)scale(.98)}.segmented{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.button-row{flex-wrap:wrap;display:flex}.slider{cursor:pointer;touch-action:none;border:1px solid #0000;grid-template-columns:8.5em 1fr 4.5em;align-items:center;gap:10px;min-height:40px;margin:4px 0;padding:4px 8px;display:grid}.slider-label{color:var(--fg-dim);letter-spacing:.1em;font-size:12px}.slider-track{background:var(--line);height:6px;position:relative}.slider-fill{background:var(--signal);position:absolute;inset:0 auto 0 0}.slider-thumb{border:2px solid var(--bg);background:var(--fg);width:12px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%)}.slider-value{text-align:right;font-variant-numeric:tabular-nums}.glyph-group{vertical-align:middle;flex-wrap:wrap;gap:4px;display:inline-flex}.glyph{vertical-align:middle;border:1.5px solid;border-radius:50%;justify-content:center;align-items:center;min-width:1.75em;height:1.75em;padding:0 .3em;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.glyph[data-wide],.glyph[data-family=keyboard-mouse],.glyph[data-family=touch]{border-radius:5px}.glyph--shape svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:1.15em;height:1.15em}.glyph-none{color:var(--fg-dim)}.locked{opacity:.55}.locked:after{content:" 🔒︎";font-size:10px}.boot-gate{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) var(--gutter-r) max(24px, env(safe-area-inset-bottom)) var(--gutter);cursor:pointer;place-items:center;display:grid}.boot-inner{width:min(760px,100%)}.carrier{width:100%;height:34px;margin:18px 0 8px;display:block}.carrier path{fill:none;stroke:var(--signal);stroke-width:1.5px;stroke-dasharray:6 4;animation:1.8s linear infinite carrier}@keyframes carrier{to{stroke-dashoffset:-40px}}.boot-status{color:var(--ok);letter-spacing:.18em;align-items:center;gap:10px;display:flex}.boot-build{color:var(--fg-dim);letter-spacing:.16em;margin:6px 0 0;font-size:13px}.boot-cta{color:var(--signal);letter-spacing:.08em;margin-top:28px;font-size:16px}.boot-pad{color:var(--fg-dim);margin-top:8px;font-size:13px;display:block}.boot-stamp{right:var(--gutter-r);bottom:max(10px, env(safe-area-inset-bottom));color:var(--fg-dim);margin:0;font-size:11px;position:fixed}.lab{min-height:100dvh;padding:max(10px, env(safe-area-inset-top)) var(--gutter-r) 0 var(--gutter);grid-template-rows:auto auto auto 1fr auto;display:grid}.lab-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding:6px 0 10px;display:flex}.lab-title{letter-spacing:.14em;font-size:22px;font-weight:800}.lab-sub{color:var(--fg-dim);letter-spacing:.12em;margin-left:12px;font-size:12px}.lab-live{color:var(--ok);letter-spacing:.12em;align-items:center;gap:8px;font-size:12px;display:flex}.lab-live-sub{color:var(--signal)}.tabs{margin:0 calc(-1 * var(--gutter-r)) 0 calc(-1 * var(--gutter));padding:4px var(--gutter-r) 6px var(--gutter);border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.nav-tab{min-height:44px;color:var(--fg-dim);letter-spacing:.12em;background:0 0;border:0;border-bottom:2px solid #0000;flex-direction:column;flex:none;align-items:flex-start;padding:6px 12px;display:flex}.nav-tab[aria-selected=true]{border-bottom-color:var(--signal);color:var(--signal)}.tab-ch{opacity:.7;font-size:10px}.banner{text-align:left;border-color:var(--signal);width:100%;color:var(--signal);margin-top:8px;display:block}.lab-body{min-width:0;padding:12px 0 16px}.prompt-bar{margin:0 calc(-1 * var(--gutter-r)) 0 calc(-1 * var(--gutter));padding:8px var(--gutter-r) max(8px, env(safe-area-inset-bottom)) var(--gutter);border-top:1px solid var(--line);letter-spacing:.1em;background:#07080af0;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:12px;display:flex;position:sticky;bottom:0}.prompt{align-items:center;gap:6px;display:inline-flex}.prompt-stamp{color:var(--fg-dim);margin-left:auto;font-size:11px}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.span-2{grid-column:1/-1}.panel{border:1px solid var(--line);background:linear-gradient(var(--signal), var(--signal)) top left / 14px 2px no-repeat, linear-gradient(var(--signal), var(--signal)) top left / 2px 14px no-repeat, linear-gradient(var(--signal), var(--signal)) bottom right / 14px 2px no-repeat, linear-gradient(var(--signal), var(--signal)) bottom right / 2px 14px no-repeat, linear-gradient(var(--bg-panel), var(--bg));min-width:0;padding:12px 14px 14px;overflow-x:auto}.panel-title{color:var(--fg-dim);letter-spacing:.2em;margin:0 0 6px;font-size:12px;font-weight:600}.readout{margin:0}.readout .row{border-bottom:1px dashed #ffffff0f;grid-template-columns:7.5em 1fr;gap:12px;padding:6px 0;display:grid}.readout .row:last-child{border-bottom:0}.readout dt{color:var(--fg-dim);letter-spacing:.12em;font-size:12px}.readout dd{overflow-wrap:anywhere;margin:0}.log{margin:0;padding:0;font-size:12px;list-style:none}.log li{overflow-wrap:anywhere;border-bottom:1px dashed #ffffff0d;padding:3px 0}.notice{border:1px solid;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:6px 10px;display:flex}.tag{border:1px solid var(--line-strong);color:var(--fg-dim);margin-left:6px;padding:0 4px;font-size:10px}.pad-card{border:1px solid var(--line);background:var(--bg-raise);margin:10px 0;padding:10px}.pad-card[data-connected=false]{opacity:.6}.pad-head{letter-spacing:.1em;flex-wrap:wrap;gap:6px 14px;display:flex}.pad-index,.pad-family{color:var(--signal);font-weight:700}.pad-id{color:var(--fg);overflow-wrap:anywhere;margin:6px 0;font-size:12px}.button-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;display:grid}.button-cell{--v:0;border:1px solid var(--line);background:var(--bg-raise);justify-items:center;gap:4px;padding:8px 4px 6px;display:grid;position:relative}.button-cell[data-down=true]{border-color:var(--signal);background:var(--signal-tint);color:var(--signal)}.button-cell[data-seen=true]:after{content:"✓";color:var(--ok);font-size:10px;position:absolute;top:2px;right:4px}.button-value{background:linear-gradient(90deg, var(--signal) calc(var(--v) * 100%), var(--line) 0);width:80%;height:4px}.sticks{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.stick-plot{text-align:center;letter-spacing:.1em;margin:0;font-size:11px}.stick-plot svg,.axes svg{width:140px;height:140px;margin:0 auto 4px;display:block}.stick-ring{fill:#ffffff05;stroke:var(--line-strong)}.stick-outer{fill:none;stroke:var(--fg-dim);stroke-dasharray:2 3}.stick-dead{fill:#ff5d4f24;stroke:var(--bad);stroke-dasharray:2 2}.stick-axis{stroke:var(--line)}.stick-raw{fill:none;stroke:var(--signal);stroke-width:1.5px}.stick-out{fill:var(--ok)}.vec-move{fill:var(--signal)}.vec-look{fill:var(--ok)}.triggers{align-content:start;gap:8px;display:grid}.trigger{align-items:center;gap:8px;display:flex}.bar{--v:0;border:1px solid var(--line-strong);width:110px;height:10px;display:block}.bar--raw{background:linear-gradient(90deg, #ffb34759 calc(var(--v) * 100%), transparent 0)}.bar--out{background:linear-gradient(90deg, var(--ok) calc(var(--v) * 100%), transparent 0)}.remap,.actions{border-collapse:collapse;width:100%;font-size:12px}.remap th,.remap td,.actions th,.actions td{text-align:left;vertical-align:middle;border-bottom:1px dashed #ffffff0f;padding:4px 6px}.remap thead th,.actions thead th{color:var(--fg-dim);letter-spacing:.12em;font-weight:600}.remap-cell{flex-wrap:wrap;gap:4px;min-width:72px;min-height:36px;padding:4px 8px;display:inline-flex}.actions tr{--v:0}.lamp-cell{border:1px solid var(--line-strong);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.actions tr[data-down=true] .lamp-cell{border-color:var(--ok);background:var(--ok);box-shadow:0 0 8px var(--ok)}.actions tr[data-down=true] th{color:var(--ok)}.value-bar{vertical-align:middle;background:linear-gradient(90deg, var(--ok) calc(var(--v) * 100%), var(--line) 0);width:60px;height:4px;display:inline-block}.count{font-variant-numeric:tabular-nums}.axes{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.axes svg{margin:0}.capture-area{border:1px dashed var(--line-strong);color:var(--fg-dim);padding:12px}.capture-area[data-active=true]{border-style:solid;border-color:var(--ok);color:var(--ok);cursor:crosshair}.capture-area p{margin:0}.touch-surface{border:1px solid var(--line-strong);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#ffffff04;height:clamp(240px,52vh,420px);margin-top:8px;position:relative;overflow:hidden}.touch-stick-zone{border-right:1px dashed var(--line);position:absolute;inset:0 55% 0 0}.touch-stick-base{border:2px solid var(--line-strong);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-stick-zone[data-touch-floating][data-touch-active] .touch-stick-base{top:var(--stick-origin-y);left:var(--stick-origin-x)}.touch-stick-zone[data-touch-active] .touch-stick-base{border-color:var(--signal)}.touch-stick-knob{background:var(--signal-tint);width:48px;height:48px;box-shadow:inset 0 0 0 2px var(--signal);border-radius:50%}.touch-look-zone{position:absolute;inset:0 0 0 45%}.touch-look-zone[data-touch-active]{background:#9fdc7c0d}.touch-look-label{color:var(--fg-dim);letter-spacing:.2em;font-size:11px;position:absolute;top:10px;left:12px}.touch-buttons{pointer-events:none;grid-template-columns:repeat(3,auto);place-items:end center;gap:10px;display:grid;position:absolute;bottom:12px;right:12px}.touch-btn{border:2px solid var(--line-strong);letter-spacing:.08em;pointer-events:auto;background:#07080ab3;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.touch-btn--lg{border-color:var(--signal);width:84px;height:84px;color:var(--signal);grid-row:span 2}.touch-btn--md{width:58px;height:58px}.touch-btn[data-touch-active]{background:var(--signal);color:var(--bg)}.touch-readout{white-space:pre;margin:8px 0 0;font-size:12px}.modal-backdrop{z-index:20;padding:16px var(--gutter-r) 16px var(--gutter);background:#07080ae0;place-items:center;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--signal);background:var(--bg-panel);width:min(460px,100%);padding:18px}.modal h3{color:var(--signal);letter-spacing:.14em;margin:0 0 8px}.capture-ask{font-size:16px}.error-panel{z-index:100;padding:max(24px, env(safe-area-inset-top)) var(--gutter-r) max(24px, env(safe-area-inset-bottom)) var(--gutter);background:#07080af7;flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}.error-panel h2{color:var(--bad);letter-spacing:.16em;margin:0 0 8px}.error-panel pre{border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;padding:12px;overflow:auto}.error-panel .key{background:var(--signal);min-height:44px;color:var(--bg);letter-spacing:.14em;border:0;margin-right:8px;padding:0 18px;font-weight:700}@media (max-width:560px){.touch-buttons{grid-template-columns:repeat(2,auto);gap:8px}.touch-btn--lg{grid-area:auto/span 2;justify-self:end;width:72px;height:72px}.touch-btn--md{width:52px;height:52px;font-size:10px}}@media (max-width:760px){.panel-grid{grid-template-columns:minmax(0,1fr)}.readout .row{grid-template-columns:1fr;gap:2px}.slider{grid-template-columns:1fr 4em}.slider-track{grid-area:2/1/auto/-1}.lab-sub{display:none}}
