/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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{.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}}:root,:root[data-theme=night],:root[data-theme=dark]{--font-geist-sans:Inter, "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--ink:#f7f7f4;--muted:#9ea7b2;--muted-strong:#c1c7cf;--canvas:#0b0d11;--panel:#12171e;--panel-raised:#181e27;--panel-soft:#0f141a;--line:#29313b;--line-strong:#3b4653;--amber:#f0b34b;--amber-soft:#302311;--mint:#58c9ac;--mint-soft:#102923;--red:#f06761;--red-soft:#35191a;--blue:#79a7ff;--topbar:#0b0d11e6;--status-surface:#0f141bd1;--control-deep:#0d1117;--control-hover:#202630;--note-text:#e5c692;--note-strong:#ffd99f;--on-accent:#171005;--stage-grid:#ffffff08;--chart-grid:#ffffff14;--chart-1:#f0b34b;--chart-2:#58c9ac;--chart-3:#79a7ff;--chart-4:#bd8cff;--chart-5:#f28bb6;--chart-6:#70c7e7;--chart-7:#c9d56a;--chart-8:#ff8f6b;--color-scheme:dark;--shadow:0 8px 28px #0000002e}:root[data-theme=paper],:root[data-theme=light]{--ink:#20242a;--muted:#68717d;--muted-strong:#464e58;--canvas:#f5f3ee;--panel:#fffefc;--panel-raised:#f0ede6;--panel-soft:#f8f6f1;--line:#dad5cb;--line-strong:#c5beb2;--amber:#965f0c;--amber-soft:#fff0cc;--mint:#137963;--mint-soft:#dff4ed;--red:#b93832;--red-soft:#fde6e3;--blue:#356bb4;--topbar:#faf8f3eb;--status-surface:#fffefce0;--control-deep:#f3f0e9;--control-hover:#e9e4da;--note-text:#6f4b17;--note-strong:#57380c;--on-accent:#fff;--stage-grid:#20242a0d;--chart-grid:#20242a1a;--chart-1:#9a620c;--chart-2:#137963;--chart-3:#356bb4;--chart-4:#7550a8;--chart-5:#a9416d;--chart-6:#277994;--chart-7:#66720f;--chart-8:#a94b2f;--color-scheme:light;--shadow:0 6px 20px #39301f14}:root[data-theme=slate]{--ink:#1d292b;--muted:#4f5e60;--muted-strong:#374447;--canvas:#e2e5e2;--panel:#f0f2ef;--panel-raised:#d5dad6;--panel-soft:#e9ece9;--line:#c4cbc6;--line-strong:#929c97;--amber:#765319;--amber-soft:#eee1c6;--mint:#1c7565;--mint-soft:#d0e5df;--red:#964c48;--red-soft:#f1d9d7;--blue:#2f6778;--topbar:#e2e5e2f0;--status-surface:#f0f2efe0;--control-deep:#dfe3df;--control-hover:#d4d9d5;--note-text:#604817;--note-strong:#46330e;--on-accent:#fff;--stage-grid:#1d292b0d;--chart-grid:#1d292b1a;--chart-1:#765319;--chart-2:#1c7565;--chart-3:#2f6778;--chart-4:#6f4f91;--chart-5:#994e71;--chart-6:#30758a;--chart-7:#637016;--chart-8:#98523b;--color-scheme:light;--shadow:0 6px 20px #2a333117}*{box-sizing:border-box}html{background:var(--canvas);color-scheme:var(--color-scheme);scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-geist-sans), "Microsoft YaHei", "PingFang SC", sans-serif;text-rendering:optimizelegibility;margin:0}button,input,select{font:inherit}button,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:3px}button{border:0}a{color:inherit}.console-shell{background:var(--canvas);min-height:100vh;padding-bottom:44px}.topbar{z-index:30;border-bottom:1px solid var(--line);background:var(--topbar);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1480px,100% - 32px);min-height:72px;margin-inline:auto;display:flex}.brand{min-width:0;color:var(--ink);flex-direction:column;text-decoration:none;display:flex}.brand>span{letter-spacing:-.015em;font-size:15px;font-weight:680;line-height:1.25}.brand small{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:9px;font-weight:500;line-height:1.2}.header-actions{flex:none;align-items:center;gap:10px;display:flex}.home-link{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.home-link:hover{color:var(--ink)}.site-theme-switch{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:2px;display:inline-flex}.site-theme-switch button{min-width:33px;height:29px;color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;padding:0 7px;font-size:11px;line-height:1}.site-theme-switch button[aria-pressed=true]{background:var(--ink);color:var(--canvas)}.browser-note{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.browser-note:before{background:var(--line-strong);content:"";border-radius:50%;width:7px;height:7px}.browser-note.supported:before{background:var(--mint);box-shadow:0 0 0 4px #66d8c81c}.connect-button,.emergency-button,.secondary-button,.compact-button{cursor:pointer;border-radius:11px;min-height:42px;font-weight:680;transition:transform .12s,border-color .12s,background .12s,opacity .12s}.connect-button{background:var(--amber);color:var(--on-accent);border:1px solid #ffb34d80;padding:0 17px}.connect-button.connected{border-color:var(--line-strong);background:var(--panel-raised);color:var(--ink)}.connect-button:hover:not(:disabled),.emergency-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.compact-button:hover:not(:disabled),.preset-button:hover:not(:disabled),.fine-button:hover:not(:disabled),.target-button:hover:not(:disabled){transform:translateY(-1px)}.connect-button:active:not(:disabled),.emergency-button:active:not(:disabled),.preset-button:active:not(:disabled),.fine-button:active:not(:disabled),.target-button:active:not(:disabled){transform:translateY(0)scale(.985)}.connect-button:disabled,.secondary-button:disabled,.compact-button:disabled,.preset-button:disabled,.fine-button:disabled,.target-button:disabled,.unlock-hold:disabled{cursor:not-allowed;opacity:.58}.emergency-button{background:var(--red-soft);color:var(--red);border:1px solid #ff625e73;padding:0 16px}.emergency-button.live{background:var(--red);color:#fff;box-shadow:0 0 0 4px #ff625e1f}.status-strip{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:var(--status-surface);grid-template-columns:repeat(4,minmax(0,1fr));max-width:1480px;margin:0 auto;display:grid}.status-item{align-items:center;gap:10px;min-width:0;min-height:58px;padding:10px 16px;display:flex}.status-item+.status-item{border-left:1px solid var(--line)}.status-code{border:1px solid var(--line-strong);background:var(--control-deep);width:32px;height:32px;color:var(--muted-strong);font-family:var(--font-geist-mono), monospace;border-radius:9px;flex:none;place-items:center;font-size:9px;font-weight:760;display:grid}.status-item.ok .status-code{background:var(--mint-soft);color:var(--mint);border-color:#66d8c859}.status-item.warn .status-code{background:var(--amber-soft);color:var(--amber);border-color:#ffb34d61}.status-item.danger .status-code{background:var(--red-soft);color:var(--red);border-color:#ff625e6b}.status-copy{min-width:0}.status-label,.status-value{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.status-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.status-value{color:var(--muted-strong);font-family:var(--font-geist-mono), monospace;margin-top:2px;font-size:12px;font-weight:620}.status-item.ok .status-value,.status-item.warn .status-value,.status-item.danger .status-value{color:var(--ink)}.workspace{width:min(1480px,100% - 32px);margin:28px auto 0}.notice-bar{background:var(--amber-soft);border:1px solid #ffb34d3d;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}@supports (color:color-mix(in lab, red, red)){.notice-bar{background:color-mix(in srgb, var(--amber-soft) 72%, var(--panel))}}.notice-bar{color:var(--note-text);padding:13px 15px;font-size:13px;line-height:1.5}.notice-bar strong{color:var(--note-strong)}.notice-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;padding:2px 3px}.hero-grid{grid-template-columns:minmax(0,1.75fr) minmax(330px,.75fr);align-items:start;gap:16px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.panel-inner{padding:clamp(18px,2.3vw,28px)}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.section-title{letter-spacing:-.045em;margin:0;font-size:clamp(19px,1.6vw,23px);font-weight:690;line-height:1.15}.section-subtitle{max-width:570px;color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.55}.section-tag{border:1px solid var(--line-strong);background:var(--panel-soft);min-height:29px;color:var(--muted-strong);font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;border-radius:6px;flex:none;align-items:center;padding:0 9px;font-size:10px;font-weight:650;display:inline-flex}.section-tag.live{background:var(--mint-soft);color:var(--mint);border-color:#66d8c84d}.target-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.field-label{color:var(--muted);flex:none;font-size:12px;font-weight:620}.target-selector{flex:auto;justify-content:flex-end;gap:7px;min-width:0;display:flex}.target-button{border:1px solid var(--line-strong);background:var(--panel-soft);min-width:46px;min-height:39px;color:var(--muted-strong);cursor:pointer;font-family:var(--font-geist-mono), monospace;border-radius:10px;place-items:center;font-size:12px;font-weight:720;transition:all .12s;display:inline-grid;position:relative}.target-button .target-name{width:auto;color:inherit;font-size:inherit}.target-button.all{min-width:84px}.target-button.selected{background:var(--amber-soft);color:var(--amber);border-color:#ffb34d85;box-shadow:inset 0 0 0 1px #ffb34d14}.output-monitor-grid{grid-template-columns:minmax(250px,.72fr) minmax(360px,1.28fr);align-items:stretch;gap:10px;display:grid}.output-stage{border:1px solid var(--line);background:linear-gradient(90deg, transparent 49.85%, var(--stage-grid) 50%, transparent 50.15%), linear-gradient(0deg, transparent 49.85%, var(--stage-grid) 50%, transparent 50.15%), var(--control-deep);text-align:center;border-radius:10px;place-items:center;min-height:188px;display:grid}.output-value-wrap{padding:18px}.output-target-label{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:650}.output-number{color:var(--ink);font-family:var(--font-geist-mono), monospace;letter-spacing:-.08em;font-size:clamp(58px,8vw,96px);font-weight:620;line-height:.9}.output-number span{color:var(--amber);letter-spacing:0;vertical-align:.45em;margin-left:9px;font-size:.29em;font-weight:700}.output-caption{color:var(--muted);margin:11px 0 0;font-size:12px}.output-caption.continuous{color:var(--amber);font-weight:650}.quick-control{margin-top:20px}.quick-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.quick-hint{color:var(--muted);font-size:11px}.quick-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}.preset-button{border:1px solid var(--line-strong);background:var(--panel-raised);min-height:62px;color:var(--ink);cursor:pointer;font-family:var(--font-geist-mono), monospace;border-radius:12px;font-size:16px;font-weight:720;transition:all .12s}.preset-button:hover:not(:disabled){background:var(--control-hover);border-color:#ffb34d8a}.preset-button.zero{background:var(--red-soft);color:var(--red);border-color:#ff625e6b}.preset-button.active{border-color:var(--amber);background:var(--amber);color:var(--on-accent)}.preset-button.high:not(:disabled):not(.active){color:var(--amber);border-color:#ffb34d66}.preset-button.active.high:not(:disabled){border-color:var(--amber);background:var(--amber);color:var(--on-accent)}.fine-row{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(170px,1.65fr);align-items:stretch;gap:9px;margin-top:10px;display:grid}.fine-button{border:1px solid var(--line);background:var(--panel-soft);min-height:45px;color:var(--muted-strong);cursor:pointer;font-family:var(--font-geist-mono), monospace;border-radius:10px;font-size:12px;font-weight:680;transition:all .12s}.custom-control{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.custom-control input{width:100%;min-width:0;color:var(--ink);font-family:var(--font-geist-mono), monospace;background:0 0;border:0;outline:none;padding:0 12px}.custom-control button{border-left:1px solid var(--line);background:var(--control-hover);min-width:58px;color:var(--muted-strong);cursor:pointer;font-size:12px;font-weight:680}.custom-control button:disabled{cursor:not-allowed;opacity:.58}.motor-section{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.subsection-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.subsection-title{margin:0;font-size:14px;font-weight:660}.freshness{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:10px}.motor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.motor-card{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-width:0;color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:13px;padding:13px;transition:all .15s}.motor-card.selected{background:linear-gradient(160deg, #ffb34d17, transparent 58%), var(--panel-soft);border-color:#ffb34d6b}.motor-card.active{box-shadow:inset 0 0 0 1px #ffb34d1f}.motor-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.motor-id{color:var(--muted-strong);font-family:var(--font-geist-mono), monospace;align-items:center;gap:8px;font-size:12px;font-weight:730;display:flex}.motor-selected{background:var(--amber-soft);color:var(--amber);font-family:var(--font-geist-sans), sans-serif;border-radius:5px;padding:2px 5px;font-size:8px;font-weight:700}.motor-rotor{border:1px solid var(--line-strong);border-radius:50%;width:20px;height:20px;display:inline-block;position:relative}.motor-rotor:before,.motor-rotor:after{background:var(--muted);content:"";border-radius:99px;width:12px;height:2px;position:absolute;top:8px;left:3px}.motor-rotor:after{transform:rotate(90deg)}.motor-card.active .motor-rotor{border-color:var(--amber);animation:.9s linear infinite rotor-pulse}.motor-card.active .motor-rotor:before,.motor-card.active .motor-rotor:after{background:var(--amber)}@keyframes rotor-pulse{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.motor-command{color:var(--ink);font-family:var(--font-geist-mono), monospace;font-size:15px;font-weight:650}.motor-rpm{font-family:var(--font-geist-mono), monospace;letter-spacing:-.04em;margin:14px 0 2px;font-size:20px;font-weight:610}.motor-rpm span{color:var(--muted);letter-spacing:.06em;margin-left:4px;font-size:9px;font-weight:580}.motor-meta{min-width:0;color:var(--muted);font-family:var(--font-geist-mono), monospace;justify-content:space-between;gap:8px;font-size:9px;display:flex}.side-stack{gap:16px;display:grid}.safety-panel .panel-inner,.telemetry-panel .panel-inner{padding:21px}.safety-hero{border-bottom:1px solid var(--line);align-items:center;gap:14px;margin-bottom:19px;padding-bottom:18px;display:flex}.lock-indicator{border:1px solid var(--line-strong);background:var(--control-deep);width:48px;height:48px;color:var(--muted);font-family:var(--font-geist-mono), monospace;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:760;display:grid;position:relative}.lock-indicator.unlocked{background:var(--amber-soft);color:var(--amber);border-color:#ffb34d8a;box-shadow:0 0 0 5px #ffb34d14}.safety-title{margin:0;font-size:17px;font-weight:680}.safety-description{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.4}.safety-brief{border:1px solid var(--line);background:var(--panel-soft);border-radius:11px;display:grid;overflow:hidden}.safety-brief p{min-height:38px;color:var(--muted-strong);align-items:center;gap:9px;margin:0;padding:8px 11px;font-size:11px;line-height:1.35;display:flex}.safety-brief p+p{border-top:1px solid var(--line)}.safety-brief p span{color:var(--amber);font-family:var(--font-geist-mono), monospace;font-size:9px;font-weight:700}.unlock-hold{background:linear-gradient(90deg, #ffb34d61 var(--hold-progress,0%), transparent 0), var(--amber-soft);width:100%;min-height:52px;color:var(--amber);cursor:pointer;border:1px solid #ffb34d6b;border-radius:12px;margin-top:13px;font-weight:720;transition:border-color .12s;position:relative;overflow:hidden}.unlock-hold.locked-action{border-color:var(--line-strong);background:var(--panel-soft);color:var(--muted-strong)}.safety-option{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:11px;align-items:flex-start;gap:10px;margin-top:10px;padding:11px;font-size:11px;line-height:1.45;display:flex}.safety-option.checked{border-color:var(--amber)}@supports (color:color-mix(in lab, red, red)){.safety-option.checked{border-color:color-mix(in srgb, var(--amber) 42%, var(--line))}}.safety-option.checked{background:var(--amber-soft)}@supports (color:color-mix(in lab, red, red)){.safety-option.checked{background:color-mix(in srgb, var(--amber-soft) 72%, var(--panel-soft))}}.safety-option:has(input:disabled){cursor:not-allowed;opacity:.58}.safety-option input{width:16px;height:16px;accent-color:var(--amber);flex:none;margin:1px 0 0}.safety-option span{gap:2px;display:grid}.safety-option strong{color:var(--muted-strong);font-size:12px;font-weight:680}.session-row{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:10px;display:flex}.session-row strong{color:var(--muted-strong);font-family:var(--font-geist-mono), monospace;font-weight:620}.telemetry-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.telemetry-head h2{margin:0;font-size:15px;font-weight:660}.telemetry-source{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:9px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.metric{border:1px solid var(--line);background:var(--panel-soft);border-radius:11px;min-width:0;padding:11px}.metric-label{color:var(--muted);margin:0 0 6px;font-size:10px}.metric-value{font-family:var(--font-geist-mono), monospace;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;font-weight:630;overflow:hidden}.metric-value span{color:var(--muted);letter-spacing:0;margin-left:3px;font-size:9px}.telemetry-unavailable{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.5}.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(330px,.7fr);align-items:start;gap:16px;margin-top:16px;display:grid}.log-only-grid{grid-template-columns:1fr}.inline-chart-panel{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;min-width:0;padding:11px}.inline-chart-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.inline-chart-head h3,.inline-chart-head p{margin:0}.inline-chart-head h3{color:var(--ink);font-size:13px;font-weight:680}.inline-chart-head p{color:var(--muted);margin-top:2px;font-size:9px}.inline-chart-head>span{border:1px solid var(--line);color:var(--muted);font-family:var(--font-geist-mono), monospace;border-radius:5px;padding:3px 6px;font-size:9px}.inline-chart-head>span.live{border-color:var(--mint)}@supports (color:color-mix(in lab, red, red)){.inline-chart-head>span.live{border-color:color-mix(in srgb, var(--mint) 38%, var(--line))}}.inline-chart-head>span.live{background:var(--mint-soft);color:var(--mint)}.combined-chart{min-width:0}.combined-chart .chart-canvas svg{min-height:140px}.combined-chart .chart-legend{scrollbar-width:thin;max-height:46px;overflow-y:auto}.inline-chart-picker{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.inline-chart-picker label{border:1px solid var(--line);background:var(--panel);min-height:27px;color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:0 7px;font-size:9px;font-weight:620;display:inline-flex}.inline-chart-picker label.selected{border-color:var(--amber)}@supports (color:color-mix(in lab, red, red)){.inline-chart-picker label.selected{border-color:color-mix(in srgb, var(--amber) 44%, var(--line))}}.inline-chart-picker label.selected{background:var(--amber-soft);color:var(--amber)}.inline-chart-picker input{width:12px;height:12px;accent-color:var(--amber);margin:0}.chart-picker{flex-wrap:wrap;gap:8px;margin:-4px 0 16px;display:flex}.chart-picker label{border:1px solid var(--line);background:var(--panel-soft);min-height:36px;color:var(--muted);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:620;transition:all .12s;display:inline-flex}.chart-picker label.selected{border-color:var(--amber)}@supports (color:color-mix(in lab, red, red)){.chart-picker label.selected{border-color:color-mix(in srgb, var(--amber) 48%, var(--line))}}.chart-picker label.selected{background:var(--amber-soft);color:var(--amber)}.chart-picker input{width:14px;height:14px;accent-color:var(--amber);margin:0}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.chart-empty-state{border:1px dashed var(--line-strong);min-height:250px;color:var(--muted);border-radius:13px;grid-column:1/-1;place-items:center;font-size:12px;display:grid}.trend-chart{border:1px solid var(--line);background:var(--panel-soft);border-radius:13px;min-width:0;padding:13px}.trend-chart-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:7px;display:flex}.trend-chart-head h3,.trend-chart-head p{margin:0}.trend-chart-head h3{color:var(--ink);font-size:13px;font-weight:680}.trend-chart-head p{color:var(--muted);margin-top:3px;font-size:10px}.trend-chart-head>span{border:1px solid var(--line);color:var(--muted);font-family:var(--font-geist-mono), monospace;border-radius:6px;padding:3px 6px;font-size:9px}.chart-canvas{background:var(--control-deep);border-radius:9px;position:relative;overflow:hidden}.chart-canvas svg{width:100%;height:auto;min-height:170px;display:block}.chart-grid-line{stroke:var(--chart-grid);stroke-width:1px;vector-effect:non-scaling-stroke}.chart-axis-label{fill:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:9px}.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.chart-no-data{color:var(--muted);place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.chart-legend{flex-wrap:wrap;gap:7px 13px;margin-top:9px;display:flex}.chart-legend>span{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:inline-flex}.chart-legend i{border-radius:50%;width:7px;height:7px}.chart-legend strong{color:var(--muted-strong);font-family:var(--font-geist-mono), monospace;font-size:9px;font-weight:620}.esc-layout{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:20px;display:grid}.esc-selector label,.esc-summary-label{color:var(--muted);margin-bottom:7px;font-size:11px;font-weight:620;display:block}.esc-selector select{border:1px solid var(--line-strong);background:var(--panel-soft);width:100%;min-height:44px;color:var(--ink);cursor:pointer;border-radius:10px;padding:0 38px 0 12px}.esc-help{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.5}.esc-summary{gap:8px;display:grid}.esc-summary-row{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:flex-start;gap:16px;padding:4px 0 10px;font-size:11px;display:flex}.esc-summary-row strong{color:var(--muted-strong);font-family:var(--font-geist-mono), monospace;text-align:right;font-size:11px;font-weight:620}.esc-actions{align-items:center;gap:9px;margin-top:14px;display:flex}.secondary-button,.compact-button{border:1px solid var(--line-strong);background:var(--panel-raised);color:var(--ink);padding:0 14px}.secondary-button.primary{background:var(--amber-soft);color:var(--amber);border-color:#ffb34d66}.compact-button{border-radius:9px;min-height:36px;padding:0 11px;font-size:11px}.log-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.log-item{border-bottom:1px solid var(--line);color:var(--muted-strong);grid-template-columns:52px minmax(0,1fr);gap:8px;padding:10px 0;font-size:11px;line-height:1.45;display:grid}.log-item:first-child{padding-top:0}.log-item:last-child{border-bottom:0;padding-bottom:0}.log-time{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:9px}.log-item.warn .log-message{color:var(--amber)}.log-item.error .log-message{color:var(--red)}.log-empty{color:var(--muted);margin:0;font-size:12px}.site-footer{width:min(1480px,100% - 32px);color:var(--muted);justify-content:space-between;align-items:flex-start;gap:20px;margin:22px auto 0;font-size:11px;line-height:1.55;display:flex}.site-footer p{max-width:780px;margin:0}.site-footer a{-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.mobile-safety-dock{z-index:50;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));border:1px solid var(--line-strong);background:var(--topbar);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:9px;display:none;position:fixed;left:10px;box-shadow:0 16px 44px #00000073}.mobile-output{min-width:64px;color:var(--ink);font-family:var(--font-geist-mono), monospace;font-size:16px;font-weight:650}.mobile-output span{color:var(--muted);letter-spacing:.06em;margin-top:1px;font-size:8px;font-weight:560;display:block}.mobile-safety-dock .emergency-button{flex:auto;min-height:46px}@media (max-width:1180px){.status-strip{margin:0 16px}.hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(310px,.75fr)}.output-monitor-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.preset-button.zero{grid-column:span 1}.motor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.home-link,.browser-note,.topbar .emergency-button{display:none}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.status-item:nth-child(3){border-top:1px solid var(--line);border-left:0}.status-item:nth-child(4){border-top:1px solid var(--line)}.hero-grid{flex-direction:column;display:flex}.hero-grid>*{width:100%}.side-stack{order:-1}.lower-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.esc-layout{grid-template-columns:1fr 1.35fr}.mobile-safety-dock{display:flex}.console-shell{padding-bottom:calc(98px + env(safe-area-inset-bottom))}}@media (max-width:620px){.topbar{min-height:66px}.topbar-inner{gap:9px;width:calc(100% - 26px);min-height:66px}.brand>span{font-size:13px}.brand small{font-size:8px}.header-actions{gap:6px}.connect-button{min-height:40px;padding:0 12px;font-size:12px}.site-theme-switch button{min-width:29px;height:28px;padding:0 5px;font-size:10px}.status-strip{border-left:0;border-right:0;margin:0}.workspace,.site-footer{width:calc(100% - 20px)}.workspace{margin-top:12px}.notice-bar{font-size:11px}.panel{border-radius:15px}.panel-inner,.safety-panel .panel-inner,.telemetry-panel .panel-inner{padding:16px}.section-head{margin-bottom:18px}.section-title{font-size:21px}.section-tag{display:none}.target-row{display:block}.target-selector{justify-content:flex-start;margin-top:9px;padding-bottom:3px;overflow-x:auto}.target-button{flex:none;min-width:48px}.output-stage{min-height:156px}.output-monitor-grid{grid-template-columns:1fr}.combined-chart .chart-canvas svg{min-height:155px}.output-number{font-size:65px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.preset-button{min-height:56px}.fine-row{grid-template-columns:repeat(4,minmax(0,1fr))}.custom-control{grid-column:1/-1;min-height:46px}.motor-grid,.side-stack,.esc-layout,.chart-grid{grid-template-columns:1fr}.motor-grid{gap:8px}.motor-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.motor-rpm{text-align:right;margin:0}.motor-meta{grid-column:1/-1}.site-footer{display:block}.site-footer p+p{margin-top:8px}}@media (max-width:390px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/*$vite$:1*/