@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2)format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2)format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2)format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2)format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2)format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2)format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1c2a;--panel:#ffffff08;--panel-strong:#ffffff0a;--panel-border:#ffffff0f;--panel-border-strong:#ffffff14;--text:#dfe3e8;--text-bright:#fff;--muted:#9faab9;--dim:#7f8ea2;--dimmer:#5f718b;--accent:#22d3ee;--ok:#34d399;--warn:#c8a870;--err:#d4878a;--purple:#a78bfa;--overlay-rgb:255 255 255;--accent-rgb:34 211 238;--ok-rgb:52 211 153;--warn-rgb:200 160 80;--err-rgb:200 100 100;--purple-rgb:167 139 250;--danger-rgb:220 60 60;--danger-bright:#ff7a7a;--danger-solid:#ff5c5c;--estop-border:#ff7a7a99;--estop-bg-a:.14;--estop-bg-hover-a:.3;--estop-bg-active-a:.5;--estop-hover-text:#fff;--pop-bg:#232637;--pop-shadow-color:#00000080;--taxel-tile:#000;--taxel-idle:#1a1a1a;--letterbox:#000;--selection-text:#fff;--font:"Space Mono", "Microsoft YaHei", "PingFang SC", sans-serif}.language-toggle{color:var(--dim);flex-shrink:0;align-items:center;gap:5px;font-size:10px;display:inline-flex}.language-toggle select{font:inherit;color:var(--text);background:var(--panel-strong);border:1px solid var(--panel-border-strong);cursor:pointer;border-radius:4px;padding:5px 6px}.language-toggle select option{background:var(--bg);color:var(--text)}.language-toggle select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[lang=zh-CN] .brand-sub{letter-spacing:.12em}.joint-slider-row>span{white-space:nowrap;flex-shrink:0}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f5f1;--panel:#ffffffbf;--panel-strong:#ffffffeb;--panel-border:#2b261c21;--panel-border-strong:#2b261c38;--text:#26241d;--text-bright:#100f0b;--muted:#494434;--dim:#605a49;--dimmer:#787060;--accent:#0f6f78;--ok:#3f6212;--warn:#a16207;--err:#b3261e;--purple:#6b21a8;--overlay-rgb:43 38 28;--accent-rgb:15 111 120;--ok-rgb:63 98 18;--warn-rgb:161 98 7;--err-rgb:179 38 30;--purple-rgb:107 33 168;--danger-rgb:179 38 30;--danger-bright:#b3261e;--danger-solid:#dc2626;--estop-border:#b3261ea6;--estop-bg-a:.1;--estop-bg-hover-a:.9;--estop-bg-active-a:1;--estop-hover-text:#fff;--pop-bg:#fffefb;--pop-shadow-color:#2b261c2e;--taxel-tile:#fff;--taxel-idle:#eae7df;--letterbox:#26241d;--selection-text:#100f0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);min-height:100vh;color:var(--text);padding:12px}::selection{background:rgb(var(--accent-rgb) / .25);color:var(--selection-text)}.container{max-width:1600px;margin:0 auto}header{background:var(--panel-strong);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:0;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}header h1{color:var(--text-bright);letter-spacing:.5px;margin-right:4px;font-size:16px;font-weight:700}.header-spacer{flex:1}.brand{align-items:baseline;gap:8px;display:flex}.brand-mark{color:var(--text-bright);letter-spacing:2px;font-size:16px;font-weight:700}.brand-sub{color:var(--accent);letter-spacing:3px;font-size:11px;font-weight:400}.btn{cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font);letter-spacing:.3px;border:1px solid #0000;border-radius:0;padding:5px 10px;transition:all .15s}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:rgb(var(--accent-rgb) / .12);color:var(--accent);border-color:rgb(var(--accent-rgb) / .25)}.btn-primary:hover:not(:disabled){background:rgb(var(--accent-rgb) / .2);border-color:rgb(var(--accent-rgb) / .4)}.btn-secondary{background:var(--panel-strong);color:var(--muted);border-color:var(--panel-border-strong)}.btn-secondary:hover:not(:disabled){background:rgb(var(--overlay-rgb) / .08);color:var(--text)}.btn-info{background:rgb(var(--ok-rgb) / .12);color:var(--ok);border-color:rgb(var(--ok-rgb) / .25)}.btn-info:hover:not(:disabled){background:rgb(var(--ok-rgb) / .2);border-color:rgb(var(--ok-rgb) / .4)}.btn-danger{background:rgb(var(--err-rgb) / .1);color:var(--err);border-color:rgb(var(--err-rgb) / .2)}.btn-danger:hover:not(:disabled){background:rgb(var(--err-rgb) / .18);border-color:rgb(var(--err-rgb) / .35)}.btn-scan{background:rgb(var(--purple-rgb) / .12);color:var(--purple);border-color:rgb(var(--purple-rgb) / .25);padding:5px 8px;font-size:10px}.btn-scan:hover:not(:disabled){background:rgb(var(--purple-rgb) / .2);border-color:rgb(var(--purple-rgb) / .4)}.angle-input{appearance:textfield}.angle-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.angle-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.btn-estop{background:rgb(var(--danger-rgb) / var(--estop-bg-a));color:var(--danger-bright);border:1px solid var(--estop-border);font-family:var(--font);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:0;padding:7px 14px;font-size:11px;font-weight:700;transition:all .1s}.btn-estop:hover:not(:disabled){background:rgb(var(--danger-rgb) / var(--estop-bg-hover-a));border-color:var(--danger-bright);color:var(--estop-hover-text)}.btn-estop:active:not(:disabled){background:rgb(var(--danger-rgb) / var(--estop-bg-active-a));color:var(--estop-hover-text)}.btn-estop:disabled{opacity:.35;cursor:not-allowed}.status-indicator{border-radius:0;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block}.status-indicator.connected{background:rgb(var(--ok-rgb) / .12);color:var(--ok);border:1px solid rgb(var(--ok-rgb) / .2)}.status-indicator.disconnected{background:rgb(var(--err-rgb) / .1);color:var(--err);border:1px solid rgb(var(--err-rgb) / .15)}.status-indicator.busy{background:rgb(var(--warn-rgb) / .1);color:var(--warn);border:1px solid rgb(var(--warn-rgb) / .2);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.status-indicator.maintenance{background:rgb(var(--warn-rgb) / .12);color:var(--warn);border:1px solid rgb(var(--warn-rgb) / .3)}.capability-badge{letter-spacing:.5px;border:1px solid var(--panel-border-strong);color:var(--dim);background:var(--panel);padding:3px 8px;font-size:10px;font-weight:600}.capability-badge.on{background:rgb(var(--accent-rgb) / .08);color:var(--accent);border-color:rgb(var(--accent-rgb) / .15)}.capability-badge.warn{background:rgb(var(--warn-rgb) / .1);color:var(--warn);border-color:rgb(var(--warn-rgb) / .2)}.capability-badge.dev-build{background:rgb(var(--warn-rgb) / .14);color:var(--warn);border-color:rgb(var(--warn-rgb) / .35)}.fault-cell{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.reboot-btn{letter-spacing:.4px;padding:1px 5px;font-size:9px}.link-controls{gap:4px;display:inline-flex}.link-btn{letter-spacing:.5px;padding:3px 8px;font-size:10px}.model-picker{border:1px solid var(--panel-border-strong);background:var(--panel);align-items:stretch;display:inline-flex}.model-select{color:var(--text-bright);font-family:var(--font);letter-spacing:.5px;cursor:pointer;background:0 0;border:0;border-radius:0;outline:none;max-width:240px;padding:3px 4px 3px 8px;font-size:10px;font-weight:600}.model-select:focus-visible{outline:1px solid rgb(var(--accent-rgb) / .5);outline-offset:-1px}.model-select:disabled{opacity:.4;cursor:progress}.model-pin{letter-spacing:.5px;color:var(--dimmer);border-left:1px solid var(--panel-border-strong);cursor:help;align-items:center;padding:0 6px;font-size:9px;font-weight:600;display:flex}.model-pin.pinned{background:rgb(var(--accent-rgb) / .08);color:var(--accent)}.rate-meters{color:var(--dimmer);letter-spacing:.3px;font-size:9px}.view-tabs{background:var(--panel);border:1px solid var(--panel-border);gap:0;padding:2px;display:flex}.view-tab{font-size:11px;font-weight:600;font-family:var(--font);color:var(--dim);border:none;border-right:1px solid var(--panel-border);cursor:pointer;letter-spacing:.3px;background:0 0;padding:5px 14px;transition:all .15s}.view-tab:last-child{border-right:none}.view-tab:hover{background:rgb(var(--overlay-rgb) / .04);color:var(--muted)}.view-tab.active{background:rgb(var(--accent-rgb) / .1);color:var(--accent)}.theme-toggle{background:var(--panel);border:1px solid var(--panel-border);width:28px;height:26px;color:var(--dim);cursor:pointer;border-radius:0;place-items:center;padding:0;transition:all .15s;display:inline-grid}.theme-toggle:hover{background:rgb(var(--overlay-rgb) / .05);border-color:rgb(var(--accent-rgb) / .35);color:var(--accent)}.theme-toggle svg{width:14px;height:14px;display:block}.panel{background:var(--panel);-webkit-backdrop-filter:blur(8px);border:1px solid var(--panel-border);border-radius:0;margin-bottom:12px;padding:12px}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-header h2{color:var(--text-bright);letter-spacing:.3px;margin:0;font-size:13px;font-weight:700}.toolbar{background:var(--panel);border:1px solid var(--panel-border);flex-wrap:wrap;align-items:center;gap:0;padding:2px;display:flex}.toggle-label{cursor:pointer;color:var(--dim);border:none;border-right:1px solid var(--panel-border);font-size:10px;font-family:var(--font);background:0 0;border-radius:0;align-items:center;gap:4px;padding:5px 10px;transition:all .15s;display:flex}.toggle-label:last-child{border-right:none}.toggle-label:hover{background:rgb(var(--overlay-rgb) / .04);color:var(--muted)}.toggle-label:has(input:checked){background:rgb(var(--accent-rgb) / .1);color:var(--accent)}.toggle-label input[type=radio]{display:none}.toggle-label input[type=checkbox]{cursor:pointer;width:12px;height:12px;accent-color:var(--accent);margin:0;display:inline-block}.toolbar select,.toolbar input[type=number]{background:var(--panel-strong);color:var(--muted);border:1px solid var(--panel-border-strong);font-size:9px;font-family:var(--font);cursor:pointer;border-radius:0;outline:none;padding:2px 6px}.toolbar select:focus,.toolbar input[type=number]:focus{border-color:rgb(var(--accent-rgb) / .3)}.toolbar input[type=number]{text-align:center;width:44px}.toolbar input[type=number]:disabled{opacity:.3;cursor:not-allowed}.slider-control{color:var(--dim);border-right:1px solid var(--panel-border);align-items:center;gap:4px;padding:5px 10px;font-size:10px;display:flex}.slider-control input[type=range]{cursor:pointer;width:56px;height:3px;accent-color:var(--accent)}.slider-control span:last-child{text-align:right;min-width:26px;color:var(--dim);font-size:9px}.sensors-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;display:grid}.sensor-card{background:var(--panel);border:1px solid var(--panel-border);text-align:center;border-radius:0;padding:8px;transition:all .15s}.sensor-card:hover{border-color:rgb(var(--overlay-rgb) / .12);background:rgb(var(--overlay-rgb) / .05)}.sensor-name{color:var(--text);letter-spacing:.3px;margin-bottom:4px;font-size:11px;font-weight:600}.sensor-status{margin-bottom:4px;font-size:18px;line-height:1}.sensor-status.connected{color:var(--ok)}.sensor-status.disconnected{color:var(--err)}.sensor-taxels{color:var(--dim);font-size:10px}.sensor-taxels span{color:var(--text);font-weight:600}.taxels-container{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.taxel-finger{background:var(--taxel-tile);border:1px solid var(--panel-border);text-align:center;aspect-ratio:1;border-radius:0;flex-direction:column;justify-content:center;align-items:center;padding:10px;display:flex}.taxel-finger-label{color:var(--text);letter-spacing:.3px;margin-bottom:8px;font-size:12px;font-weight:600}.taxel-svg{margin:0 auto;display:block}.taxel-circle{transition:fill 50ms ease-out}.taxel-arrow{pointer-events:none}.taxel-arrow line,.taxel-arrow polygon{transition:stroke 50ms ease-out,fill 50ms ease-out}.forces-container{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.force-visualization{background:rgb(var(--overlay-rgb) / .02);border:1px solid var(--panel-border);text-align:center;border-radius:0;padding:16px}.force-label{color:var(--text-bright);letter-spacing:.3px;margin-bottom:12px;font-size:14px;font-weight:700}.force-arrow{width:100%;height:200px;margin:12px 0;position:relative}.force-arrow circle{transition:cx 50ms ease-out,cy 50ms ease-out,r 50ms ease-out,opacity 50ms ease-out}.force-values{color:var(--dim);grid-template-columns:repeat(2,1fr);gap:6px;font-size:12px;display:grid}.force-values span{color:var(--text);font-weight:600}.force-magnitude{color:var(--accent);border-top:1px solid var(--panel-border);grid-column:1/-1;margin-top:6px;padding-top:6px;font-size:13px;font-weight:600}.color-legend{color:var(--dimmer);border-right:none;padding:5px 10px;font-size:9px}.direction-legend{align-items:center;gap:4px;display:inline-flex}.direction-legend span{border:1px solid;padding:2px 6px;font-size:9px;font-weight:600}.dir-right{background:rgb(var(--err-rgb) / .1);color:var(--err);border-color:rgb(var(--err-rgb) / .2)}.dir-left{background:rgb(var(--accent-rgb) / .12);color:var(--accent);border-color:rgb(var(--accent-rgb) / .2)}.dir-up{background:rgb(var(--ok-rgb) / .12);color:var(--ok);border-color:rgb(var(--ok-rgb) / .2)}.dir-down{background:rgb(var(--warn-rgb) / .12);color:var(--warn);border-color:rgb(var(--warn-rgb) / .2)}.error-panel{background:rgb(var(--err-rgb) / .08);border:1px solid rgb(var(--err-rgb) / .2);border-radius:0;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px;display:flex}.error-message{color:var(--err);font-size:11px;font-weight:600}.maintenance-banner{background:rgb(var(--warn-rgb) / .08);border:1px solid rgb(var(--warn-rgb) / .25);color:var(--warn);letter-spacing:.5px;border-radius:0;margin-bottom:12px;padding:8px 12px;font-size:11px;font-weight:600}.detecting-card{background:var(--panel);border:1px solid var(--panel-border);text-align:center;color:var(--dim);padding:40px;font-size:12px;line-height:1.8}.detecting-card .big{color:var(--text);letter-spacing:.5px;font-size:14px;font-weight:700}.boot-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:calc(100vh - 120px);display:flex}.boot-wordmark{color:var(--text-bright);letter-spacing:12px;padding-left:12px;font-size:48px;font-weight:700}.boot-subtitle{color:var(--accent);letter-spacing:6px;text-transform:uppercase;padding-left:6px;font-size:13px;font-weight:400}.boot-status{color:var(--warn);letter-spacing:2px;margin-top:22px;font-size:12px;font-weight:600;animation:1.4s ease-in-out infinite pulse}.boot-status.offline{color:var(--err)}.boot-message{color:var(--dimmer);letter-spacing:.5px;font-size:10px}.boot-checklist{letter-spacing:1.5px;text-align:left;flex-direction:column;gap:6px;margin-top:18px;font-size:11px;list-style:none;display:flex}.boot-check-item{color:var(--dim);align-items:baseline;gap:8px;display:flex}.boot-check-item.ok{color:var(--ok)}.boot-check-item.pending{animation:1.4s ease-in-out infinite pulse}.boot-check-mark{text-align:center;width:14px}.boot-check-port{color:var(--dimmer);letter-spacing:.5px;font-size:9px}.boot-footer{color:var(--dimmer);letter-spacing:1px;margin-top:28px;font-size:9px}.motor-table{border-collapse:collapse;width:100%;max-width:560px;font-size:11px}.motor-table th{text-align:right;color:var(--dimmer);letter-spacing:1px;border-bottom:1px solid var(--panel-border-strong);padding:4px 10px;font-size:9px;font-weight:700}.motor-table th:first-child,.motor-table th:nth-child(2){text-align:left}.motor-table td{text-align:right;border-bottom:1px solid var(--panel-border);color:var(--text);padding:3px 10px}.motor-table td:first-child{text-align:left;color:var(--dim)}.motor-table td.motor-joint{text-align:left;color:var(--muted)}.motor-table td.warn{color:var(--warn);font-weight:700}.motor-table td.err{color:var(--err);font-weight:700}.motor-issues{max-width:760px}.motor-issues th,.motor-issues td{text-align:left}.motor-issues td:first-child,.motor-issues th:first-child{width:12px;padding-right:0}.motor-issues td.motor-issue-detail{color:var(--muted);font-size:10px}.event-log{flex-direction:column;gap:2px;max-height:320px;font-size:10px;display:flex;overflow-y:auto}.event-log-line{align-items:baseline;gap:10px;padding:1px 0;display:flex}.event-time{color:var(--dimmer);flex:none}.event-kind{letter-spacing:.5px;flex:none;width:64px;font-weight:600}.event-text{color:var(--text);overflow-wrap:anywhere}.transport-bar{background:rgb(var(--purple-rgb) / .06);border:1px solid rgb(var(--purple-rgb) / .35);border-radius:0;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:6px 12px;font-size:11px;display:flex}.transport-bar.error{background:rgb(var(--err-rgb) / .08);border-color:rgb(var(--err-rgb) / .4)}.transport-bar.error .transport-kind,.transport-bar.error .transport-detail{color:var(--err)}.transport-bar.done{background:rgb(var(--ok-rgb) / .05);border-color:rgb(var(--ok-rgb) / .3)}.transport-bar.done .transport-kind{color:var(--ok)}.transport-kind{letter-spacing:1.5px;text-transform:uppercase;color:var(--purple);white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.transport-kind.rec{color:var(--danger-bright)}.transport-phase{letter-spacing:1px;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:10px;font-weight:700}.transport-detail{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.transport-paused{letter-spacing:2px;text-transform:uppercase;color:var(--warn);font-size:9px;font-weight:700;animation:1.4s ease-in-out infinite pulse}.transport-time{color:var(--dim);white-space:nowrap;font-size:10px}.transport-progress{background:rgb(var(--overlay-rgb) / .07);flex:1;min-width:120px;height:4px}.transport-progress-fill{background:var(--purple);height:100%;transition:width .2s linear}.transport-awaiting{color:var(--warn);align-items:center;gap:8px;font-size:10px;display:inline-flex}.transport-controls{align-items:center;gap:6px;margin-left:auto;display:flex}.rec-dot{background:var(--danger-solid);border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite rec-pulse;display:inline-block}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.2}}.note-anchor{max-width:100%;display:inline-flex;position:relative}.note-trigger{font-family:var(--font);color:var(--dim);text-align:left;cursor:help;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:11px;display:inline-flex}.note-label{border-bottom:1px dotted #ffffff47}.note-trigger.note-title{letter-spacing:.5px;color:var(--text-bright);font-weight:700}.note-trigger:hover,.note-trigger:focus-visible{color:var(--accent);outline:none}.note-trigger:hover .note-label,.note-trigger:focus-visible .note-label{border-bottom-color:#22d3ee99}.note-marker{width:13px;height:13px;color:var(--accent);opacity:.6;flex:none;transition:opacity .15s}.note-trigger:hover .note-marker,.note-trigger:focus-visible .note-marker{opacity:1}.note-pop{z-index:30;letter-spacing:0;text-transform:none;width:340px;max-width:calc(100vw - 48px);color:var(--muted);opacity:0;visibility:hidden;background:#232637;border:1px solid #22d3ee59;padding:9px 11px;font-size:10px;font-weight:400;line-height:1.6;transition:opacity .12s;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000080}.note-anchor:hover .note-pop,.note-anchor:focus-within .note-pop{opacity:1;visibility:visible}.setup-status{border:1px solid var(--panel-border);background:var(--panel);align-items:baseline;gap:10px;margin-bottom:12px;padding:9px 12px;display:flex}.setup-status-dot{border-radius:50%;flex:none;align-self:center;width:7px;height:7px}.setup-status.ok .setup-status-dot{background:var(--ok)}.setup-status.warn .setup-status-dot{background:var(--warn);animation:2s ease-in-out infinite pulse}.setup-status-text{color:var(--dim);font-size:11px;line-height:1.5}.setup-status-text strong{color:var(--text);font-weight:700}.setup-status.warn .setup-status-text strong{color:var(--warn)}.setup-hero{border-left:2px solid var(--accent);gap:12px;margin-bottom:12px}.setup-hero-head{align-items:center;gap:10px;display:flex}.setup-hero .setup-card-title{font-size:14px}.setup-badge{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);background:#22d3ee14;border:1px solid #22d3ee59;padding:2px 7px;font-size:9px;font-weight:700}.setup-copy{color:var(--muted);max-width:82ch;font-size:11px;line-height:1.6}.setup-copy.dim{color:var(--dim)}.setup-hero-body{grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-self:stretch;gap:12px 32px;display:grid}@media (width<=900px){.setup-hero-body{grid-template-columns:minmax(0,1fr)}}.setup-hero-side{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.setup-round-shape{flex-direction:column;align-self:stretch;gap:8px;display:flex}.setup-steps{flex-direction:column;gap:8px;list-style:none;display:flex}.setup-step{color:var(--muted);gap:10px;max-width:82ch;font-size:11px;line-height:1.6;display:flex}.setup-step-num{width:18px;height:18px;color:var(--accent);border:1px solid #22d3ee4d;flex:none;place-items:center;margin-top:1px;font-size:9px;font-weight:700;display:grid}.setup-step-title{color:var(--text-bright);letter-spacing:.5px;font-weight:700}.setup-why{border-left:2px solid var(--panel-border-strong);color:var(--dim);max-width:82ch;padding-left:10px;font-size:10px;line-height:1.6}.setup-why-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--dimmer);margin-bottom:3px;font-size:9px;display:block}.setup-note{color:var(--warn);background:#c8a8700f;border:1px solid #c8a87040;align-self:stretch;padding:7px 9px;font-size:10px;line-height:1.5}.setup-alert{border:1px solid rgb(var(--warn-rgb) / .3);background:rgb(var(--warn-rgb) / .06);align-self:stretch;max-width:760px;padding:8px 10px}.setup-alert.error{border-color:rgb(var(--err-rgb) / .35);background:rgb(var(--err-rgb) / .07)}.setup-alert-title{letter-spacing:.5px;text-transform:uppercase;color:var(--warn);font-size:10px;font-weight:700}.setup-alert.error .setup-alert-title{color:var(--err)}.setup-alert-list{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.setup-alert-list li{grid-template-columns:8px 1fr;gap:2px 7px;font-size:10px;line-height:1.5;display:grid}.setup-alert-dot{border-radius:50%;width:6px;height:6px;margin-top:5px}.setup-alert-headline{color:var(--text)}.setup-alert-advice{color:var(--dim);grid-column:2}.setup-note.accent{color:var(--accent);background:#22d3ee12;border-color:#22d3ee4d}.setup-callout{background:#22d3ee12;border:1px solid #22d3ee59;flex-direction:column;align-self:stretch;gap:8px;max-width:760px;padding:10px;display:flex}.setup-callout-title{letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.setup-section{align-items:baseline;gap:10px;margin:18px 0 10px;display:flex}.setup-section-title{letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-size:11px;font-weight:700}.setup-section-note{color:var(--dimmer);font-size:10px}.setup-section-rule{background:var(--panel-border);flex:1;height:1px}.setup-summary{color:var(--dimmer);font-size:10px}.setup-summary.ok{color:var(--ok)}.setup-summary.warn{color:var(--warn)}.setup-advanced{border-top:1px solid var(--panel-border);flex-direction:column;align-self:stretch;align-items:flex-start;gap:8px;padding-top:8px;display:flex}.setup-card>.setup-advanced:last-child{margin-top:auto}.setup-option-hint{color:var(--dim);padding-left:17px;font-size:10px;line-height:1.5}.btn-hero{letter-spacing:1px;text-transform:uppercase;padding:8px 16px;font-size:12px}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-bottom:12px;display:grid}.setup-card{background:var(--panel);-webkit-backdrop-filter:blur(8px);border:1px solid var(--panel-border);border-radius:0;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;display:flex;position:relative}.setup-card:hover,.setup-card:focus-within{z-index:10}.setup-card-title{letter-spacing:2px;text-transform:uppercase;color:var(--text-bright);font-size:12px;font-weight:700}.setup-card-hint{color:var(--dim);font-size:10px;line-height:1.5}.setup-card-detail{color:var(--muted);font-size:10px}.setup-card-reason{color:var(--warn);letter-spacing:.5px;font-size:9px}.setup-card-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.setup-release{letter-spacing:1px;text-transform:uppercase;align-self:stretch;padding:8px 14px;font-size:12px}.setup-progress{background:rgb(var(--overlay-rgb) / .07);align-self:stretch;height:4px}.setup-progress-fill{background:var(--accent);height:100%;transition:width .2s linear}.setup-expander{color:var(--dim);font-family:var(--font);letter-spacing:.5px;cursor:pointer;background:0 0;border:none;padding:0;font-size:10px}.setup-expander:hover{color:var(--muted)}.setup-expander-count{color:var(--accent)}.setup-clear{color:var(--dimmer);cursor:pointer;margin-left:8px;text-decoration:underline}.setup-clear:hover{color:var(--err)}.phase-stepper{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.phase-step{letter-spacing:1px;text-transform:uppercase;border:1px solid var(--panel-border-strong);color:var(--dimmer);background:var(--panel);padding:3px 8px;font-size:9px;font-weight:600}.phase-step.done{color:var(--ok);border-color:rgb(var(--ok-rgb) / .3)}.phase-step.active{color:var(--accent);border-color:rgb(var(--accent-rgb) / .4);background:rgb(var(--accent-rgb) / .08);animation:1.4s ease-in-out infinite pulse}.finger-chip-row{flex-wrap:wrap;gap:4px;display:flex}.finger-chip{font-size:10px;font-family:var(--font);letter-spacing:.5px;border:1px solid var(--panel-border-strong);background:var(--panel);color:var(--dim);cursor:pointer;border-radius:0;padding:3px 8px;transition:all .15s}.finger-chip:hover{background:rgb(var(--overlay-rgb) / .05);color:var(--muted)}.finger-chip.open{border-color:rgb(var(--accent-rgb) / .35);color:var(--accent)}.finger-chip.has-selection{color:var(--accent)}.joint-check-list{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:2px 10px;padding:6px 2px;display:grid}.joint-check{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:10px;display:flex}.joint-check input[type=checkbox]{width:11px;height:11px;accent-color:var(--accent);cursor:pointer;margin:0}.joint-check select{background:var(--panel-strong);color:var(--muted);border:1px solid var(--panel-border-strong);font-size:10px;font-family:var(--font);cursor:pointer;border-radius:0;outline:none;padding:2px 6px}.joint-status-list{border-top:1px solid var(--panel-border);grid-template-columns:1fr 1fr;align-self:stretch;gap:1px 14px;max-height:230px;padding-top:6px;font-size:9px;display:grid;overflow-y:auto}.joint-status-row{color:var(--dim);border-bottom:1px solid var(--panel-border);justify-content:space-between;gap:6px;padding:1px 0;display:flex}.joint-status-mark.ok{color:var(--ok)}.joint-status-mark.bad{color:var(--err)}.joint-status-mark.na{color:var(--dimmer)}.wizard-timeline{flex-wrap:wrap;gap:8px;display:flex}.wizard-round{align-items:center;gap:2px;display:inline-flex}.wizard-round-label{color:var(--dimmer);letter-spacing:.5px;margin-right:2px;font-size:9px}.op-log{flex-direction:column;gap:1px;max-height:260px;font-size:10px;display:flex;overflow-y:auto}.op-log-line{align-items:baseline;gap:10px;display:flex}.op-log-time{color:var(--dimmer);flex:none}.op-log-text{color:var(--text);overflow-wrap:anywhere}.poses-toolbar{background:var(--panel-strong);border:1px solid var(--panel-border);border-radius:0;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;display:flex}.poses-toolbar-label{letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-size:10px;font-weight:700}.torque-state{letter-spacing:1px;color:var(--dimmer);font-size:11px;font-weight:700}.torque-state.on{color:var(--ok)}.poses-toolbar-hint{color:var(--dimmer);letter-spacing:.3px;font-size:9px}.panel-hint{color:var(--warn);margin-bottom:8px;font-size:10px}.panel-empty{color:var(--dimmer);padding:6px 0;font-size:10px}.pose-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.pose-cell{position:relative}.pose-tile{background:var(--panel-strong);border:1px solid var(--panel-border-strong);width:100%;min-height:76px;font-family:var(--font);color:var(--text);cursor:pointer;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px 10px;transition:all .15s;display:flex}.pose-tile:hover:not(:disabled){border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .06);color:var(--text-bright)}.pose-tile:disabled{opacity:.45;cursor:not-allowed}.pose-tile-name{letter-spacing:1px;text-transform:uppercase;overflow-wrap:anywhere;font-size:12px;font-weight:700}.pose-tile-hint{letter-spacing:1px;text-transform:uppercase;color:var(--dimmer);font-size:8px}.pose-tile.placeholder{color:var(--dim);border-style:dashed}.pose-tile.capture{border-style:dashed;border-color:rgb(var(--accent-rgb) / .25);color:var(--accent);background:0 0}.pose-tile.capture:hover{background:rgb(var(--accent-rgb) / .05)}.pose-tile.capture-form{cursor:default;gap:6px}.pose-tile.capture-form input[type=text]{background:var(--bg);border:1px solid var(--panel-border-strong);width:100%;color:var(--text);font-family:var(--font);border-radius:0;outline:none;padding:4px 6px;font-size:11px}.pose-tile.capture-form input[type=text]:focus{border-color:rgb(var(--accent-rgb) / .4)}.capture-form-actions{gap:4px;display:flex}.pose-tile-delete{width:16px;height:16px;color:var(--dimmer);line-height:1;font-family:var(--font);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;font-size:10px;position:absolute;top:3px;right:3px}.pose-tile-delete:hover{color:var(--err)}.demo-row{border-bottom:1px solid var(--panel-border);align-items:center;gap:10px;padding:5px 0;font-size:11px;display:flex}.demo-row:last-of-type{border-bottom:none}.demo-name{color:var(--text);letter-spacing:.3px;font-weight:700}.demo-poses{color:var(--dimmer);font-size:9px}.demo-controls{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.demo-cycles{color:var(--dim);align-items:center;gap:4px;font-size:9px;display:inline-flex}.demo-cycles select,.traj-actions select{background:var(--panel-strong);color:var(--muted);border:1px solid var(--panel-border-strong);font-size:9px;font-family:var(--font);cursor:pointer;border-radius:0;outline:none;padding:2px 6px}.source-badge,.type-badge{letter-spacing:1px;text-transform:uppercase;border:1px solid var(--panel-border-strong);color:var(--dim);background:var(--panel);padding:2px 6px;font-size:8px;font-weight:600}.source-badge.core{color:var(--purple);border-color:rgb(var(--purple-rgb) / .3)}.traj-table{border-collapse:collapse;width:100%;font-size:11px}.traj-table th{text-align:left;color:var(--dimmer);letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--panel-border-strong);padding:4px 10px 4px 0;font-size:9px;font-weight:700}.traj-table td{text-align:left;border-bottom:1px solid var(--panel-border);color:var(--text);padding:4px 10px 4px 0}.traj-name{font-weight:700}.traj-actions{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:inline-flex}.traj-loop{color:var(--dim);cursor:pointer;align-items:center;gap:4px;font-size:9px;display:inline-flex}.traj-loop input[type=checkbox]{width:11px;height:11px;accent-color:var(--accent);cursor:pointer;margin:0}.record-form{border-top:1px solid var(--panel-border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding-top:10px;font-size:10px;display:flex}.record-form-label{letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-size:10px;font-weight:700}.record-freq{color:var(--dim);align-items:center;gap:4px;display:inline-flex}.record-freq input[type=number]{background:var(--panel-strong);width:48px;color:var(--muted);border:1px solid var(--panel-border-strong);font-size:10px;font-family:var(--font);text-align:center;border-radius:0;outline:none;padding:3px 6px}.record-name{background:var(--panel-strong);border:1px solid var(--panel-border-strong);color:var(--text);font-family:var(--font);border-radius:0;outline:none;padding:4px 8px;font-size:11px}.record-name:focus,.record-freq input[type=number]:focus{border-color:rgb(var(--accent-rgb) / .4)}.record-note{color:var(--dimmer);font-size:9px}.record-note.warn{color:var(--warn)}.teleop-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.teleop-source-grid{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;display:grid}.teleop-source-tile{font-family:var(--font);background:rgb(var(--overlay-rgb) / .02);border:1px solid var(--panel-border);cursor:pointer;text-align:left;flex-direction:column;gap:5px;min-height:64px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.teleop-source-tile:hover:not(:disabled){border-color:var(--accent)}.teleop-source-tile.selected{border-color:var(--accent);background:rgb(var(--accent-rgb) / .07);box-shadow:inset 3px 0 0 var(--accent)}.teleop-source-tile:disabled{opacity:.45;cursor:not-allowed}.teleop-source-name{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-bright);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.teleop-source-dot{background:var(--dimmer);border-radius:50%;flex-shrink:0;width:6px;height:6px}.teleop-source-dot.ready{background:var(--ok)}.teleop-source-desc{color:var(--dim);font-size:9px;line-height:1.45}.teleop-state-badge{letter-spacing:2px;text-transform:uppercase;border:1px solid var(--panel-border);color:var(--muted);white-space:nowrap;padding:2px 8px;font-size:9px;font-weight:700}.teleop-state-badge.starting{color:var(--warn);border-color:var(--warn);animation:1.4s ease-in-out infinite pulse}.teleop-state-badge.preview{color:var(--accent);border-color:var(--accent)}.teleop-state-badge.engaged{color:var(--ok);border-color:var(--ok)}.teleop-state-badge.error{color:var(--err);border-color:var(--err)}.tracking-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.tracking-dot.lost{background:var(--danger-solid);animation:1.1s ease-in-out infinite rec-pulse}.teleop-stats{flex-wrap:wrap;gap:16px;display:flex}.teleop-stat-row{flex-direction:column;gap:2px;display:flex}.teleop-stat-label{letter-spacing:1px;text-transform:uppercase;color:var(--dimmer);font-size:9px}.teleop-stat-value{color:var(--text);font-size:11px;font-weight:700}.teleop-preview-stage{justify-content:center;width:100%;display:flex}.teleop-preview-img{border:1px solid var(--panel-border);background:var(--letterbox);width:100%;max-width:720px;display:block}.teleop-preview-waiting{text-align:center;border:1px dashed var(--panel-border);width:100%;max-width:720px;min-height:200px;color:var(--dim);justify-content:center;align-items:center;padding:24px;font-size:10px;line-height:1.6;display:flex}.teleop-token code{color:var(--accent);overflow-wrap:anywhere}.transport-bar.teleop-engaged{border-left:3px solid var(--accent);background:rgb(var(--accent-rgb) / .05);border-color:rgb(var(--accent-rgb) / .35)}.chain-flow{flex-wrap:wrap;align-items:center;gap:4px;padding:10px 0;display:flex}.chain-node{border:1px solid var(--panel-border);background:rgb(var(--overlay-rgb) / .02);min-width:46px;color:var(--dimmer);flex-direction:column;align-items:center;gap:1px;padding:6px;display:flex}.chain-node.board{border-color:var(--dim);color:var(--muted)}.chain-node.wrist{border-style:dashed}.chain-node.configured{border-color:var(--ok);color:var(--ok);background:rgb(var(--ok-rgb) / .06)}.chain-node.expected{border-color:var(--accent);color:var(--accent);background:rgb(var(--accent-rgb) / .08);animation:1.4s ease-in-out infinite pulse}.chain-node.invalid{border-color:var(--err);color:var(--err);background:rgb(var(--err-rgb) / .08)}.chain-node.reset{border-color:var(--warn);color:var(--warn)}.chain-node-id{white-space:nowrap;font-size:11px;font-weight:700}.chain-node-model{letter-spacing:.5px;opacity:.8;font-size:8px}.chain-arrow{color:var(--dimmer);font-size:10px}.chain-meta{color:var(--dimmer);white-space:nowrap;margin-left:8px;font-size:9px}.chain-instruction{color:var(--accent);border:1px solid rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .05);padding:8px 10px;font-size:11px}.chain-instruction.done{color:var(--ok);border-color:rgb(var(--ok-rgb) / .35);background:rgb(var(--ok-rgb) / .05)}.chain-instruction.error{color:var(--err);border-color:rgb(var(--err-rgb) / .4);background:rgb(var(--err-rgb) / .06)}.chain-confirm{border:1px solid rgb(var(--err-rgb) / .5);background:rgb(var(--err-rgb) / .07);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.chain-confirm-text{color:var(--warn);max-width:480px;font-size:10px;line-height:1.5}:root{--bg:#15212c;--panel:#1c2c39;--panel-strong:#233846;--panel-border:#334856;--panel-border-strong:#496071;--text:#dfe9f0;--text-bright:#f6fafc;--muted:#b0c3cf;--dim:#9db3c2;--dimmer:#94acbc;--accent:#67bfd8;--accent-rgb:103 191 216;--studio-stage:#142332;--font:"Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif}:root[data-theme=light]{--bg:#f4f7fa;--panel:#fff;--panel-strong:#edf3f7;--panel-border:#dfe8ee;--panel-border-strong:#bfced8;--text:#273c4b;--text-bright:#102735;--muted:#4b6373;--dim:#526c7d;--dimmer:#627b8a;--accent:#136b87;--accent-rgb:19 107 135;--studio-stage:#eaf1f6;--overlay-rgb:16 39 53}html body{min-height:100dvh;padding:0;font-size:14px;line-height:1.5}button,input,select{font-family:inherit}button,select{transition:background .16s,border-color .16s,color .16s}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.studio-shell{max-width:1560px;margin:0 auto;padding:0 32px 20px}.studio-shell .studio-header{border:0;border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;flex-wrap:wrap;align-items:center;gap:24px;margin:0;padding:24px 0;display:flex}.studio-brand{align-items:center;gap:12px;margin-right:20px;display:flex}.studio-brand>svg{width:38px;height:38px;color:var(--accent)}.studio-mark{transform-origin:50% 75%;flex-shrink:0;transition:transform .22s;transform:rotate(0)}.studio-mark:hover{transform:rotate(-16deg)}@media (prefers-reduced-motion:reduce){.studio-mark{transition:none}}.studio-brand h1{letter-spacing:-.6px;font-size:21px;font-weight:650;line-height:1.4}.studio-nav{gap:6px;display:flex}.studio-nav button{color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 16px;font-size:14px;font-weight:600}.studio-nav button:hover{background:var(--panel-strong)}.studio-nav button.active{background:rgb(var(--accent-rgb) / .1);color:var(--accent)}.studio-preferences{align-items:center;gap:20px;margin-left:auto;display:flex}.studio-utility{background:rgb(var(--accent-rgb) / .035);border-radius:8px;align-items:center;height:38px;padding:0 14px 0 5px;display:flex}.studio-preferences .language-toggle{width:48px;height:38px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.language-glyph{pointer-events:none;grid-template-columns:11px 9px;align-items:end;gap:1px;line-height:1;display:grid}.language-glyph i{font-size:13px;font-style:normal;font-weight:650}.language-glyph i+i{font-size:11px;transform:translateY(-1px)}.language-chevron{pointer-events:none;border-bottom:1.5px solid;border-right:1.5px solid;width:5px;height:5px;margin:1px 0 0 5px;transform:rotate(45deg)translateY(-1px)}.studio-preferences .language-toggle select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.studio-utility:after{content:"";background:var(--panel-border);width:1px;height:24px;margin-left:15px}.appearance-control{border:1px solid var(--panel-border-strong);width:36px;height:36px;color:var(--text);background:var(--panel);cursor:pointer;border-radius:50%;place-items:center;margin-left:15px;padding:0;display:inline-grid}.appearance-control:hover{border-color:var(--accent);color:var(--accent);background:rgb(var(--accent-rgb) / .08)}.appearance-control:active{transform:scale(.94)}.theme-glyph{text-align:center;width:17px;height:17px;font-family:Segoe UI Symbol,Segoe UI,sans-serif;font-size:19px;line-height:16px;display:block}.theme-glyph.moon:before{content:"☾"}.theme-glyph.sun{font-size:16px;line-height:17px}.theme-glyph.sun:before{content:"☀"}.studio-preferences .btn-estop{letter-spacing:0;border-radius:6px;height:36px;padding:0 14px;font-size:12px}.skip-link{z-index:5;background:var(--panel);color:var(--accent);padding:12px;position:absolute;top:-60px;left:24px}.skip-link:focus{top:8px}.workspace-intro{justify-content:space-between;align-items:center;gap:20px;padding:30px 0 24px;display:flex}.workspace-intro h2{letter-spacing:-.7px;font-size:28px;font-weight:600;line-height:1.35}.session-label{border-left:1px solid var(--panel-border);align-items:center;gap:10px;padding-left:16px;display:flex}.session-label>i{background:var(--dim);border-radius:50%;width:7px;height:7px}.session-label>i.online{background:var(--accent)}.session-label strong{font-size:13px;font-weight:600;display:block}.session-label span{color:var(--dim);margin-top:2px;font-size:11px;display:block}.workspace-columns{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px;display:grid}.model-column{min-width:0}.studio-shell .panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:none;border-radius:10px;margin-bottom:0;padding:20px}.studio-shell .panel-header{border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:0;display:flex}.studio-shell .panel-header h2{letter-spacing:0;text-transform:none;font-size:14px;font-weight:600}.model-column>.panel{background:var(--studio-stage);padding:18px 18px 10px}.model-reference{color:var(--dim);font-size:11px}.viewport-instructions{text-align:center;color:var(--dim);padding:8px 0 3px;font-size:11px}.quick-actions{margin-top:18px}.quick-actions>.panel{padding:18px 20px}.studio-shell .pose-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;display:grid}.studio-shell .pose-tile{background:var(--panel-strong);min-height:64px;font:inherit;border:1px solid #0000;border-radius:6px;padding:10px 8px}.studio-shell .pose-tile-name{color:var(--text);text-transform:none;letter-spacing:0;font-size:13px;font-weight:600}.studio-shell .pose-tile-hint{letter-spacing:0;text-transform:none;font-size:10px}.studio-shell .pose-tile.capture{border:1px dashed var(--panel-border-strong);background:0 0}.studio-shell .pose-tile:disabled{opacity:.58}.studio-shell .pose-tile:hover:not(:disabled){border-color:var(--accent);background:rgb(var(--accent-rgb) / .07);transform:none}.studio-shell .pose-tile-delete{border-radius:4px}.studio-shell .capture-form input{width:100%;font-size:12px}.preset-note{color:var(--dim);padding:8px 3px 0;font-size:11px}.hand-controls{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:22px}.control-title{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.control-title h2{font-size:18px;font-weight:600}.control-title>span{color:var(--dim);font-size:11px}.control-switch-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.control-state{color:var(--dim);align-items:center;gap:7px;font-size:12px;display:inline-flex}.control-state i{background:var(--dim);border-radius:50%;width:6px;height:6px}.control-state.enabled{color:var(--accent)}.control-state.enabled i{background:var(--accent)}.control-guidance{color:var(--dim);min-height:38px;margin-top:12px;font-size:12px;line-height:1.6}.finger-tabs{grid-template-columns:repeat(3,1fr);gap:6px;padding:16px 0 22px;display:grid}.finger-tabs button{border:1px solid var(--panel-border);min-height:34px;color:var(--dim);cursor:pointer;background:0 0;border-radius:5px;font-size:12px}.finger-tabs button:hover{border-color:var(--accent)}.finger-tabs button.active{background:rgb(var(--accent-rgb) / .08);border-color:var(--accent);color:var(--accent);font-weight:600}.finger-joint{padding:0 0 21px}.joint-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.joint-heading>label{font-size:13px;font-weight:500}.angle-input{color:var(--dim);align-items:center;gap:4px;display:inline-flex}.angle-input input{width:64px;height:31px;color:var(--text);border:1px solid var(--panel-border);background:var(--panel-strong);text-align:right;font-variant-numeric:tabular-nums;border-radius:5px;padding:4px 6px;font-size:13px}.finger-joint>input[type=range]{width:100%;height:4px;accent-color:var(--accent);cursor:pointer;display:block}.finger-joint input:disabled{opacity:.55;cursor:default}.joint-range{color:var(--dim);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;margin-top:9px;font-size:10px;display:flex}.studio-shell .btn{letter-spacing:0;border-radius:5px;min-height:33px;padding:6px 12px;font-size:12px;font-weight:600}.studio-shell .btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}:root[data-theme=light] .studio-shell .btn-primary{color:#fff}.studio-shell .btn-primary:hover:not(:disabled){filter:brightness(1.09)}.studio-shell .btn-secondary{color:var(--text);border-color:var(--panel-border-strong);background:0 0}.neutral-button{width:100%;margin-top:4px}.control-footnote{border-top:1px solid var(--panel-border);margin-top:22px;padding-top:18px}.control-footnote>span{font-size:12px;font-weight:600}.control-footnote p{color:var(--dim);margin-top:7px;font-size:11px;line-height:1.65}.studio-library{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);align-items:start;gap:24px;margin-top:24px;display:grid}.studio-shell .demo-name{font-family:inherit;font-size:13px}.studio-shell .demo-row{flex-wrap:wrap;gap:8px;padding:12px 0}.studio-library .source-badge{display:none}.studio-library .demo-poses{font-size:11px}.studio-library .record-controls{flex-wrap:wrap}.studio-library input,.studio-library select{font:inherit;color:var(--text);background:var(--panel-strong);border:1px solid var(--panel-border-strong);border-radius:4px;padding:5px 7px}.studio-library .toggle-label,.studio-library .traj-loop,.studio-library .record-name{font-size:12px}.studio-library .traj-table{font-size:12px;display:block;overflow-x:auto}.studio-shell .panel-empty,.studio-shell .panel-hint{color:var(--dim);font-size:12px}.connection-message{color:var(--dim);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:13px;display:flex}.studio-shell .transport-bar{border-radius:7px;margin-top:16px;padding:14px;font-size:12px}.studio-shell .error-panel{border-radius:7px;margin-top:16px;padding:14px;font-size:13px}.studio-shell .detecting-card{color:var(--dim);font-size:13px}@media (width<=1050px){.studio-shell{padding:0 22px 20px}.studio-shell .studio-header{gap:18px;padding:20px 0}.studio-preferences{gap:14px}.studio-brand{margin-right:auto}.studio-nav{flex-basis:100%;order:3}.workspace-columns{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.hand-controls{padding:18px}.studio-library{grid-template-columns:1fr;gap:18px}}@media (width<=700px){.studio-shell{padding:0 14px 16px}.studio-brand h1{font-size:19px}.studio-brand>svg{width:30px;height:30px}.studio-preferences{flex-wrap:wrap;flex-basis:100%;margin-left:0}.workspace-intro{align-items:start;padding-top:24px}.workspace-intro h2{font-size:23px}.session-label{border:0;padding-left:0}.workspace-columns{grid-template-columns:1fr}.finger-tabs{grid-template-columns:repeat(6,1fr)}.hand-controls{padding:22px}.studio-shell .panel{padding:16px}.model-reference{font-size:10px}}@media (prefers-reduced-motion:reduce){button,select{transition:none}}
