*{box-sizing:border-box}body{color:#e9f2ff;background:#0d1524;margin:0;font-family:Trebuchet MS,Segoe UI Variable Text,Tahoma,sans-serif}#root{min-height:100vh}:root{--bg-main:#0d1524;--bg-grid:#122036;--bg-side:#0a1220;--line:#25344f;--line-soft:#1b2940;--text-main:#e9f2ff;--text-soft:#9eb2d2;--accent:#14b8a6;--accent-strong:#0f766e;--danger:#ef4444;--terminal-bg:#050706;--terminal-rx:#54ff8f;--terminal-tx:#fff;--terminal-sys:#8bc9ff}.main-shell{background:radial-gradient(circle at 20% 0%, #1a2d46 0%, transparent 44%), linear-gradient(180deg, var(--bg-grid) 0%, var(--bg-main) 100%);min-height:100vh;color:var(--text-main);grid-template-columns:minmax(0,1fr) 260px;display:grid}.main-shell-nav-collapsed{grid-template-columns:minmax(0,1fr) 64px}.workspace{min-width:0;padding:20px}.data-saved-label{z-index:30;opacity:0;pointer-events:none;color:#bfffe8;background:#07201cf5;border:1px solid #82ffd47a;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:800;transition:opacity .16s,transform .16s;position:fixed;top:12px;left:50%;transform:translate(-50%,-12px);box-shadow:0 12px 28px #00000047}.data-saved-label.visible{opacity:1;transform:translate(-50%)}.console-view{flex-direction:column;gap:14px;height:calc(100vh - 40px);animation:.35s ease-out slideIn;display:flex}.lets-start-view{flex-direction:column;gap:18px;width:min(100%,1080px);margin:0 auto;animation:.35s ease-out slideIn;display:flex}.lets-start-header h1{letter-spacing:.03em;margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:40px;line-height:1}.lets-start-header p{max-width:780px;color:var(--text-soft);margin:8px 0 0;font-size:15px;line-height:1.5}.lets-start-card{background:linear-gradient(145deg,#12233afa,#091526fa);border:1px solid #29405f;border-radius:14px;gap:18px;padding:22px;display:grid;box-shadow:0 18px 45px #00000047}.lets-start-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.lets-start-field{color:#c7d8ee;gap:7px;min-width:0;font-size:13px;font-weight:800;display:grid}.lets-start-field input,.lets-start-field textarea{width:100%;min-width:0;color:var(--text-main);background:#071426;border:1px solid #365071;border-radius:9px;outline:none;padding:11px 12px;font:500 14px/1.5 Segoe UI Variable Text,Segoe UI,sans-serif;transition:border-color .14s,box-shadow .14s}.lets-start-field textarea{resize:vertical;min-height:150px}.lets-start-field input::placeholder,.lets-start-field textarea::placeholder{color:#7187a5}.lets-start-field input:focus,.lets-start-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #14b8a624}.lets-start-token-field{max-width:640px}.lets-start-token-field small{color:#8fa4c1;font-size:12px;font-weight:600;line-height:1.45}.history-view{flex-direction:column;gap:20px;width:min(100%,1260px);margin:0 auto;animation:.35s ease-out slideIn;display:flex}.history-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.history-eyebrow{color:#53dcc9;letter-spacing:.16em;margin:0 0 6px;font-size:11px;font-weight:900}.history-header h1{letter-spacing:.03em;margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:40px;line-height:1}.history-header>div:first-child>p:last-child{max-width:760px;color:var(--text-soft);margin:9px 0 0;font-size:14px;line-height:1.5}.history-working-state{background:#0a192be0;border:1px solid #2d4967;border-radius:12px;align-items:center;gap:10px;min-width:235px;padding:10px 12px;display:flex}.history-working-state>span{border-radius:50%;flex:0 0 11px;width:11px;height:11px}.history-working-state.dirty>span{background:#f6c85f;box-shadow:0 0 0 4px #f6c85f1f}.history-working-state.clean>span{background:#54e2c5;box-shadow:0 0 0 4px #54e2c51f}.history-working-state strong,.history-working-state small{display:block}.history-working-state strong{color:#edf6ff;font-size:12px}.history-working-state small{color:#859dbb;margin-top:3px;font-size:10px}.history-tabs{background:#081423d1;border:1px solid #29435f;border-radius:10px;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.history-tabs button{color:#8fa7c3;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;font-family:inherit;font-size:11px;font-weight:800;display:inline-flex}.history-tabs button:hover{color:#d8e9f7;background:#27456073}.history-tabs button:focus-visible{outline-offset:1px;outline:2px solid #53dcc9}.history-tabs button.active{color:#70e4d2;background:#173b50;box-shadow:inset 0 0 0 1px #53dcc94d}.history-tabs button span{min-width:18px;height:18px;color:inherit;background:#6887a633;border-radius:999px;place-items:center;font:800 9px/1 Cascadia Mono,Consolas,monospace;display:grid}.history-tab-panel{min-width:0}.history-saved-layout{grid-template-columns:minmax(270px,330px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.history-options-panel{width:min(100%,520px)}.history-save-card,.history-delete-card,.history-list-section{background:linear-gradient(150deg,#112237fa,#091424fa);border:1px solid #29435f;border-radius:14px;box-shadow:0 16px 36px #00000038}.history-save-card{padding:16px}.history-save-card-heading{align-items:flex-start;gap:10px;margin-bottom:15px;display:flex}.history-save-card-heading>span{color:#65ead7;background:#196b6542;border:1px solid #53dcc973;border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.history-save-card h2,.history-list-section h2{color:#edf6ff;margin:0;font-size:16px}.history-save-card-heading p{color:#91a9c8;margin:5px 0 0;font-size:11px;line-height:1.45}.history-save-card form{gap:12px;display:grid}.history-save-card label{color:#c8d9ee;gap:6px;font-size:11px;font-weight:800;display:grid}.history-save-card input,.history-save-card textarea{color:#eff6ff;background:#071426;border:1px solid #355270;border-radius:9px;outline:none;width:100%;padding:9px 10px;font:500 13px/1.45 Segoe UI Variable Text,Segoe UI,sans-serif}.history-save-card textarea{resize:vertical;min-height:96px}.history-save-card input:focus,.history-save-card textarea:focus{border-color:#43cbbb;box-shadow:0 0 0 3px #43cbbb21}.history-save-card input::placeholder,.history-save-card textarea::placeholder{color:#7189a8}.history-save-card form>button{color:#03241f;cursor:pointer;background:linear-gradient(#31d5c1,#0e786f);border:0;border-radius:9px;min-height:40px;font-size:12px;font-weight:900}.history-save-card form>button:disabled{opacity:.42;cursor:not-allowed}.history-save-note{color:#9eb2ce;border-inline-start:3px solid #d7a94e;margin:11px 0 0;padding-inline-start:9px;font-size:10px;line-height:1.45}.history-action-message{color:#c7e3f2;background:#122b42b8;border:1px solid #365776;border-radius:8px;margin:10px 0 0;padding:8px 9px;font-size:11px;line-height:1.4}.history-page-message{margin:0}.history-delete-card{border-color:#ef69706b;padding:15px 16px}.history-delete-card h2{color:#ffd5d7;margin:0;font-size:14px}.history-delete-card p{color:#aabed6;margin:8px 0 12px;font-size:11px;line-height:1.5}.history-delete-card button{color:#ffbfc3;cursor:pointer;background:#77232b3d;border:1px solid #ef69709e;border-radius:9px;width:100%;padding:9px 12px;font-weight:800}.history-delete-card button:hover:not(:disabled){background:#972b3457;border-color:#ef6970}.history-delete-card button:disabled{cursor:not-allowed;opacity:.45}.history-list-section{overflow:hidden}.history-list-section>header{background:#0e1d31c2;border-bottom:1px solid #29435f;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.history-list-section>header p{color:#879fbe;margin:4px 0 0;font-size:10px}.history-list-section>header>span{color:#bcd2e9;border:1px solid #365776;border-radius:50%;place-items:center;min-width:28px;height:28px;font:800 11px/1 Cascadia Mono,Consolas,monospace;display:grid}.history-entry-list{gap:0;padding:6px 14px 9px;display:grid;position:relative}.history-entry-list:before{top:18px;bottom:20px;content:"";background:#2b4a67;width:1px;position:absolute;inset-inline-start:24px}.history-entry{grid-template-columns:21px minmax(0,1fr);gap:8px;padding:10px 0;display:grid;position:relative}.history-entry-marker{z-index:1;background:#46cfbb;border:2px solid #0c1a2c;border-radius:50%;width:11px;height:11px;margin-top:7px;position:relative;box-shadow:0 0 0 2px #287d78}.history-entry.automatic .history-entry-marker{background:#7da8d6;box-shadow:0 0 0 2px #375d84}.history-entry-content{background:#0a182ae0;border:1px solid #29435f;border-radius:11px;min-width:0;padding:10px 11px}.history-entry.automatic .history-entry-content{background:#0b192b9e;border-style:dashed}.history-entry-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.history-entry-heading h3{color:#eef6ff;margin:0;font-size:13px;line-height:1.35}.history-entry-heading p{color:#758eac;margin:3px 0 0;font-size:9px}.history-entry-badges{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.history-entry-badges span{color:#9eb7d1;text-transform:uppercase;border:1px solid #365776;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900;line-height:1}.history-entry-badges .history-entry-kind.manual,.history-entry-badges .history-entry-head{color:#74ead8;background:#176b6033;border-color:#4cdac385}.history-entry-badges .history-entry-current{color:#f7d888;background:#6f4c1638;border-color:#f6c85f85}.history-entry-source.source-ai{color:#c7a9ff}.history-entry-summary{color:#aabed6;white-space:pre-wrap;margin:9px 0 0;font-size:11px;line-height:1.45}.history-entry-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.history-entry-footer code{color:#66819f;text-overflow:ellipsis;font-size:9px;overflow:hidden}.history-entry-footer button{color:#bde5ec;cursor:pointer;background:#102b3d;border:1px solid #37617c;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:800}.history-entry-footer button:hover:not(:disabled){color:#eafffb;border-color:#4ed6c2}.history-entry-footer button:disabled{opacity:.48;cursor:not-allowed}.history-empty-state{color:#829bb9;text-align:center;margin:0;padding:28px 18px;font-size:12px}.console-header h1{letter-spacing:.03em;margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:40px;line-height:1}.console-header p{color:var(--text-soft);max-width:760px;margin:8px 0 0;font-size:15px}.terminal-card{background:#0b1526;border:1px solid #20314d;border-radius:14px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 45px #00000052}.terminal-titlebar{border-bottom:1px solid var(--line);color:var(--text-soft);grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:grid}.status-lamp{border-radius:999px;width:10px;height:10px}.status-disconnected{background:var(--danger)}.status-connecting{background:#f59e0b}.status-connected{background:var(--accent)}.terminal-device{text-overflow:ellipsis;white-space:nowrap;justify-self:end;max-width:100%;overflow:hidden}.terminal-output{background:var(--terminal-bg);flex:1;min-height:0;padding:14px;font:14px/1.45 Cascadia Mono,Consolas,Lucida Console,monospace;overflow-y:auto}.terminal-line{white-space:pre-wrap;word-break:break-word;margin:0 0 8px}.terminal-line.rx{color:var(--terminal-rx)}.terminal-line.tx{color:var(--terminal-tx)}.terminal-line.sys{color:var(--terminal-sys)}.line-prefix{opacity:.8}.terminal-controls{border-top:1px solid var(--line);background:#0a1322;flex-direction:column;gap:10px;padding:12px;display:flex}.quick-actions{flex-wrap:wrap;gap:8px;display:flex}.quick-button{color:var(--text-main);cursor:pointer;background:#111e32;border:1px solid #2b4366;border-radius:8px;padding:7px 11px;font-size:13px}.quick-button:hover{background:#182946;border-color:#3e628f}.quick-button:disabled{opacity:.55;cursor:not-allowed}.quick-button.clear{margin-left:auto}.command-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.command-input{width:100%;color:var(--text-main);background:#0f1c30;border:1px solid #2b4366;border-radius:9px;padding:10px 11px;font-size:14px}.command-input::placeholder{color:#6e87ad}.send-button{background:linear-gradient(180deg, #1ac5b1 0%, var(--accent-strong) 100%);color:#041411;cursor:pointer;border:0;border-radius:9px;padding:10px 14px;font-weight:700}.send-button:hover{filter:brightness(1.05)}.command-center-card{background:linear-gradient(#111e32fa 0%,#0b1423f5 100%);border:1px solid #20314d;border-radius:14px;flex-direction:column;flex:none;min-height:250px;max-height:42vh;display:flex;overflow:hidden;box-shadow:0 18px 45px #00000052}.command-center-header{border-bottom:1px solid var(--line);background:#0f1a2e;padding:12px 14px}.command-center-header h2{color:#d8e6fb;margin:0;font-size:20px}.command-center-header p{color:#a9bfdc;margin:6px 0 0;font-size:13px}.command-center-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;min-height:0;padding:12px;display:grid;overflow-y:auto}.command-panel{background:#101c2f;border:1px solid #2a3f61;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.command-panel-header h3{color:#f1f6ff;margin:0;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:14px}.command-panel-header p{color:#8aa7cf;margin:4px 0 0;font-size:12px}.command-panel-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.command-panel-fields-wide,.command-panel-fields-timing{grid-template-columns:repeat(3,minmax(0,1fr))}.command-panel-field{flex-direction:column;gap:6px;display:flex}.command-panel-field span{color:var(--text-soft);font-size:12px}.command-panel-field input,.command-panel-field select{width:100%;color:var(--text-main);background:#0f1c30;border:1px solid #2b4366;border-radius:8px;padding:8px 9px;font-size:13px}.command-panel-send{justify-content:center;width:100%}.side-panel{border-left:1px solid var(--line-soft);background:linear-gradient(180deg, #0c1729 0%, var(--bg-side) 100%);flex-direction:column;gap:14px;padding:16px 12px;display:flex}.side-panel-hidden{align-items:stretch;padding-inline:8px}.side-panel-body{flex-direction:column;gap:14px;display:flex}.connect-area{flex-direction:column;align-items:stretch;gap:8px;display:flex}.connect-button{color:#032221;cursor:pointer;background:linear-gradient(#22d3c2 0%,#0f766e 100%);border:0;border-radius:10px;width:100%;padding:11px 12px;font-weight:700}.connect-button-disconnected{color:#fff4f4;letter-spacing:.02em;background:linear-gradient(#ef4444 0%,#991b1b 100%);font-weight:800;box-shadow:0 10px 20px #7f1d1d3d}.connect-button:disabled{cursor:wait;opacity:.7}.connect-demo-button{color:#cfe3ff;cursor:pointer;background:#111e32;border:1px solid #2b4366;border-radius:8px;width:100%;padding:7px 10px;font-size:12px;font-weight:700}.connect-demo-button:hover{background:#182946;border-color:#3e628f}.connect-demo-button:disabled{opacity:.48;cursor:not-allowed}.connect-status{color:var(--text-soft);margin:0;font-size:12px}.connect-actions{flex-direction:column;gap:6px;width:100%;display:flex}.connect-action-button{width:100%;color:var(--text-main);cursor:pointer;background:#111e32;border:1px solid #2b4366;border-radius:8px;padding:7px 10px;font-size:13px}.connect-action-button:hover{background:#182946;border-color:#3e628f}.connect-action-button.delete-all{background:#3b1920;border-color:#8f3e49}.connect-action-button.delete-all:hover{background:#52212a;border-color:#c85a68}.connect-file-input{display:none}.settings-transfer-status{color:#84a3c8;min-height:18px;margin:0;font-size:11px;line-height:1.2}.language-selector{flex-direction:column;gap:6px;padding:2px 0;display:flex}.language-selector label{color:var(--text-soft);font-size:12px}.language-selector select{color:var(--text-main);background:#111e32;border:1px solid #2a3f61;border-radius:8px;padding:7px 9px;font-size:13px}.servo-data-menu-panel{background:#0f1a2e;border:1px solid #243957;border-radius:8px;flex-direction:column;gap:7px;padding:8px;display:flex}.servo-data-menu-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.servo-data-menu-title{align-items:center;gap:7px;min-width:0;display:flex}.servo-data-menu-header h2{color:#d8e6fb;margin:0;font-size:13px;line-height:1.2}.servo-data-menu-header span{color:var(--text-soft);flex:none;font-size:10px;line-height:1}.servo-data-menu-header .servo-data-menu-live{color:#54ff8f}.servo-data-menu-header .servo-data-menu-idle{color:#f6cf76}.servo-data-toggle-button{color:var(--text-soft);cursor:pointer;background:#111e32;border:1px solid #2b4366;border-radius:6px;flex:none;padding:3px 6px;font-size:10px;line-height:1}.servo-data-toggle-button:hover{color:var(--text-main);border-color:#3e628f}.servo-data-grid{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%}.servo-data-grid td{text-align:center;background:#081324;border:1px solid #223855;border-radius:6px;min-width:0;padding:4px 3px}.servo-data-grid td span,.servo-data-grid td strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.servo-data-grid td span{color:#84a3c8;font-size:9px;line-height:1.1}.servo-data-grid td strong{color:#eff6ff;margin-top:2px;font:700 11px/1.1 Cascadia Mono,Consolas,Lucida Console,monospace}.menu-list,.menu-section{flex-direction:column;gap:8px;display:flex}.collapsed-panel-actions{flex-direction:column;gap:8px;width:100%;display:flex}.menu-toggle-button{color:var(--text-soft);cursor:pointer;background:#111e32;border:1px solid #2a3f61;border-radius:999px;padding:4px 9px;font-size:11px;line-height:1.1}.navigation-panel-toggle{align-self:stretch;width:100%;min-height:34px}.connect-button-icon-only{place-items:center;width:100%;min-height:44px;padding:0;display:inline-grid}.connect-button-icon-lamp{width:14px;height:14px;box-shadow:0 0 0 3px #ffffff14}.menu-button{text-align:left;width:100%;color:var(--text-main);cursor:pointer;background:#0f1a2e;border:1px solid #213252;border-radius:10px;padding:10px}.menu-button.active{background:#12322d;border-color:#3aa999;box-shadow:inset 0 0 0 1px #53ffbf2e}.menu-button:disabled{opacity:.45;cursor:not-allowed}.global-ai-root{width:100%;margin-top:0}.global-ai-launcher{color:#cafff7;cursor:pointer;background:linear-gradient(145deg,#14585cf2,#0e2f41fa);border:1px solid #4fd1c580;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;font-size:13px;font-weight:800;display:flex;box-shadow:0 10px 24px #020c1847}.global-ai-launcher:hover,.global-ai-launcher.active{background:linear-gradient(145deg,#16706ffa,#0f3d4efa);border-color:#5eead4}.global-ai-launcher:focus-visible{outline-offset:2px;outline:2px solid #5eead4}.global-ai-launcher.icon-only{min-height:46px;padding:0}.global-ai-launcher svg{color:currentColor;flex:0 0 22px;width:22px;height:22px}.global-ai-launcher svg path:first-child{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linejoin:round}.global-ai-launcher svg path:last-child{fill:currentColor}.global-ai-chat-window{z-index:60;width:min(390px,100vw - 40px);height:min(620px,100vh - 40px);color:var(--text-main);background:#091426;border:1px solid #355372;border-radius:18px;flex-direction:column;animation:.18s ease-out globalAiChatOpen;display:flex;position:fixed;bottom:20px;left:20px;overflow:hidden;box-shadow:0 24px 70px #00000085}html[dir=rtl] .global-ai-chat-window{left:auto;right:20px}.global-ai-chat-window.global-ai-chat-fullscreen,html[dir=rtl] .global-ai-chat-window.global-ai-chat-fullscreen{z-index:1000;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;inset:0}.global-ai-chat-header{background:linear-gradient(135deg,#13454bfa,#0c1d31fa);border-bottom:1px solid #263d5b;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 14px 12px;display:flex}.global-ai-chat-header>div:first-child{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;min-width:0;display:grid}.global-ai-chat-header h2{color:#effffc;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:16px;line-height:1.2;overflow:hidden}.global-ai-chat-header p{color:#a9c9d2;text-overflow:ellipsis;white-space:nowrap;grid-column:2;margin:4px 0 0;font-size:11px;line-height:1.25;overflow:hidden}.global-ai-chat-status{background:#5eead4;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #5eead41f}.global-ai-chat-header-actions{align-items:center;gap:6px;display:flex}.global-ai-chat-header-actions button{color:#cbe2ea;cursor:pointer;background:#0715259e;border:1px solid #b0dae438;border-radius:7px;min-height:28px;padding:4px 8px;font-size:11px;font-weight:700}.global-ai-chat-header-actions button:hover:not(:disabled){color:#effffc;border-color:#5eead4b3}.global-ai-chat-header-actions button.active{color:#effffc;background:#1e6669b8;border-color:#5eead4c7}.global-ai-chat-header-actions button:disabled{opacity:.4;cursor:not-allowed}.global-ai-chat-header-actions .global-ai-chat-size-toggle,.global-ai-chat-header-actions .global-ai-chat-minimize{width:30px;padding:0}.global-ai-chat-header-actions .global-ai-chat-size-toggle{justify-content:center;align-items:center;display:inline-flex}.global-ai-chat-size-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.global-ai-chat-header-actions .global-ai-chat-minimize{font-size:21px;line-height:1}.global-ai-chat-fullscreen .global-ai-chat-header{padding:20px 24px 17px}.global-ai-chat-fullscreen .global-ai-chat-header h2{font-size:22px}.global-ai-chat-fullscreen .global-ai-chat-header p{margin-top:6px;font-size:14px}.global-ai-chat-fullscreen .global-ai-chat-header-actions{gap:9px}.global-ai-chat-fullscreen .global-ai-chat-header-actions button{min-height:36px;padding:6px 12px;font-size:13px}.global-ai-chat-fullscreen .global-ai-chat-header-actions .global-ai-chat-size-toggle,.global-ai-chat-fullscreen .global-ai-chat-header-actions .global-ai-chat-minimize{width:38px;padding:0}.global-ai-chat-fullscreen .global-ai-chat-size-toggle svg{width:20px;height:20px}.global-ai-chat-messages{scrollbar-color:#41617e #091426;scrollbar-width:thin;flex-direction:column;flex:1;gap:11px;min-height:0;padding:14px;display:flex;overflow-y:auto}.global-ai-chat-debug{scrollbar-color:#41617e #091426;scrollbar-width:thin;background:#07111f;flex:1;min-height:0;padding:14px;overflow:auto}.global-ai-chat-debug-heading{background:#0f2035d1;border:1px solid #2b4a68;border-radius:10px;margin-bottom:12px;padding:10px 12px}.global-ai-chat-debug-heading strong{color:#dffff9;font-size:13px;display:block}.global-ai-chat-debug-heading p{color:#96afc9;margin:5px 0 0;font-size:11px;line-height:1.45}.global-ai-chat-debug pre{color:#cde3f3;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;direction:ltr;unicode-bidi:plaintext;background:#0a1728;border:1px solid #203854;border-radius:10px;margin:0;padding:12px;font:11px/1.55 Cascadia Mono,Consolas,Lucida Console,monospace}.global-ai-chat-empty{color:#b7cce5;text-align:center;background:#0f20359e;border:1px dashed #2d4b69;border-radius:13px;margin:auto 0;padding:20px}.global-ai-chat-empty strong{color:#e5f5ff;font-size:14px;display:block}.global-ai-chat-empty p{margin:7px 0 0;font-size:12px;line-height:1.5}.global-ai-chat-message{background:#111f33;border:1px solid #29435f;border-radius:13px 13px 13px 4px;align-self:flex-start;max-width:88%;padding:9px 11px}.global-ai-chat-message.user{background:#123733;border-color:#23a4968c;border-radius:13px 13px 4px;align-self:flex-end}html[dir=rtl] .global-ai-chat-message{border-radius:13px 13px 4px}html[dir=rtl] .global-ai-chat-message.user{border-radius:13px 13px 13px 4px}.global-ai-chat-message>span{color:#78a7c8;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.global-ai-chat-message.user>span{color:#82e7d8}.global-ai-chat-message p{color:#e6efff;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.global-ai-markdown{color:#e6efff;overflow-wrap:anywhere;min-width:0;font-size:13px;line-height:1.55}.global-ai-markdown>:first-child{margin-top:0}.global-ai-markdown>:last-child{margin-bottom:0}.global-ai-markdown p{font-size:inherit;line-height:inherit;white-space:normal;margin:0 0 9px}.global-ai-markdown h1,.global-ai-markdown h2,.global-ai-markdown h3,.global-ai-markdown h4,.global-ai-markdown h5,.global-ai-markdown h6{color:#f3fffd;margin:13px 0 7px;line-height:1.3}.global-ai-markdown h1{font-size:18px}.global-ai-markdown h2{font-size:16px}.global-ai-markdown h3{font-size:15px}.global-ai-markdown h4,.global-ai-markdown h5,.global-ai-markdown h6{font-size:14px}.global-ai-markdown ul,.global-ai-markdown ol{margin:7px 0 10px;padding-inline-start:22px}.global-ai-markdown li+li{margin-top:4px}.global-ai-markdown strong{color:#f5fffd;font-weight:850}.global-ai-markdown em{color:#d5e9f8}.global-ai-markdown a{color:#67e8d6;text-underline-offset:2px;text-decoration:underline}.global-ai-markdown a:hover{color:#b6fff5}.global-ai-markdown code{color:#b9f8ec;background:#071321;border:1px solid #7aa2c440;border-radius:5px;padding:1px 4px;font:600 .92em/1.45 Consolas,Courier New,monospace}.global-ai-markdown pre{text-align:left;direction:ltr;background:#06101d;border:1px solid #294760;border-radius:9px;max-width:100%;margin:9px 0 11px;padding:10px;overflow-x:auto}.global-ai-markdown pre code{color:#d8f7f0;white-space:pre;background:0 0;border:0;border-radius:0;padding:0}.global-ai-markdown blockquote{color:#c8ddeb;background:#163b4a6b;border-inline-start:3px solid #3cc8b8;margin:9px 0;padding:8px 11px}.global-ai-markdown hr{background:#31506b;border:0;height:1px;margin:12px 0}.global-ai-markdown-table{border:1px solid #31506b;border-radius:8px;max-width:100%;margin:9px 0 11px;overflow-x:auto}.global-ai-markdown table{border-collapse:collapse;background:#05121f8c;width:100%;font-size:.94em}.global-ai-markdown th,.global-ai-markdown td{border-inline-end:1px solid #294760;vertical-align:top;border-bottom:1px solid #294760;min-width:84px;padding:7px 8px}.global-ai-markdown th:last-child,.global-ai-markdown td:last-child{border-inline-end:0}.global-ai-markdown tbody tr:last-child td{border-bottom:0}.global-ai-markdown th{color:#eafffb;background:#1d4a579e;font-weight:800}.global-ai-markdown .align-left{text-align:start}.global-ai-markdown .align-center{text-align:center}.global-ai-markdown .align-right{text-align:right}.global-ai-chat-thinking{color:#91aaca;align-self:flex-start;align-items:center;gap:4px;font-size:11px;display:flex}.global-ai-chat-thinking span{background:#5eead4;border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite alternate globalAiThinking}.global-ai-chat-thinking span:nth-child(2){animation-delay:.14s}.global-ai-chat-thinking span:nth-child(3){animation-delay:.28s}.global-ai-chat-thinking em{margin-inline-start:4px;font-style:normal}.global-ai-chat-composer{background:#0c192b;border-top:1px solid #263d5b;gap:7px;padding:11px;display:grid}.global-ai-chat-composer>div{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.global-ai-chat-composer textarea{resize:vertical;color:#eff6ff;background:#071426;border:1px solid #365472;border-radius:10px;outline:none;width:100%;min-height:46px;max-height:120px;padding:9px 10px;font:500 13px/1.4 Segoe UI Variable Text,Segoe UI,sans-serif}.global-ai-chat-composer textarea:focus{border-color:#43cbbb;box-shadow:0 0 0 3px #43cbbb21}.global-ai-chat-composer textarea::placeholder{color:#7189a8}.global-ai-chat-composer button{color:#032521;cursor:pointer;background:linear-gradient(#2dd4bf,#0f766e);border:0;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-width:72px;min-height:46px;padding:8px 10px;font-size:12px;font-weight:900;display:inline-flex}.global-ai-chat-composer button:disabled{opacity:.45;cursor:not-allowed}.global-ai-chat-composer button svg{fill:currentColor;width:16px;height:16px}.global-ai-chat-composer small{color:#7189a8;font-size:10px;line-height:1.3}.global-ai-chat-error{color:#ffc4c4;background:#5b191e7a;border:1px solid #ef444461;border-radius:8px;margin:0;padding:7px 9px;font-size:11px;line-height:1.35}.global-ai-chat-fullscreen .global-ai-chat-messages{gap:16px;padding:24px max(24px,50vw - 590px)}.global-ai-chat-fullscreen .global-ai-chat-empty{padding:30px}.global-ai-chat-fullscreen .global-ai-chat-empty strong{font-size:19px}.global-ai-chat-fullscreen .global-ai-chat-empty p{font-size:16px}.global-ai-chat-fullscreen .global-ai-chat-message{max-width:min(78%,900px);padding:14px 17px}.global-ai-chat-fullscreen .global-ai-chat-message>span{margin-bottom:6px;font-size:12px}.global-ai-chat-fullscreen .global-ai-chat-message p{font-size:17px;line-height:1.6}.global-ai-chat-fullscreen .global-ai-markdown{font-size:17px}.global-ai-chat-fullscreen .global-ai-markdown h1{font-size:27px}.global-ai-chat-fullscreen .global-ai-markdown h2{font-size:23px}.global-ai-chat-fullscreen .global-ai-markdown h3{font-size:20px}.global-ai-chat-fullscreen .global-ai-markdown h4,.global-ai-chat-fullscreen .global-ai-markdown h5,.global-ai-chat-fullscreen .global-ai-markdown h6{font-size:18px}.global-ai-chat-fullscreen .global-ai-markdown pre{padding:15px}.global-ai-chat-fullscreen .global-ai-chat-thinking{font-size:14px}.global-ai-chat-fullscreen .global-ai-chat-composer{gap:10px;padding:18px max(24px,50vw - 590px)}.global-ai-chat-fullscreen .global-ai-chat-composer>div{gap:12px}.global-ai-chat-fullscreen .global-ai-chat-composer textarea{min-height:64px;max-height:220px;padding:12px 14px;font-size:16px}.global-ai-chat-fullscreen .global-ai-chat-composer button{min-width:96px;min-height:64px;font-size:14px}.global-ai-chat-fullscreen .global-ai-chat-composer small,.global-ai-chat-fullscreen .global-ai-chat-error{font-size:12px}@keyframes globalAiChatOpen{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes globalAiThinking{0%{opacity:.28;transform:translateY(1px)}to{opacity:1;transform:translateY(-2px)}}html[dir=rtl] .side-panel{border-left:0;border-right:1px solid var(--line-soft)}html[dir=rtl] .menu-button{text-align:right}html[dir=rtl] .quick-button.clear,html[dir=rtl] .workflow-meta{margin-left:0;margin-right:auto}html[dir=rtl] .rc-device-meta,html[dir=rtl] .rc-button-value-percent{text-align:left}.sliders-view{flex-direction:column;gap:14px;height:calc(100vh - 40px);animation:.35s ease-out slideIn;display:flex}.sliders-header h1{margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:36px;line-height:1}.sliders-header p{color:var(--text-soft);margin:8px 0 0;font-size:14px}.speed-settings-card{background:#101c2f;border:1px solid #2a3f61;border-radius:12px;flex-direction:column;padding:12px;display:flex}.speed-control{background:#0d1728;border:1px solid #2a3f61;border-radius:10px;padding:8px}.control-slider{flex-direction:column;gap:8px;display:flex}.control-slider-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.control-slider-label{color:#a8bfdf;font-size:12px}.control-slider-value{color:#eff6ff;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:12px}.control-slider-track-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.control-slider-bound{color:#7f99bd;min-width:44px;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:11px}.control-slider-input{accent-color:#16c8b5;width:100%}.sliders-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.sliders-run-controls{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.sliders-run-button{color:#042120;background:linear-gradient(#22d3c2 0%,#0f766e 100%);border-color:#2aa596;min-width:104px;font-weight:800}.sliders-run-button:hover:not(:disabled){filter:brightness(1.06)}.sliders-run-button:disabled{cursor:wait;opacity:.62}.sliders-run-message{color:#84d7b0;max-width:360px;font-size:12px;line-height:1.35}.sliders-run-message.error{color:#ffb4b4}.toolbar-field{color:var(--text-soft);flex-direction:column;gap:6px;font-size:13px;display:flex}.toolbar-field select{color:var(--text-main);background:#111e32;border:1px solid #2a3f61;border-radius:8px;min-width:112px;padding:8px 10px}.toolbar-actions{gap:8px;display:flex}.storage-message{color:#84a3c8;min-height:19px;margin:0;font-size:12px}.sliders-card{background:linear-gradient(#111e32fa 0%,#0b1423f5 100%);border:1px solid #20314d;border-radius:14px;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto;box-shadow:0 18px 45px #00000052}.slider-row{background:#111e32;border:1px solid #2a3f61;border-radius:11px;grid-template-columns:minmax(0,1fr) 92px 92px;align-items:center;gap:12px;padding:10px;display:grid}.motor-control{min-width:0;padding:2px 0}.bound-input{width:100%;color:var(--text-main);background:#0f1c30;border:1px solid #2b4366;border-radius:8px;padding:7px 8px;font-size:13px}.rc-view{flex-direction:column;gap:14px;height:calc(100vh - 40px);animation:.35s ease-out slideIn;display:flex}.rc-header h1{margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:36px;line-height:1}.rc-header p{color:var(--text-soft);margin:8px 0 0;font-size:14px}.rc-panel{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.rc-status-strip{background:#101c2f;border:1px solid #20314d;border-radius:8px;grid-template-columns:auto minmax(0,1fr) minmax(180px,auto);align-items:center;gap:12px;padding:12px;display:grid}.rc-status-strip.connected{background:#0f2726;border-color:#256f67}.rc-status-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.rc-status-copy strong{color:#f1f6ff;font-size:14px}.rc-status-copy span,.rc-device-meta span{color:#9eb2d2;font-size:12px}.rc-device-meta{text-align:right;flex-direction:column;gap:3px;min-width:0;display:flex}.rc-device-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rc-layout{flex:1;grid-template-columns:minmax(0,1fr) 300px;gap:12px;min-height:0;display:grid}.rc-controller-surface,.rc-input-panel{background:linear-gradient(#111e32fa 0%,#0b1423f5 100%);border:1px solid #20314d;border-radius:8px;min-height:0;box-shadow:0 18px 45px #00000052}.rc-controller-surface{place-items:center;padding:20px;display:grid;overflow:auto}.rc-gamepad{background:radial-gradient(at 50% 22%,#2c405bcc 0%,#2c405b00 36%),linear-gradient(#172235 0%,#0c1729 100%);border:1px solid #314866;border-radius:112px 112px 172px 172px/86px 86px 176px 176px;width:min(100%,840px);min-width:640px;min-height:460px;position:relative;box-shadow:inset 0 18px 32px #ffffff0a,inset 0 -22px 34px #0000003d,0 24px 60px #00000057}.rc-gamepad.connected{border-color:#26877b;box-shadow:inset 0 18px 32px #ffffff0d,inset 0 -22px 34px #0000003d,0 0 0 1px #14b8a629,0 24px 60px #00000057}.rc-shoulder-group{flex-direction:column;gap:8px;width:154px;display:flex;position:absolute;top:22px}.rc-shoulder-left{left:70px}.rc-shoulder-right{right:70px}.rc-trigger,.rc-bumper,.rc-dpad-button,.rc-face-button,.rc-system-button,.rc-xbox-button,.rc-share-button{color:#e9f2ff;background:#111e32;border:1px solid #344c6d;place-items:center;transition:transform 80ms,border-color .12s,background-color .12s,color .12s,box-shadow .12s;display:inline-grid;position:relative;overflow:hidden}.rc-trigger.active,.rc-bumper.active,.rc-dpad-button.active,.rc-face-button.active,.rc-system-button.active,.rc-xbox-button.active,.rc-share-button.active,.rc-stick.active{color:#f4fffb;background:#123a35;border-color:#38d9c7;transform:translateY(1px);box-shadow:0 0 0 2px #14b8a633}.rc-button-label{z-index:1;font-size:12px;font-weight:800;position:relative}.rc-button-fill{transform:scaleX(var(--button-value));transform-origin:0;background:linear-gradient(90deg,#14b8a6b8,#54ff8fb8);position:absolute;inset:0}.rc-trigger{border-radius:8px;height:42px}.rc-bumper{border-radius:8px;height:34px}.rc-stick{background:#0b1321;border:1px solid #314866;border-radius:50%;width:112px;height:112px;position:absolute;box-shadow:inset 0 10px 22px #00000075,0 10px 24px #00000047}.rc-left-stick{top:146px;left:146px}.rc-right-stick{top:262px;right:210px}.rc-stick-ring{border:1px solid #2c4262;border-radius:50%;position:absolute;inset:15px}.rc-stick-knob{width:50px;height:50px;transform:translate(calc(-50% + var(--stick-x)), calc(-50% + var(--stick-y)));background:linear-gradient(#2a3d5c 0%,#111c2f 100%);border:1px solid #415c82;border-radius:50%;transition:transform 45ms linear;position:absolute;top:50%;left:50%}.rc-stick-label{color:#9eb2d2;font-size:12px;font-weight:700;position:absolute;bottom:-24px;left:50%;transform:translate(-50%)}.rc-dpad{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:5px;width:142px;height:142px;display:grid;position:absolute;top:280px;left:116px}.rc-dpad-button{border-radius:8px;min-width:0}.rc-dpad-button .rc-button-label{font-size:10px}.rc-dpad-center{background:#0b1321;border:1px solid #2a3f61;border-radius:8px}.rc-face-buttons{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:8px;width:174px;height:174px;display:grid;position:absolute;top:166px;right:100px}.rc-face-button{border-radius:50%}.rc-face-button.a{color:#9fffc0;border-color:#2fbf71}.rc-face-button.b{color:#fecdd3;border-color:#d9535f}.rc-face-button.x{color:#bfdbfe;border-color:#3d7bd6}.rc-face-button.y{color:#fef3c7;border-color:#d7b547}.rc-face-button.a.active{background:#17643c}.rc-face-button.b.active{background:#7f1d1d}.rc-face-button.x.active{background:#1e3a8a}.rc-face-button.y.active{background:#6b540b}.rc-face-center{background:#0b1321;border:1px solid #2a3f61;border-radius:50%}.rc-system-buttons{grid-template-columns:repeat(3,1fr);align-items:center;gap:9px;width:178px;display:grid;position:absolute;top:170px;left:50%;transform:translate(-50%)}.rc-system-button,.rc-share-button{border-radius:8px;height:34px}.rc-system-button .rc-button-label,.rc-share-button .rc-button-label{font-size:10px}.rc-xbox-button{color:#54ff8f;border-color:#26877b;border-radius:50%;height:54px}.rc-share-button{grid-column:2}.rc-input-panel{flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.rc-input-section h2{color:#d8e6fb;margin:0;font-size:20px}.rc-input-section p{color:#9eb2d2;margin:6px 0 0;font-size:13px;line-height:1.35}.rc-axis-grid{grid-template-columns:1fr;gap:8px;display:grid}.rc-axis-card{color:#d8e6fb;background:#0f1c30;border:1px solid #2a3f61;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:12px;display:grid}.rc-axis-card strong{color:#f1f6ff;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:13px}.rc-button-values{flex-direction:column;gap:7px;display:flex}.rc-button-value-row{color:#9eb2d2;grid-template-columns:50px minmax(0,1fr) 42px;align-items:center;gap:8px;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:11px;display:grid}.rc-button-value-row.active{color:#d6ffe8}.rc-button-value-track{background:#0b1321;border:1px solid #2a3f61;border-radius:999px;height:8px;overflow:hidden}.rc-button-value-fill{width:100%;height:100%;transform:scaleX(var(--button-value));transform-origin:0;background:linear-gradient(90deg,#14b8a6 0%,#54ff8f 100%);display:block}.rc-button-value-percent{text-align:right}.tof-view{flex-direction:column;gap:14px;height:calc(100vh - 40px);animation:.35s ease-out slideIn;display:flex}.tof-header h1{margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:36px;line-height:1}.tof-header p{color:var(--text-soft);max-width:920px;margin:8px 0 0;font-size:14px}.tof-status-strip{background:linear-gradient(#111e32fa 0%,#0b1423f5 100%);border:1px solid #20314d;border-radius:14px;padding:14px;box-shadow:0 18px 45px #00000052}.tof-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.tof-stat-card{background:#101c2f;border:1px solid #2a3f61;border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.tof-stat-label{color:#9eb2d2;font-size:12px}.tof-stat-value{color:#f1f6ff;overflow-wrap:anywhere;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:14px}.tof-stat-enabled{color:#82ffd4}.tof-stat-disabled{color:#f6cf76}.tof-controls{flex-direction:column;gap:12px;display:flex}.tof-command-settings{flex-direction:column;gap:6px;min-width:0;display:flex}.tof-settings-panel{min-width:0}.tof-settings-body{flex:1;min-height:0;padding:12px;overflow-y:auto}.tof-settings-actions{flex-direction:column;gap:8px;display:flex}.tof-grid-size-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tof-range-form{flex-direction:column;gap:8px;display:flex}.tof-select-field{flex-direction:column;gap:6px;min-width:180px;display:flex}.tof-select-field span{color:#9eb2d2;font-size:12px}.tof-select-input{color:var(--text-main);background:#111e32;border:1px solid #2a3f61;border-radius:10px;padding:10px 12px;font-size:13px}.tof-action-button{cursor:pointer;border-radius:10px;width:100%;min-width:0;padding:10px 14px;font-size:13px;font-weight:700;transition:transform .12s,filter .12s,border-color .12s,background-color .12s}.tof-action-button:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.tof-action-button:disabled{cursor:not-allowed;opacity:.55}.tof-action-config{color:var(--text-main);background:#111e32;border:1px solid #2b4366}.tof-action-enable{color:#042120;background:linear-gradient(#22d3c2 0%,#0f766e 100%);border:1px solid #2aa596}.tof-action-disable{color:#ffe7ec;background:linear-gradient(#3a1c24 0%,#251118 100%);border:1px solid #6a3644}.tof-control-message{color:#84a3c8;min-height:16px;margin:0;font-size:12px;line-height:1.25}.tof-control-message-error{color:#ffb4b4}.tof-layout{flex:1;grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:12px;min-height:0;display:grid}.tof-panel{background:linear-gradient(#111e32fa 0%,#0b1423f5 100%);border:1px solid #20314d;border-radius:14px;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 45px #00000052}.tof-panel-header{border-bottom:1px solid var(--line);background:#0f1a2e;padding:12px 14px}.tof-panel-header h2{color:#d8e6fb;margin:0;font-size:20px}.tof-panel-header p{color:#a9bfdc;margin:6px 0 0;font-size:13px;line-height:1.35}.tof-grid-scroll{flex:1;min-height:0;padding:10px;overflow:auto}.tof-grid-table{border-collapse:separate;border-spacing:6px;table-layout:fixed;width:100%}.tof-grid-index{color:#94acd0;text-align:center;min-width:0;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:12px;font-weight:700}.tof-grid-cell{text-align:center;border:1px solid #0000;border-radius:10px;min-width:0;height:46px;padding:0;font:700 12px/1 Cascadia Mono,Consolas,Lucida Console,monospace;box-shadow:inset 0 1px #ffffff14,0 8px 18px #00000029}.tof-grid-cell.invalid{box-shadow:inset 0 1px #ffffff0a,0 8px 18px #0000001f}.tof-chart-panel{min-width:0}.tof-chart-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex}.tof-chart-surface{background:radial-gradient(circle at 50% 20%,#25406773,#0000 42%),linear-gradient(#0d1728 0%,#091220 100%);border:1px solid #2a3f61;border-radius:12px;flex:1;place-items:center;min-height:0;padding:12px;display:grid;overflow:auto}.tof-chart-svg{width:min(100%,760px);min-width:520px;height:auto}.tof-bar-top-label{paint-order:stroke fill;pointer-events:none;-webkit-user-select:none;user-select:none;font:700 15px/1 Cascadia Mono,Consolas,Lucida Console,monospace}.tof-chart-empty-text{fill:#9eb2d2;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:18px}.tof-chart-note{color:#9eb2d2;margin:0;font-size:12px;line-height:1.4}.pid-view{flex-direction:column;gap:14px;height:calc(100vh - 40px);animation:.35s ease-out slideIn;display:flex}.pid-header h1{margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:36px;line-height:1}.pid-header p{color:var(--text-soft);margin:8px 0 0;font-size:14px}.pid-controls-panel{background:linear-gradient(#111e32fa 0%,#0b1423f5 100%);border:1px solid #20314d;border-radius:14px;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto;box-shadow:0 18px 45px #00000052}.pid-enable-toggle{color:var(--text-main);align-items:center;gap:8px;font-size:13px;display:inline-flex}.pid-slider{background:#111e32;border:1px solid #2a3f61;border-radius:11px;padding:10px}.document-tabs{background:#0b1424;border:1px solid #20314d;border-radius:10px;align-items:stretch;min-width:0;min-height:38px;display:flex;overflow:hidden;box-shadow:0 10px 24px #0003}.document-tabs-scroll{scrollbar-width:thin;flex:1;align-items:stretch;min-width:0;display:flex;overflow-x:auto}.document-tab{color:#9eb2d2;background:#0f1a2e;border-inline-end:1px solid #20314d;align-items:center;min-width:130px;max-width:240px;display:flex}.document-tab.active{color:#d6ffe8;background:#14233a;box-shadow:inset 0 2px #54ff8f}.document-tab.running{color:#dcffe8;background:#113522;animation:1.05s ease-in-out infinite codeRunningTabPulse}@keyframes codeRunningTabPulse{0%,to{background:#113522;box-shadow:inset 0 2px #54ff8f,0 0 #54ff8f00}50%{background:#1a5b34;box-shadow:inset 0 2px #9affbb,0 0 14px #54ff8f80}}.document-tab-select,.document-tab-delete,.document-tab-add{color:inherit;font:inherit;background:0 0;border:0}.document-tab-select{text-align:start;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:1;align-self:stretch;min-width:0;padding:0 8px 0 12px;overflow:hidden}.document-tab-delete,.document-tab-add{cursor:pointer;flex:0 0 34px;width:34px;font-size:18px}.document-tab-delete{color:#8295b3}.document-tab-delete:disabled{visibility:hidden}.document-tab-select:disabled,.document-tab-add:disabled{cursor:not-allowed;opacity:.58}.document-tab-add{color:#54ff8f;background:#0f1a2e;border-inline-start:1px solid #20314d}.document-tab-select:hover,.document-tab-delete:hover:not(:disabled),.document-tab-add:hover{color:#d6ffe8;background:#54ff8f14}.document-tab-select:focus-visible,.document-tab-delete:focus-visible,.document-tab-add:focus-visible,.document-tab-name-input:focus{outline-offset:-2px;outline:2px solid #54ff8f}.document-tab-name-input{color:#e8fff0;background:#081120;border:1px solid #54ff8f;border-radius:4px;width:100%;min-width:80px;margin:5px 4px 5px 7px;padding:3px 6px;font:13px/1.2 Cascadia Mono,Consolas,Lucida Console,monospace}.workflow-view{flex-direction:column;gap:14px;height:calc(100vh - 40px);animation:.35s ease-out slideIn;display:flex}.timeline-view{flex-direction:column;gap:16px;min-height:calc(100vh - 40px);animation:.35s ease-out slideIn;display:flex}.timeline-view-header h1{margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:36px;line-height:1}.timeline-view-header p{color:var(--text-soft);max-width:880px;margin:8px 0 0;font-size:14px}.timeline-ltr-workspace{--timeline-jump:#ffae57;--timeline-smooth:#63d8ff;--timeline-selected:#84ffb0;text-align:left;direction:ltr;unicode-bidi:isolate;background:radial-gradient(circle at 15% 0,#2e7ea821,#0000 34%),#091321;border:1px solid #20314d;border-radius:16px;min-width:0;overflow:hidden;box-shadow:0 18px 45px #00000052}.timeline-toolbar{background:#08121feb;border-bottom:1px solid #20314d;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:10px 12px;display:flex}.timeline-toolbar-actions,.timeline-summary,.timeline-bulk-motion>div,.timeline-motion-legend{align-items:center;gap:8px;display:flex}.timeline-toolbar-actions,.timeline-playback-status{flex-wrap:wrap}.timeline-toolbar button,.timeline-keyframe-strip button,.timeline-bulk-motion button,.timeline-motion-toggle button,.timeline-delete-keyframe{color:#effaff;font:inherit;cursor:pointer;background:#123250;border:1px solid #2e5376;border-radius:8px;transition:border-color .16s,background .16s,transform .16s}.timeline-toolbar button{min-height:36px;padding:7px 13px;font-weight:750}.timeline-toolbar button:hover,.timeline-keyframe-strip button:hover,.timeline-bulk-motion button:hover,.timeline-motion-toggle button:hover,.timeline-delete-keyframe:hover:not(:disabled){background:#174468;border-color:#62caff}.timeline-toolbar button:active,.timeline-keyframe-strip button:active,.timeline-bulk-motion button:active,.timeline-motion-toggle button:active,.timeline-delete-keyframe:active:not(:disabled){transform:translateY(1px)}.timeline-toolbar .timeline-secondary-button{color:#b8c9dc;background:#101d2f}.timeline-toolbar .timeline-play-button{color:#dcffea;background:#16543f;border-color:#348866}.timeline-toolbar .timeline-stop-button{color:#ffc5cd;background:#351d27;border-color:#7a444c}.timeline-repeat-controls,.timeline-repeat-toggle,.timeline-repeat-time{align-items:center;display:inline-flex}.timeline-repeat-controls{color:#c7d8e9;background:#0d1b2c;border:1px solid #2b4865;border-radius:8px;gap:8px;min-height:36px;padding:5px 9px;font-size:11px;font-weight:750}.timeline-repeat-toggle,.timeline-repeat-time{gap:6px}.timeline-repeat-toggle{cursor:pointer}.timeline-repeat-toggle input{accent-color:#59d69a;width:15px;height:15px;margin:0}.timeline-repeat-time input{color:#eef9ff;width:72px;min-height:26px;font:inherit;text-align:center;background:#071321;border:1px solid #376486;border-radius:6px;padding:3px 6px}.timeline-repeat-time input:focus{border-color:#62caff;outline:2px solid #62caff2e}:is(.timeline-repeat-toggle:has(input:disabled),.timeline-repeat-time:has(input:disabled)){opacity:.5;cursor:not-allowed}.timeline-toolbar button:disabled,.timeline-add-guide:disabled,.timeline-guide-list button:disabled,.timeline-motor-labels button:disabled{opacity:.42;cursor:not-allowed;transform:none}.timeline-output-status{color:#8198ae;background:#0d1b2c;border:1px solid #29435e;border-radius:8px;align-items:center;min-height:36px;padding:5px 10px;font-size:10px;font-weight:800;display:inline-flex}.timeline-output-status.connected{color:#a9f3c4;background:#123529;border-color:#4a9f7b}.timeline-summary{color:#9eb2c8;flex-wrap:wrap;justify-content:flex-end;font-size:12px;font-weight:700}.timeline-summary span{background:#0d1a2b;border:1px solid #263b55;border-radius:999px;padding:5px 9px}.timeline-playback-status{color:#7f96ac;background:#091523;border-bottom:1px solid #20314d;align-items:center;gap:9px;min-height:36px;padding:7px 12px;font-size:10px;display:flex}.timeline-playback-lamp{background:#5c7185;border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 3px #5c71851f}.timeline-playback-status>strong{color:#c8d9e9;font-size:11px}.timeline-playback-time{color:#a9f3c4;font:750 11px/1 Cascadia Mono,Consolas,monospace}.timeline-playback-last-event{color:#8fc8e4}.timeline-playback-error{color:#ffadb8;margin-left:auto}.timeline-playback-status.status-playing .timeline-playback-lamp,.timeline-playback-status.status-finishing .timeline-playback-lamp{background:#58e08a;box-shadow:0 0 0 3px #58e08a24,0 0 12px #58e08a80}.timeline-playback-status.status-stopping .timeline-playback-lamp{background:#ffca67}.timeline-playback-status.status-completed .timeline-playback-lamp{background:#63d8ff}.timeline-playback-status.status-error .timeline-playback-lamp{background:#ff6f7d}.timeline-playback-active .timeline-editor-time-area-interact,.timeline-playback-active .timeline-editor-cursor-area,.timeline-playback-active .timeline-editor-action{pointer-events:none}.timeline-keyframe-strip{scrollbar-width:thin;border-bottom:1px solid #20314d;gap:7px;min-width:0;padding:9px 12px;display:flex;overflow-x:auto}.timeline-keyframe-strip button{color:#aebfd1;background:#0d1d30;flex:none;grid-template-columns:auto auto;align-items:baseline;gap:7px;padding:6px 9px;font-size:11px;display:grid}.timeline-keyframe-strip button.active{border-color:var(--timeline-selected);color:#eafff0;background:#173b31;box-shadow:0 0 0 1px #84ffb024}.timeline-keyframe-strip button span{color:#7294b1;font-family:Cascadia Mono,Consolas,monospace}.timeline-keyframe-strip button.active span{color:#aef4c6}.timeline-editor-layout{grid-template-columns:minmax(0,1fr) minmax(390px,450px);min-width:0;display:grid}.timeline-editor-card{border-right:1px solid #20314d;min-width:0;padding:14px}.timeline-editor-with-labels{grid-template-columns:92px minmax(0,1fr);min-width:0;display:grid}.timeline-motor-labels{background:#0b1727;border:1px solid #263b55;border-right:0;border-radius:12px 0 0 12px;overflow:hidden}.timeline-motor-labels>div{color:#b8cce0;border-bottom:1px solid #49678757;align-items:center;height:42px;padding:0 11px;font-size:12px;font-weight:750;display:flex}.timeline-motor-labels>div:last-child{border-bottom:0}.timeline-motor-labels .timeline-motor-label-spacer{color:#718ba5;letter-spacing:.09em;text-transform:uppercase;height:32px;font-size:10px}.timeline-ltr-frame{text-align:left;direction:ltr;unicode-bidi:isolate;background:#0b1423;border:1px solid #263b55;border-radius:0 12px 12px 0;min-width:0;overflow:hidden}.timeline-ltr-frame .timeline-editor{direction:ltr;background:#0a1524;font-family:Cascadia Mono,Consolas,Lucida Console,monospace}.timeline-ltr-frame .timeline-editor-time-area{background:#0e1d2e;border-bottom:1px solid #263b55}.timeline-ltr-frame .timeline-editor-time-unit-scale{color:#87a1ba}.timeline-ltr-frame .timeline-editor-edit-row{background-image:linear-gradient(#0d1c2ef5,#0d1c2ef5),linear-gradient(90deg,#85a8c71f 1px,#0000 0);border-bottom:1px solid #49678757}.timeline-ltr-frame .timeline-editor-edit-row:nth-child(2n){background-image:linear-gradient(#0b1828f5,#0b1828f5),linear-gradient(90deg,#85a8c71f 1px,#0000 0)}.timeline-ltr-frame .timeline-editor-action{z-index:3;cursor:ew-resize;background:0 0;overflow:visible}.timeline-ltr-frame .timeline-editor-action:not(.timeline-editor-action-movable){cursor:pointer}.timeline-keyframe-marker{width:18px;color:var(--timeline-smooth);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-keyframe-marker:before{content:"";opacity:.72;border-left:2px solid;position:absolute;top:0;bottom:0;left:50%}.timeline-keyframe-marker>span{z-index:1;background:currentColor;border:2px solid #07111f;border-radius:50%;width:10px;height:10px;position:relative;box-shadow:0 0 0 1px,0 0 10px #63d8ff6b}.timeline-keyframe-marker-jump{color:var(--timeline-jump)}.timeline-keyframe-marker-jump:before{border-left-style:dashed}.timeline-keyframe-marker-jump>span{border-radius:2px;transform:rotate(45deg);box-shadow:0 0 0 1px,0 0 10px #ffae5761}.timeline-ltr-frame .timeline-editor-action-selected .timeline-keyframe-marker{color:var(--timeline-selected)}.timeline-ltr-frame .timeline-editor-action-selected .timeline-keyframe-marker:before{opacity:1;border-left-width:3px}.timeline-ltr-frame .timeline-editor-action-selected .timeline-keyframe-marker>span{width:13px;height:13px;box-shadow:0 0 0 2px #84ffb03d,0 0 15px #84ffb0a8}.timeline-editor-help{justify-content:space-between;align-items:center;gap:14px;padding:10px 3px 0;display:flex}.timeline-editor-help p{color:#8198af;margin:0;font-size:11px;line-height:1.45}.timeline-motion-legend{color:#aabbd0;flex:none;font-size:10px}.timeline-motion-legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.timeline-motion-legend span:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.timeline-motion-legend .jump{color:var(--timeline-jump)}.timeline-motion-legend .jump:before{border-radius:1px;transform:rotate(45deg)}.timeline-motion-legend .smooth{color:var(--timeline-smooth)}.timeline-inspector{background:#0a1625e6;min-width:0;padding:15px}.timeline-inspector>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.timeline-inspector>header span,.timeline-delay-field>span,.timeline-bulk-motion>span{color:#7890aa;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.timeline-inspector>header h2{color:#f0f7ff;margin:3px 0 0;font-size:22px}.timeline-inspector>header>strong{color:var(--timeline-selected);background:#0c1a2b;border:1px solid #315576;border-radius:8px;padding:6px 9px;font:750 13px/1 Cascadia Mono,Consolas,monospace}.timeline-delay-field{background:#0d1b2d;border:1px solid #263e59;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;padding:10px;display:grid}.timeline-delay-field>div{align-items:center;gap:6px;display:flex}.timeline-delay-field input,.timeline-servo-editor-row>input{color:#f0f7ff;background:#071321;border:1px solid #345574;border-radius:7px;outline:none;min-width:0;font:700 12px/1.2 Cascadia Mono,Consolas,monospace}.timeline-delay-field input{width:82px;padding:7px 8px}.timeline-delay-field input:focus,.timeline-servo-editor-row>input:focus{border-color:#63d8ff;box-shadow:0 0 0 2px #63d8ff21}.timeline-delay-field input:disabled{color:#63768a;cursor:not-allowed}.timeline-delay-field>div>span{color:#7f97af;font-size:11px}.timeline-delay-field small{color:#72879c;grid-column:1/-1;font-size:10px;line-height:1.4}.timeline-bulk-motion{justify-content:space-between;align-items:center;gap:10px;margin:12px 0 9px;display:flex}.timeline-bulk-motion button{color:#b8cbe0;background:#101f32;padding:5px 8px;font-size:10px}.timeline-bulk-motion button:disabled,.timeline-delete-keyframe:disabled{opacity:.42;cursor:not-allowed}.timeline-servo-editor-heading,.timeline-servo-editor-row{grid-template-columns:68px 90px minmax(158px,1fr);align-items:center;gap:7px;display:grid}.timeline-servo-editor-heading{color:#6f879f;letter-spacing:.06em;text-transform:uppercase;padding:0 7px 5px;font-size:9px;font-weight:800}.timeline-servo-editors{gap:5px;display:grid}.timeline-servo-editor-row{background:#0d1a2a;border:1px solid #203650;border-radius:8px;min-height:38px;padding:5px 7px}.timeline-servo-editor-row>strong{color:#bdcede;font-size:11px}.timeline-servo-editor-row>input{width:100%;padding:6px 7px}.timeline-motion-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.timeline-motion-toggle button{color:#7f94a9;background:#101e30;min-width:0;padding:5px 4px;font-size:10px}.timeline-motion-toggle button.jump.active{border-color:var(--timeline-jump);color:#ffd3a4;background:#ffae5724}.timeline-motion-toggle button.smooth.active{border-color:var(--timeline-smooth);color:#b9edff;background:#63d8ff24}.timeline-initial-motion{color:#758ba1;text-align:center;border:1px dashed #34506c;border-radius:7px;grid-column:1/-1;padding:6px;font-size:10px}.timeline-delete-keyframe{color:#ffc5cc;background:#301b25;border-color:#70444a;width:100%;margin-top:12px;padding:8px 10px;font-size:11px;font-weight:750}.timeline-axis-controls{background:#0b1828;border-bottom:1px solid #20314d;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:50px;padding:8px 12px;display:grid}.timeline-add-guide,.timeline-guide-list button,.timeline-motor-labels button,.timeline-object-menu button,.timeline-object-dialog button{color:#e7f6ff;font:inherit;cursor:pointer;background:#102b45;border:1px solid #315777;border-radius:8px}.timeline-add-guide{align-items:center;gap:8px;min-height:34px;padding:5px 10px 5px 6px;font-size:11px;font-weight:750;display:inline-flex}.timeline-add-guide strong{color:#fff;background:#2a6c90;border-radius:6px;justify-content:center;align-items:center;width:23px;height:23px;font-size:18px;line-height:1;display:inline-flex}.timeline-guide-list{scrollbar-width:thin;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.timeline-guide-list>span{color:#71879e;font-size:10px}.timeline-guide-list button{color:#94abc1;background:#101f31;flex:none;align-items:center;gap:6px;padding:5px 8px;font-size:10px;display:inline-flex}.timeline-guide-list button strong{color:#d69cff;font-family:Cascadia Mono,Consolas,monospace}.timeline-editor-layout{grid-template-columns:minmax(0,1fr)}.timeline-editor-card{border-right:0}.timeline-editor-with-labels{grid-template-columns:122px minmax(0,1fr)}.timeline-motor-labels>div:not(.timeline-motor-label-spacer){justify-content:space-between;gap:5px}.timeline-motor-labels>div>span{min-width:0}.timeline-motor-labels button{color:#bfeeff;background:#123854;border-color:#2e607c;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:18px;line-height:1;display:inline-flex}.timeline-motor-labels button:hover,.timeline-add-guide:hover,.timeline-guide-list button:hover,.timeline-object-menu button:hover,.timeline-object-dialog button:hover{background:#174664;border-color:#63d8ff}.timeline-ltr-frame .timeline-editor-action,.timeline-ltr-frame .timeline-editor-action:not(.timeline-editor-action-movable){cursor:pointer}.timeline-ltr-frame .timeline-editor-action-effect-timeGuide{z-index:2}.timeline-guide-marker{color:#d69cff;justify-content:center;display:flex;position:absolute;inset:0}.timeline-guide-marker:before{content:"";opacity:.78;border-left:2px dashed;position:absolute;top:0;bottom:0;left:50%}.timeline-guide-marker>span{z-index:1;background:currentColor;border:1px solid #08121f;border-radius:50%;width:7px;height:7px;margin-top:4px;position:relative;box-shadow:0 0 8px #d69cff80}.timeline-command-object{min-width:66px;color:var(--timeline-jump);white-space:nowrap;background:linear-gradient(90deg,#ffae5738,#5b3414e0);border:1px solid;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 7px;display:flex;position:absolute;inset:5px 0;box-shadow:0 3px 10px #00000047}.timeline-command-object:after{content:"";background:currentColor;border-radius:3px;width:3px;position:absolute;top:3px;bottom:3px;right:-2px}.timeline-command-object.timed{min-width:46px;color:var(--timeline-smooth);background:linear-gradient(90deg,#63d8ff14,#237294a8),repeating-linear-gradient(90deg,#0000 0 11px,#ffffff12 11px 12px)}.timeline-command-object strong{color:#f5fbff;font:750 11px/1 Cascadia Mono,Consolas,monospace}.timeline-command-object small{color:currentColor;letter-spacing:.05em;font-size:8px;font-weight:850}.timeline-ltr-frame .timeline-editor-action-selected .timeline-command-object,.timeline-ltr-frame .timeline-editor-action-selected .timeline-guide-marker{color:var(--timeline-selected);filter:drop-shadow(0 0 5px #84ffb08c)}.timeline-motion-legend .direct{color:var(--timeline-jump)}.timeline-motion-legend .timed{color:var(--timeline-smooth)}.timeline-motion-legend .guide{color:#d69cff}.timeline-motion-legend .direct:before{border-radius:2px;transform:rotate(45deg)}.timeline-motion-legend .guide:before{border-radius:0;width:2px;height:11px}.timeline-object-menu{z-index:2000;background:#0b1727;border:1px solid #365777;border-radius:11px;gap:6px;width:206px;padding:9px;display:grid;position:fixed;box-shadow:0 16px 38px #00000085}.timeline-object-menu>strong{color:#dcecff;padding:2px 3px 5px;font-size:11px}.timeline-object-menu button{text-align:left;width:100%;padding:7px 9px;font-size:11px}.timeline-object-menu button.danger{color:#ffc5ce;background:#321c26;border-color:#75434d}.timeline-dialog-backdrop{z-index:2100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#02080fbd;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.timeline-object-dialog{color:#eaf5ff;direction:ltr;background:#0b1727;border:1px solid #365777;border-radius:15px;width:min(480px,100%);max-height:calc(100vh - 36px);overflow-y:auto;box-shadow:0 28px 70px #0000009e}.timeline-object-dialog>header{border-bottom:1px solid #263d57;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 16px 12px;display:flex}.timeline-object-dialog>header span{color:#7f96ad;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:850}.timeline-object-dialog>header h2{margin:4px 0 0;font-size:21px}.timeline-object-dialog>header button{color:#9eb1c5;background:#101f31;width:30px;height:30px;padding:0;font-size:21px}.timeline-dialog-fields{gap:12px;padding:15px 16px;display:grid}.timeline-dialog-fields>label{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;display:grid}.timeline-dialog-fields>label>span,.timeline-dialog-fields legend{color:#a9bed2;font-size:11px;font-weight:750}.timeline-dialog-fields>label>strong{color:var(--timeline-selected);font-size:12px}.timeline-dialog-fields label>div{align-items:center;gap:6px;display:flex}.timeline-dialog-fields input{color:#f0f7ff;background:#071321;border:1px solid #345574;border-radius:8px;outline:none;width:118px;min-width:0;padding:8px 9px;font:700 12px/1.2 Cascadia Mono,Consolas,monospace}.timeline-dialog-fields input:focus{border-color:#63d8ff;box-shadow:0 0 0 2px #63d8ff21}.timeline-dialog-fields small{color:#7c94ab;font-size:10px}.timeline-dialog-fields em{color:#70879d;grid-column:1/-1;font-size:10px;font-style:normal;line-height:1.45}.timeline-dialog-fields fieldset{border:0;min-width:0;margin:0;padding:0}.timeline-dialog-fields legend{margin-bottom:7px}.timeline-command-type-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.timeline-command-type-options button{color:#8fa5ba;text-align:left;background:#101f31;gap:3px;min-height:58px;padding:8px 10px;display:grid}.timeline-command-type-options button span{font:750 9px/1 Cascadia Mono,Consolas,monospace}.timeline-command-type-options button.direct.active{border-color:var(--timeline-jump);color:#ffd3a4;background:#ffae5724}.timeline-command-type-options button.timed.active{border-color:var(--timeline-smooth);color:#b9edff;background:#63d8ff24}.timeline-dialog-error{color:#ffc3cb;background:#351b25;border:1px solid #7e424a;border-radius:8px;margin:0 16px;padding:8px 10px;font-size:11px;line-height:1.4}.timeline-object-dialog>footer{justify-content:flex-end;gap:8px;padding:12px 16px 15px;display:flex}.timeline-object-dialog>footer button{color:#b8c9da;background:#101f31;min-width:94px;padding:8px 12px;font-size:11px;font-weight:750}.timeline-object-dialog>footer button.primary{color:#dcffea;background:#175440;border-color:#39866a}@media (width<=1180px){.timeline-editor-layout{grid-template-columns:minmax(0,1fr)}.timeline-editor-card{border-bottom:1px solid #20314d;border-right:0}.timeline-inspector{max-width:none}}@media (width<=640px){.timeline-toolbar,.timeline-editor-help,.timeline-bulk-motion{flex-direction:column;align-items:stretch}.timeline-summary{justify-content:flex-start}.timeline-repeat-controls{justify-content:space-between;width:100%}.timeline-editor-card,.timeline-inspector{padding:10px}.timeline-editor-with-labels{grid-template-columns:108px minmax(0,1fr)}.timeline-motor-labels>div{padding:0 7px;font-size:10px}.timeline-servo-editor-heading,.timeline-servo-editor-row{grid-template-columns:56px 78px minmax(130px,1fr);gap:5px}.timeline-axis-controls{grid-template-columns:minmax(0,1fr)}.timeline-add-guide{justify-self:start}.timeline-motion-legend{flex-direction:column;align-items:flex-start}.timeline-dialog-fields>label{grid-template-columns:minmax(0,1fr)}.timeline-dialog-fields em{grid-column:auto}}.workflow-header h1{margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:36px;line-height:1}.workflow-header p{color:var(--text-soft);margin:8px 0 0;font-size:14px}.workflow-layout{flex:1;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:12px;min-height:0;display:grid}.workflow-layout-engine-collapsed{grid-template-columns:minmax(0,1fr) 56px}.workflow-canvas-card,.workflow-engine-card{background:linear-gradient(#111e32fa 0%,#0b1423f5 100%);border:1px solid #20314d;border-radius:14px;min-height:0;box-shadow:0 18px 45px #00000052}.workflow-canvas-card{flex-direction:column;display:flex;overflow:hidden}.workflow-toolbar{border-bottom:1px solid var(--line);background:#0f1a2e;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.workflow-template-select{color:#d6ffe8;background:#111e32;border:1px solid #2b4366;border-radius:8px;min-width:180px;padding:7px 9px;font-size:13px}.workflow-meta{color:#9eb2d2;margin-left:auto;font-size:12px}.workflow-storage-message{color:#84a3c8;min-height:16px;margin:0;padding:7px 12px 0;font-size:12px}.workflow-canvas{background:#0a1322;flex:1;min-height:0}.workflow-canvas .react-flow{color:#54ff8f}.workflow-canvas .react-flow__node{color:#54ff8f;background:0 0;border:0;font-family:Cascadia Mono,Consolas,Lucida Console,monospace}.workflow-node-card{background:#10271d;border:1px solid #2f6e52;border-radius:10px;flex-direction:column;gap:8px;min-width:220px;padding:10px;transition:background-color .12s,border-color .12s,box-shadow .12s;display:flex;box-shadow:0 6px 18px #00000047}.workflow-node-title{color:#9fffc0;font-size:12px;line-height:1.2;transition:color .12s;display:block}.workflow-node-detail{color:#54ff8f;margin:0;font-size:11px;line-height:1.3;transition:color .12s}.workflow-node-fields{flex-direction:column;gap:7px;display:flex}.workflow-node-field{flex-direction:column;gap:4px;display:flex}.workflow-node-field span{color:#9fffc0;font-size:11px;transition:color .12s}.workflow-node-input{color:#54ff8f;background:#0a1a14;border:1px solid #2f6e52;border-radius:8px;width:100%;padding:6px 8px;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:12px;transition:background-color .12s,border-color .12s,color .12s}.workflow-node-input::placeholder{color:#72b58e}.workflow-node-checkbox-field{flex-direction:row;align-items:center;gap:7px}.workflow-node-checkbox{accent-color:#f59e0b;width:14px;height:14px}.workflow-canvas .react-flow__edge-text,.workflow-canvas .react-flow__attribution,.workflow-canvas .react-flow__controls button{color:#54ff8f}.workflow-canvas .react-flow__controls button{background:#111e32;border-bottom-color:#2f6e52}.workflow-canvas .react-flow__minimap{background:#0f1a2e}.workflow-handle{width:10px;height:10px;transition:background-color .12s,border-color .12s,box-shadow .12s}.workflow-handle-in{background:#22c55e;border:1px solid #165f36}.workflow-handle-out{background:#3b82f6;border:1px solid #1e3a8a}.workflow-handle-value{background:#f59e0b;border-color:#92400e}.workflow-handle-event{background:#3b82f6;border-color:#1e3a8a}.workflow-output-value-label{color:#fbbf24;text-align:center;pointer-events:none;background:#1f1607;border:1px solid #92400e;border-radius:6px;min-width:42px;padding:3px 6px;font-family:Cascadia Mono,Consolas,Lucida Console,monospace;font-size:11px;line-height:1.1;position:absolute;top:50%;right:-56px;transform:translateY(-50%)}.workflow-canvas .react-flow__node.workflow-node-running{color:#93c5fd}.workflow-canvas .react-flow__node.workflow-node-running .workflow-node-card{background:#0d203f;border-color:#2563eb;box-shadow:0 0 0 1px #60a5fa38,0 8px 22px #00000057}.workflow-canvas .react-flow__node.workflow-node-running .workflow-node-title,.workflow-canvas .react-flow__node.workflow-node-running .workflow-node-field span{color:#dbeafe}.workflow-canvas .react-flow__node.workflow-node-running .workflow-node-detail{color:#93c5fd}.workflow-canvas .react-flow__node.workflow-node-running .workflow-node-input{color:#bfdbfe;background:#08172e;border-color:#2563eb}.workflow-canvas .react-flow__node.workflow-node-running .workflow-node-input::placeholder{color:#7aa2d9}.workflow-canvas .react-flow__node.workflow-node-running .workflow-handle{background:#3b82f6;border-color:#1d4ed8;box-shadow:0 0 0 1px #93c5fd33}.workflow-canvas .react-flow__connectionline path,.workflow-canvas .react-flow__edge-path{stroke:#54ff8f}.workflow-engine-card{flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.workflow-engine-card.collapsed{justify-content:flex-start;align-items:center;padding:12px 8px}.workflow-engine-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.workflow-engine-card.collapsed .workflow-engine-header{justify-content:center;width:100%}.workflow-engine-heading{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.workflow-engine-card h2{color:#d8e6fb;margin:0;font-size:20px}.workflow-engine-card p{color:#a9bfdc;margin:0;font-size:13px}.workflow-engine-toggle{color:#9fffc0;cursor:pointer;background:#111e32;border:1px solid #2a3f61;border-radius:8px;width:30px;height:30px;font:700 16px/1 Cascadia Mono,Consolas,Lucida Console,monospace;transition:border-color .16s,background-color .16s,color .16s}.workflow-engine-toggle:hover{color:#54ff8f;background:#163423;border-color:#2f6e52}.workflow-engine-toggle:focus-visible{outline-offset:2px;outline:2px solid #54ff8f}.workflow-log{min-height:0;color:var(--terminal-rx);background:#050706;border:1px solid #2a3f61;border-radius:10px;flex:1;padding:10px;font:13px/1.4 Cascadia Mono,Consolas,Lucida Console,monospace;overflow-y:auto}.workflow-log p{white-space:pre-wrap;word-break:break-word;margin:0 0 7px}.code-view{flex-direction:column;gap:14px;height:calc(100vh - 40px);animation:.35s ease-out slideIn;display:flex}.code-header h1{margin:0;font-family:Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif;font-size:36px;line-height:1}.code-header p{color:var(--text-soft);margin:8px 0 0;font-size:14px}.code-tabs-runtime-bar{align-items:stretch;gap:8px;min-width:0;display:flex}.code-tabs-runtime-bar .document-tabs{flex:1}.code-tab-runtime-actions{align-items:stretch;gap:6px;display:flex}.code-tab-runtime-actions .quick-button{min-width:72px}.code-panel{background:linear-gradient(#111e32fa 0%,#0b1423f5 100%);border:1px solid #20314d;border-radius:14px;flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px;display:flex;box-shadow:0 18px 45px #00000052}.code-workspace{flex:1;grid-template-columns:minmax(0,1fr);gap:14px;min-height:0;display:grid}.code-main-column{grid-template-rows:auto minmax(0,8fr) minmax(180px,2fr);gap:12px;min-height:0;display:grid}.code-main-column-runtime-collapsed{grid-template-rows:auto minmax(0,1fr) auto}.code-panel p{color:var(--text-main);margin:0;font-size:14px;line-height:1.4}.code-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.code-toolbar-statuses,.code-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.code-status{min-height:36px;color:var(--text-main);letter-spacing:.02em;background:#142239eb;border:1px solid #96b4eb33;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;display:inline-flex}.code-status-loading{color:#f6cf76}.code-status-ready{color:#8bd9a1}.code-status-error{color:#ff9d9d}.code-runtime-status-idle{color:#b9c9e5}.code-runtime-status-running{color:#8bd9a1}.code-runtime-status-stopped{color:#f6cf76}.code-runtime-status-error{color:#ff9d9d}.code-helper-note{color:var(--text-soft);font-size:12px}.code-reference-toggle{padding:5px 9px;font-size:12px}.code-reference-panel{background:radial-gradient(circle at 0 0,#375a912e,#0000 38%),linear-gradient(#080e19fa,#050911fc);border:1px solid #96b4eb1f;border-radius:12px;height:100%;min-height:0;padding:14px;overflow-y:auto}.code-reference-header{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.code-reference-header h2{color:#edf4ff;margin:0;font-size:18px}.code-reference-header p,.code-reference-meta p,.code-reference-item p{color:#b9c9e5;margin:0;font-size:12px;line-height:1.4}.code-reference-meta{background:#02060e73;border:1px solid #96b4eb1f;border-radius:10px;flex-direction:column;gap:5px;margin-bottom:12px;padding:10px;display:flex}.code-reference-meta strong{color:#edf4ff}.code-reference-sections{flex-direction:column;gap:14px;display:flex}.code-reference-section{flex-direction:column;gap:8px;display:flex}.code-reference-section h3{color:#8bd9a1;margin:0;font-size:14px}.code-reference-items{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;display:grid}.code-reference-item{background:#02060e85;border:1px solid #96b4eb1f;border-radius:10px;flex-direction:column;gap:7px;min-width:0;padding:10px;display:flex}.code-reference-item code,.code-reference-item pre{font-family:Cascadia Mono,Consolas,Lucida Console,monospace}.code-reference-item code{color:#54ff8f;white-space:normal;overflow-wrap:anywhere;font-size:12px}.code-reference-item pre{color:#dfe9ff;white-space:pre-wrap;background:#050706;border-radius:8px;margin:0;padding:8px;font-size:12px;line-height:1.4;overflow-x:auto}.code-ai-panel{background:linear-gradient(#0c1525fa,#070c16fc);border:1px solid #96b4eb24;border-radius:12px;flex-direction:column;gap:12px;min-height:0;padding:14px;display:flex}.code-ai-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.code-ai-header h2{color:#edf4ff;margin:0;font-size:16px}.code-ai-key-toggle{flex:none}.code-ai-header p{color:var(--text-soft);margin:5px 0 0;font-size:12px;line-height:1.35}.code-ai-field,.code-ai-prompt-field{flex-direction:column;gap:6px;display:flex}.code-ai-field span,.code-ai-prompt-field span,.code-ai-message-meta{color:#b9c9e5;font-size:12px}.code-ai-input,.code-ai-prompt{color:#d7e6ff;background:#02060eeb;border:1px solid #96b4eb29;border-radius:10px;width:100%;padding:10px 12px;font-size:13px}.code-ai-input:focus,.code-ai-prompt:focus{border-color:#79b8ffe6;outline:1px solid #79b8ffe6}.code-ai-prompt{resize:vertical;min-height:110px;line-height:1.45}.code-ai-actions{flex-wrap:wrap;gap:8px;display:flex}.code-ai-error{color:#ff9d9d}.code-ai-key-editor{background:#080e19b8;border:1px solid #96b4eb24;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.code-ai-key-actions{flex-wrap:wrap;gap:8px;display:flex}.code-ai-key-note{color:var(--text-soft);font-size:12px}.code-ai-chat{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:6px 4px 6px 0;display:flex;overflow-y:auto}.code-ai-empty{color:var(--text-soft);margin:auto 0;padding:0 8px}.code-ai-message{background:#080e19c7;border:1px solid #96b4eb1f;border-radius:18px;max-width:92%;padding:12px;box-shadow:0 10px 24px #0000002e}.code-ai-message-user{background:linear-gradient(#21528bf2,#173964eb);border-color:#6fc4ff47;margin-left:auto}.code-ai-message-assistant{background:linear-gradient(#121e30f5,#0c1525f0);border-color:#96b4eb24;margin-right:auto}.code-ai-message p{white-space:pre-wrap;word-break:break-word;margin:0 0 8px}.code-ai-message p:last-child{margin-bottom:0}.code-ai-composer{border-top:1px solid #96b4eb1a;flex-direction:column;flex:none;gap:10px;padding-top:10px;display:flex}.code-ai-response-code{color:#dfe9ff;white-space:pre-wrap;word-break:break-word;background:#050706;border-radius:10px;margin:0;padding:12px;font:13px/1.45 Cascadia Mono,Consolas,Lucida Console,monospace;overflow-x:auto}.code-editor-shell{direction:ltr;unicode-bidi:isolate;background:radial-gradient(circle at 0 0,#375a912e,#0000 38%),linear-gradient(#080e19fa,#050911fc);border:1px solid #96b4eb1f;border-radius:12px;height:100%;min-height:0;position:relative;overflow:hidden}.code-editor-shell-hidden{display:none}.code-editor{width:100%;height:100%;min-height:420px}.code-editor.is-hidden{visibility:hidden}.code-editor-overlay,.code-editor-fallback{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050911db;flex-direction:column;justify-content:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0}.code-editor-error-detail{color:var(--text-soft);font-size:13px}.code-fallback-textarea{resize:vertical;color:#d7e6ff;direction:ltr;unicode-bidi:isolate;background:#02060eeb;border:1px solid #96b4eb29;border-radius:10px;flex:1;width:100%;min-height:280px;padding:14px;font-family:Consolas,SFMono-Regular,Cascadia Code,monospace;font-size:13px;line-height:1.5}.code-fallback-textarea:focus{border-color:#79b8ffe6;outline:1px solid #79b8ffe6}.code-runtime-panel{background:linear-gradient(#0c1525fa,#070c16fc);border:1px solid #96b4eb24;border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.code-runtime-panel.collapsed{min-height:0}.code-runtime-panel.collapsed .code-runtime-header{border-bottom:0}.code-runtime-header{background:#0a1220eb;border-bottom:1px solid #96b4eb1f;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.code-runtime-header h2{color:#edf4ff;margin:0;font-size:16px}.code-runtime-header p{color:var(--text-soft);margin:5px 0 0;font-size:12px;line-height:1.35}.code-runtime-toggle{color:#bcd0eb;cursor:pointer;background:#14233ae6;border:1px solid #96b4eb33;border-radius:7px;flex:0 0 28px;width:28px;height:28px;font-size:15px;line-height:1}.code-runtime-toggle:hover{color:#d6ffe8;border-color:#54ff8f8c}.code-runtime-toggle:focus-visible{outline-offset:2px;outline:2px solid #54ff8f}.code-runtime-log{color:#dfe9ff;flex:1;min-height:0;padding:12px 14px;font:13px/1.45 Cascadia Mono,Consolas,Lucida Console,monospace;overflow-y:auto}.code-runtime-empty,.code-runtime-line{white-space:pre-wrap;word-break:break-word;margin:0 0 8px}.code-runtime-empty{color:var(--text-soft)}.code-runtime-line-log,.code-runtime-line-info{color:#dfe9ff}.code-runtime-line-system{color:#8bc9ff}.code-runtime-line-command{color:#54ff8f}.code-runtime-line-debug{color:#f6cf76}.code-runtime-line-warn{color:#fbbf24}.code-runtime-line-error{color:#ff9d9d}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.main-shell,.main-shell-nav-collapsed{grid-template-rows:auto 1fr;grid-template-columns:1fr}.side-panel{border-left:0;border-bottom:1px solid var(--line-soft);flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px}.side-panel-hidden{padding-block:12px;padding-inline:12px}.side-panel-body{flex-direction:row;flex:1;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0}.connect-area{align-items:flex-start;min-width:170px}.menu-list{flex-direction:row;justify-content:flex-end;width:100%}.menu-section{align-items:flex-end;width:auto;min-width:0}.servo-data-menu-panel{flex:0 0 220px}.side-panel-hidden .menu-section{width:100%}.menu-button,.navigation-panel-toggle,.side-panel-hidden .navigation-panel-toggle{width:auto;min-width:120px}.collapsed-panel-actions{flex-direction:row;justify-content:flex-end;width:auto}.side-panel-hidden .collapsed-panel-actions{justify-content:space-between;width:100%}.side-panel-hidden .connect-button-icon-only{width:44px;min-width:44px}.global-ai-root{align-self:stretch;width:auto;margin-top:0}.global-ai-launcher{width:auto;min-width:48px;height:100%;padding-inline:12px}.workspace{padding:14px}.history-saved-layout{grid-template-columns:1fr}.console-view{height:calc(100vh - 132px)}.console-header h1{font-size:31px}.sliders-view{height:calc(100vh - 132px)}.sliders-header h1{font-size:29px}.rc-view{height:calc(100vh - 132px)}.rc-header h1{font-size:29px}.rc-layout{grid-template-columns:1fr}.rc-input-panel{max-height:300px}.tof-view{height:calc(100vh - 132px)}.tof-header h1{font-size:29px}.tof-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tof-command-settings{width:100%}.tof-select-field{min-width:220px}.tof-layout{grid-template-columns:1fr}.tof-chart-surface{min-height:320px}.pid-view{height:calc(100vh - 132px)}.pid-header h1{font-size:29px}.workflow-view{height:calc(100vh - 132px)}.workflow-header h1{font-size:29px}.code-view{height:calc(100vh - 132px)}.code-header h1{font-size:29px}.code-toolbar{flex-direction:column;align-items:stretch}.code-toolbar-statuses,.code-toolbar-actions{width:100%}.code-workspace{grid-template-columns:1fr}.code-main-column{grid-template-rows:auto minmax(320px,8fr) minmax(180px,2fr)}.code-main-column-runtime-collapsed{grid-template-rows:auto minmax(320px,1fr) auto}.code-ai-panel{min-height:520px}.workflow-layout,.workflow-layout-engine-collapsed{grid-template-columns:1fr}.sliders-toolbar{flex-direction:column;align-items:flex-start}.sliders-run-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}html[dir=rtl] .side-panel{border-right:0}}@media (width<=640px){.lets-start-header h1{font-size:31px}.lets-start-card{padding:16px}.lets-start-field-grid{grid-template-columns:1fr}.history-header{flex-direction:column;align-items:stretch}.history-header h1{font-size:31px}.history-working-state{min-width:0}.history-tabs{align-self:stretch;overflow-x:auto}.history-tabs button{flex:1 0 auto;justify-content:center}.history-entry-heading,.history-entry-footer{flex-direction:column;align-items:stretch}.history-entry-badges{justify-content:flex-start}.history-entry-footer button{min-height:34px}.terminal-titlebar{grid-template-rows:auto auto;grid-template-columns:auto 1fr}.terminal-device{grid-column:1/-1;justify-self:start}.command-form{grid-template-columns:1fr}.command-center-card{max-height:none}.command-panel-fields,.command-panel-fields-wide,.command-panel-fields-timing{grid-template-columns:1fr}.quick-button.clear{margin-left:0}.side-panel{flex-direction:column}.global-ai-root,.global-ai-launcher{width:100%}.global-ai-chat-window,html[dir=rtl] .global-ai-chat-window{width:auto;height:min(620px,100dvh - 24px);bottom:12px;left:12px;right:12px}.servo-data-menu-panel{width:100%}.slider-row{grid-template-columns:1fr;gap:8px}.toolbar-actions{width:100%}.toolbar-actions .quick-button{text-align:center;flex:auto}.rc-status-strip{grid-template-columns:auto minmax(0,1fr)}.rc-device-meta{text-align:left;grid-column:1/-1}.rc-controller-surface{justify-content:start;padding:12px}.rc-axis-card{grid-template-columns:1fr;gap:4px}.tof-stat-grid{grid-template-columns:1fr}.tof-command-settings{width:100%}.tof-grid-size-fields{grid-template-columns:1fr}.tof-select-field{width:100%;min-width:0}.tof-chart-surface{padding:8px}.tof-chart-svg{min-width:420px}.workflow-toolbar{flex-direction:column;align-items:stretch}.code-tabs-runtime-bar{flex-direction:column}.code-tab-runtime-actions .quick-button{flex:1}.workflow-meta{margin-left:0}}.device-builder-view{--device-builder-panel:#0b1628;--device-builder-panel-raised:#101f35;--device-builder-border:#29405f;--device-builder-border-strong:#3b5d82;--device-builder-kraft:#bc844b;--device-builder-kraft-light:#d5a467;--device-builder-kraft-dark:#805022;min-height:calc(100vh - 40px);color:var(--text-main);flex-direction:column;gap:14px;animation:.35s ease-out slideIn;display:flex}.device-builder-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.device-builder-header>div{min-width:0}.device-builder-header h1{letter-spacing:.025em;margin:0;font:800 clamp(30px,3vw,40px)/1.05 Trebuchet MS,Segoe UI Variable Display,Tahoma,sans-serif}.device-builder-header>div>p{max-width:760px;color:var(--text-soft);margin:8px 0 0;font-size:15px;line-height:1.5}.device-builder-safety{color:#ffe1a3;background:#78480e3d;border:1px solid #f59e0b6b;border-radius:10px;flex:0 390px;margin:0;padding:10px 12px;font-size:12px;font-weight:700;line-height:1.45;box-shadow:inset 3px 0 #f59e0b}.device-builder-toolbar{z-index:2;border:1px solid var(--device-builder-border);background:linear-gradient(#12243cfa,#0a1525fa);border-radius:14px;flex-wrap:wrap;align-items:stretch;gap:8px;padding:10px;display:flex;position:relative;box-shadow:0 12px 30px #00000038}.device-builder-toolbar button,.device-builder-inspector-actions button,.device-builder-cut-piece-picker button,.device-builder-dialog footer button{min-height:44px;color:var(--text-main);font:inherit;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#142640;border:1px solid #355272;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:800;line-height:1.15;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.device-builder-toolbar button>span{color:#9eeadd;min-width:20px;font-size:20px;line-height:1}.device-builder-toolbar button.active,.device-builder-cut-piece-picker button.active{color:#effffc;background:linear-gradient(#116a65,#0d514e);border-color:#3dd8c5;box-shadow:0 0 0 1px #5eead438,inset 0 1px #ffffff1f}.device-builder-toolbar button.danger,.device-builder-inspector-actions button.danger{color:#ffc7c7;background:#5b1b22b8;border-color:#f8717180}.device-builder-toolbar button:disabled,.device-builder-inspector-actions button:disabled,.device-builder-cut-piece-picker button:disabled,.device-builder-dialog footer button:disabled{color:#667b99;box-shadow:none;cursor:not-allowed;opacity:.65;background:#111d2d;border-color:#26384f;transform:none}.device-builder-toolbar button:focus-visible,.device-builder-object-list button:focus-visible,.device-builder-inspector-actions button:focus-visible,.device-builder-cut-piece-picker button:focus-visible,.device-builder-cut-handle:focus-visible,.device-builder-dialog footer button:focus-visible,.device-builder-panel input:focus-visible,.device-builder-panel select:focus-visible,.device-builder-dialog input:focus-visible{outline-offset:2px;outline:3px solid #5eead4}.device-builder-toolbar-divider{background:var(--device-builder-border);align-self:center;width:1px;min-height:38px;margin:0 2px}.device-builder-toolbar-spacer{flex:20px}.device-builder-file-input{display:none}.device-builder-glue-button svg{filter:drop-shadow(0 2px 2px #00000047);flex:none;width:35px;height:25px}.device-builder-glue-button.active svg{filter:drop-shadow(0 0 5px #fbbf2499)drop-shadow(0 2px 2px #00000040)}.device-builder-layout{flex:1;grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:14px;min-width:0;display:grid}.device-builder-scene-card{border:1px solid var(--device-builder-border);background:var(--device-builder-panel);border-radius:15px;flex-direction:column;min-width:0;display:flex;overflow:hidden;box-shadow:0 18px 45px #0000004d}.device-builder-scene-wrap{aspect-ratio:1000/620;cursor:grab;touch-action:none;isolation:isolate;direction:ltr;background:radial-gradient(circle at 50% 30%,#2f5b832e,#0000 48%),#0c1728;min-width:0;position:relative;overflow:hidden}.device-builder-scene-wrap:active{cursor:grabbing}.device-builder-tool-move .device-builder-scene{cursor:grab}.device-builder-tool-move .device-builder-scene:active{cursor:grabbing}.device-builder-tool-lift .device-builder-scene,.device-builder-tool-lift .device-builder-scene:active{cursor:ns-resize}.device-builder-tool-rotate .device-builder-scene{cursor:alias}.device-builder-tool-glue,.device-builder-tool-glue .device-builder-scene,.device-builder-tool-glue .device-builder-scene:active{cursor:none}.device-builder-scene{z-index:1;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.device-builder-scene polygon{stroke:#060c16c7;stroke-width:1.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:filter .12s,stroke .12s,stroke-width .12s}.device-builder-scene polygon.selected{stroke:#5eead4;stroke-width:3px;filter:brightness(1.08)saturate(1.08)}.device-builder-scene polygon.glue-source{stroke:#fbbf24;stroke-width:4px;filter:brightness(1.1)drop-shadow(0 0 5px #fbbf24cc)}.device-builder-grid line{stroke:#5c85ad3d;stroke-width:1px;vector-effect:non-scaling-stroke}.device-builder-grid line.major{stroke:#59c9be6b;stroke-width:1.35px}.device-builder-grid line.axis-x{stroke:#ff5f64b8;stroke-width:2px}.device-builder-grid line.axis-z{stroke:#54a6ffb8;stroke-width:2px}.device-builder-world-axes{pointer-events:none}.device-builder-world-axes line{stroke-width:5px;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 2px #000000d1)}.device-builder-world-axes circle{stroke:#07111f;stroke-width:2px;vector-effect:non-scaling-stroke}.device-builder-world-axes text{text-anchor:middle;paint-order:stroke;stroke:#07111f;stroke-width:5px;stroke-linejoin:round;font:900 20px/1 Cascadia Mono,Consolas,monospace}.device-builder-world-axes .origin{fill:#f8fafc}.device-builder-world-axes .axis-x line{stroke:#ff5f64}.device-builder-world-axes .axis-y line{stroke:#65dc75}.device-builder-world-axes .axis-z line{stroke:#54a6ff}.device-builder-world-axes .axis-x text{fill:#ff5f64}.device-builder-world-axes .axis-y text{fill:#65dc75}.device-builder-world-axes .axis-z text{fill:#54a6ff}.device-builder-world-axes .axis-x circle{fill:#ff5f64}.device-builder-world-axes .axis-y circle{fill:#65dc75}.device-builder-world-axes .axis-z circle{fill:#54a6ff}.device-builder-axis-gizmo line{stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #000000bf)}.device-builder-axis-gizmo{pointer-events:none}.device-builder-axis-gizmo circle{stroke:#07111f;stroke-width:2px;vector-effect:non-scaling-stroke}.device-builder-axis-gizmo .axis-x{fill:#ff5f64;stroke:#ff5f64}.device-builder-axis-gizmo circle.axis-x{stroke:#07111f}.device-builder-axis-gizmo .axis-y{fill:#65dc75;stroke:#65dc75}.device-builder-axis-gizmo circle.axis-y{stroke:#07111f}.device-builder-axis-gizmo .axis-z{fill:#54a6ff;stroke:#54a6ff}.device-builder-axis-gizmo circle.axis-z{stroke:#07111f}.device-builder-empty-state{z-index:2;color:#f2d2a5;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08111ebd;border:1px dashed #d5a4679e;border-radius:14px;place-items:center;gap:8px;width:min(82%,440px);padding:20px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.device-builder-empty-state span{color:#f3aa55;font-size:36px;line-height:1}.device-builder-empty-state p{margin:0;font-size:14px;font-weight:700;line-height:1.45}.device-builder-glue-cursor{z-index:6;transform-origin:0;pointer-events:none;filter:drop-shadow(0 4px 5px #0000008c)drop-shadow(0 0 4px #f59e0b59);width:58px;height:39px;position:absolute;transform:translate(2px,-19px)rotate(-7deg)}.device-builder-glue-cursor svg{width:100%;height:100%;display:block}.device-builder-view-axis{z-index:3;pointer-events:none;direction:ltr;background:#050c16b8;border:1px solid #6888ad61;border-radius:10px;align-items:center;gap:5px;width:auto;height:auto;padding:6px;font:800 11px/1 Cascadia Mono,Consolas,monospace;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px 14px #00000040}.device-builder-view-axis:before,.device-builder-view-axis:after{display:none}.device-builder-view-axis span{color:#07111f;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:static}.device-builder-view-axis .x{background:#ff5f64}.device-builder-view-axis .y{background:#65dc75}.device-builder-view-axis .z{background:#54a6ff}.device-builder-status-bar{border-top:1px solid var(--device-builder-border);background:#091322;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 18px;min-height:46px;padding:9px 13px;font-size:12px;line-height:1.4;display:flex}.device-builder-status-bar p{color:var(--text-soft);flex:280px;margin:0}.device-builder-status-bar strong{color:#78e8d9;text-align:end;max-width:100%;font-weight:800}.device-builder-sidebar{gap:14px;min-width:0;display:grid}.device-builder-panel{border:1px solid var(--device-builder-border);background:linear-gradient(#101f35fa,#091423fa);border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 13px 30px #0000003b}.device-builder-panel>h2{border-bottom:1px solid var(--device-builder-border);color:#dceaff;letter-spacing:.02em;background:#12243cb8;margin:0;padding:11px 13px;font-size:14px;line-height:1.25}.device-builder-panel-empty{color:#8198ba;text-align:center;margin:0;padding:22px 14px;font-size:13px;line-height:1.45}.device-builder-object-list{scrollbar-color:#355272 #0b1628;scrollbar-width:thin;max-height:270px;margin:0;padding:7px;list-style:none;overflow-y:auto}.device-builder-object-list>li{margin:0 0 5px}.device-builder-object-list>li:last-child{margin-bottom:0}.device-builder-object-list button{width:100%;min-height:54px;color:var(--text-main);font:inherit;text-align:start;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;padding:8px 9px;transition:border-color .14s,background-color .14s,transform .14s;display:grid}.device-builder-object-list button.active{background:#14b8a621;border-color:#2aa99b;box-shadow:inset 3px 0 #33cfbd}.device-builder-object-list button>span:nth-child(2){gap:3px;min-width:0;display:grid}.device-builder-object-list strong,.device-builder-object-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-builder-object-list strong{font-size:13px}.device-builder-object-list small{color:#8da5c7;text-align:start;direction:ltr;unicode-bidi:isolate;font-size:11px}.device-builder-object-list em{color:#f6cc81;text-align:center;background:#78480e38;border:1px solid #f59e0b5c;border-radius:999px;max-width:82px;padding:3px 6px;font-size:10px;font-style:normal;font-weight:800;line-height:1.2}.device-builder-object-icon{border:1px solid #ffffff2b;border-radius:6px;flex:0 0 31px;width:31px;height:31px;display:inline-block;position:relative;box-shadow:inset 0 1px #ffffff2e,0 3px 8px #00000040}.device-builder-object-icon.cardboard{background:repeating-linear-gradient(90deg, transparent 0 5px, #532d0e2e 5px 6px), linear-gradient(145deg, var(--device-builder-kraft-light), var(--device-builder-kraft));border-color:#dbac72}.device-builder-object-icon.cardboard:after{content:"";border:1px dashed #6033129e;position:absolute;inset:5px}.device-builder-object-icon.servo{background:linear-gradient(145deg,#2b79d1,#123d79 72%);border-color:#4b91e5}.device-builder-object-icon.servo:before{content:"";background:#e87921;border:1px solid #f8b45c;border-radius:4px 4px 1px 1px;width:15px;height:7px;position:absolute;top:-5px;left:7px}.device-builder-object-icon.servo:after{content:"";background:#d8ebffb8;border-radius:999px;height:4px;position:absolute;bottom:5px;left:6px;right:6px}.device-builder-inspector{padding-bottom:11px}.device-builder-selection-name{color:#edf6ff;background:#0a1729;border:1px solid #294363;border-radius:9px;align-items:center;gap:10px;min-height:52px;margin:10px 11px 6px;padding:8px 10px;font-size:13px;display:flex}.device-builder-inspector fieldset,.device-builder-cut-fields fieldset{border:1px solid #29415f;border-radius:10px;min-width:0;margin:9px 11px 0;padding:9px}.device-builder-inspector legend,.device-builder-cut-fields legend{color:#91a9ca;padding:0 5px;font-size:11px;font-weight:800}.device-builder-number-grid{direction:ltr;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.device-builder-number-grid label,.device-builder-wide-field,.device-builder-cut-fields>label{color:#aabddd;gap:5px;min-width:0;font-size:11px;font-weight:700;display:grid}.device-builder-number-grid label>span{text-align:center;direction:ltr;unicode-bidi:isolate}.device-builder-panel input[type=number],.device-builder-number-grid input[type=text],.device-builder-panel select,.device-builder-dialog input[type=number]{color:#f2f7ff;text-align:left;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;direction:ltr;background:#081422;border:1px solid #355273;border-radius:7px;width:100%;min-width:0;height:38px;padding:6px 8px;font:600 13px/1.2 Cascadia Mono,Consolas,monospace}.device-builder-panel input[type=number]:hover,.device-builder-number-grid input[type=text]:hover,.device-builder-panel select:hover,.device-builder-dialog input[type=number]:hover{border-color:#4a729a}.device-builder-dialog input[aria-invalid=true]{border-color:#ef7d7d}.device-builder-panel input[type=range]{accent-color:#18b8a7;cursor:pointer;width:100%;min-height:28px;margin:0}.device-builder-wide-field{margin:4px 0 9px}.device-builder-wide-field:last-of-type{margin-bottom:5px}.device-builder-wide-field>span{line-height:1.35}.device-builder-check-field{color:#b6c8e4;cursor:pointer;align-items:center;gap:8px;min-height:34px;font-size:12px;font-weight:700;display:flex}.device-builder-check-field input{accent-color:#14b8a6;flex:none;width:18px;height:18px;margin:0}.device-builder-inspector-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:11px 11px 0;display:grid}.device-builder-inspector-actions button{min-width:0;min-height:39px;padding:8px 9px;font-size:12px}.device-builder-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#02070ed1;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow-y:auto}.device-builder-dialog{width:min(760px,100%);max-height:calc(100vh - 44px);color:var(--text-main);background:radial-gradient(circle at 80% 0,#234e7045,#0000 40%),#0d1b2e;border:1px solid #3a587b;border-radius:16px;animation:.22s ease-out slideIn;overflow-y:auto;box-shadow:0 28px 80px #0000009e}.device-builder-dialog>header{border-bottom:1px solid var(--device-builder-border);padding:18px 20px 14px}.device-builder-dialog>header h2{color:#f2f7ff;margin:0;font-size:22px;line-height:1.2}.device-builder-dialog>header p{color:var(--text-soft);margin:6px 0 0;font-size:13px;line-height:1.45}.device-builder-cut-layout{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);align-items:center;gap:22px;padding:20px;display:grid}.device-builder-cut-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;min-width:0;display:grid}.device-builder-cut-fields>.device-builder-cut-help,.device-builder-cut-fields>.device-builder-cut-feedback,.device-builder-cut-fields fieldset{grid-column:1/-1}.device-builder-cut-fields fieldset{margin:0}.device-builder-cut-help{color:#c6d8f1;background:#1e40af1f;border:1px solid #60a5fa47;border-radius:9px;margin:0;padding:10px 11px;font-size:12px;font-weight:700;line-height:1.5}.device-builder-cut-piece-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.device-builder-cut-piece-picker button{min-height:38px;padding:7px 9px;font-size:12px}.device-builder-cut-piece-picker button>span{border:1px solid;border-radius:50%;place-items:center;width:22px;height:22px;font:800 12px/1 Cascadia Mono,Consolas,monospace;display:inline-grid}.device-builder-cut-feedback{color:#9fb4d2;margin:0;font-size:12px;font-weight:700;line-height:1.4}.device-builder-cut-feedback.error{color:#ffc4c4}.device-builder-cut-preview-shell{--device-builder-preview-max-height:245px;min-width:0;max-width:100%;max-height:calc(var(--device-builder-preview-max-height) + 44px);overscroll-behavior:contain;scrollbar-color:#5f7898 #0a1729;scrollbar-width:thin;place-items:safe center;padding:22px;display:grid;overflow:auto}.device-builder-cut-preview{width:max(var(--device-builder-preview-min-width), min(100%, calc(var(--device-builder-preview-max-height) * var(--device-builder-sheet-ratio))));min-height:0;aspect-ratio:var(--device-builder-sheet-ratio);cursor:default;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;direction:ltr;background:repeating-linear-gradient(0deg,#0000 0 11px,#58311117 11px 12px),repeating-linear-gradient(90deg,#ffffff09 0 7px,#0000 7px 14px),radial-gradient(circle at 20% 30%,#ffebc130 0 2px,#0000 3px) 0 0/35px 35px,linear-gradient(135deg,#d1a064,#a86e35);border:5px solid #6f431f;border-radius:5px;position:relative;overflow:visible;box-shadow:inset 0 0 0 2px #ffdeac2e,inset 0 0 28px #59301042,0 12px 25px #00000042}.device-builder-cut-preview-svg{z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.device-builder-cut-piece{fill:#fff4d617;stroke:#fff4d638;stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .14s,stroke .14s}.device-builder-cut-piece:nth-of-type(2){fill:#60a5fa1a}.device-builder-cut-piece.selected{fill:#14b8a657;stroke:#8bf5e8;stroke-width:3px}.device-builder-cut-line{stroke:#fff2c7;stroke-width:3px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #532a0ad9);pointer-events:none}.device-builder-cut-preview em{z-index:2;color:#fff4d9;pointer-events:none;background:#4e2b0fa3;border:1px solid #fff4d6a6;border-radius:50%;place-items:center;width:36px;height:36px;font:800 15px/1 Cascadia Mono,Consolas,monospace;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 7px #00000042}.device-builder-cut-preview em.selected{color:#effffc;background:#0f766e;border-color:#8bf5e8}.device-builder-cut-handle{z-index:4;color:#fff;cursor:grab;touch-action:none;background:linear-gradient(#196b83,#123f61);border:3px solid #fff2c7;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font:900 13px/1 Cascadia Mono,Consolas,monospace;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000085,inset 0 1px #fff3}.device-builder-cut-handle span{pointer-events:none}.device-builder-cut-handle:active{cursor:grabbing}.device-builder-dialog>footer{border-top:1px solid var(--device-builder-border);background:#07101dad;justify-content:flex-end;align-items:center;gap:9px;padding:13px 20px;display:flex}.device-builder-dialog footer button{min-width:105px}.device-builder-dialog footer button.primary{color:#031b17;background:linear-gradient(#1ac5b1,#0f766e);border-color:#35d5c2;box-shadow:inset 0 1px #ffffff38}@media (hover:hover){.device-builder-toolbar button:not(:disabled):hover,.device-builder-inspector-actions button:not(:disabled):hover,.device-builder-cut-piece-picker button:not(:disabled):hover,.device-builder-dialog footer button:not(:disabled):hover{background-color:#1a3150;border-color:#4e7ba5;transform:translateY(-1px)}.device-builder-toolbar button.active:hover,.device-builder-cut-piece-picker button.active:hover{background:linear-gradient(#16827a,#0e5d58);border-color:#70f2e2}.device-builder-toolbar button.danger:not(:disabled):hover,.device-builder-inspector-actions button.danger:not(:disabled):hover{background:#7a222be0;border-color:#f87171}.device-builder-dialog footer button.primary:not(:disabled):hover{background:linear-gradient(#27dbc5,#10887e);border-color:#7cf6e8}.device-builder-object-list button:hover{background:#27436570;border-color:#385778;transform:translate(2px)}.device-builder-object-list button.active:hover{background:#14b8a62e;border-color:#43ccbd}.device-builder-cut-preview:hover{filter:brightness(1.025);border-color:#905d2e}.device-builder-cut-handle:hover{background:linear-gradient(#2389a5,#185477);border-color:#fff}}html[dir=rtl] .device-builder-safety{box-shadow:inset -3px 0 #f59e0b}html[dir=rtl] .device-builder-object-list button.active{box-shadow:inset -3px 0 #33cfbd}html[dir=rtl] .device-builder-object-list small,html[dir=rtl] .device-builder-number-grid,html[dir=rtl] .device-builder-number-grid input,html[dir=rtl] .device-builder-panel input[type=number],html[dir=rtl] .device-builder-panel select,html[dir=rtl] .device-builder-dialog input[type=number],html[dir=rtl] .device-builder-view-axis,html[dir=rtl] .device-builder-cut-preview{direction:ltr;unicode-bidi:isolate}html[dir=rtl] .device-builder-status-bar strong{text-align:start}html[dir=rtl] .device-builder-object-list button:hover{transform:translate(-2px)}@media (width<=980px){.device-builder-view{min-height:calc(100vh - 132px)}.device-builder-header h1{font-size:29px}.device-builder-header{gap:14px}.device-builder-safety{flex-basis:330px}.device-builder-toolbar button{flex:130px}.device-builder-toolbar-spacer{display:none}.device-builder-layout{grid-template-columns:minmax(0,1fr)}.device-builder-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.device-builder-object-list{max-height:355px}.device-builder-dialog{width:min(720px,100%)}}@media (width<=640px){.device-builder-view{gap:11px}.device-builder-header{flex-direction:column;gap:10px}.device-builder-header h1{font-size:27px}.device-builder-header>div>p{font-size:13px}.device-builder-safety{flex:none;width:100%}.device-builder-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px;display:grid}.device-builder-toolbar button{width:100%;min-width:0;min-height:46px;padding:8px 7px;font-size:12px}.device-builder-toolbar-divider,.device-builder-toolbar-spacer{display:none}.device-builder-glue-button svg{width:31px}.device-builder-scene-wrap{aspect-ratio:auto;min-height:330px}.device-builder-view-axis{transform-origin:100% 100%;bottom:9px;right:9px;transform:scale(.86)}.device-builder-status-bar{align-items:flex-start;padding:9px 10px}.device-builder-status-bar p,.device-builder-status-bar strong{text-align:start;flex-basis:100%}.device-builder-sidebar{grid-template-columns:minmax(0,1fr)}.device-builder-object-list{max-height:280px}.device-builder-number-grid{gap:5px}.device-builder-number-grid input{padding-inline:5px;font-size:12px}.device-builder-dialog-backdrop{align-items:start;padding:10px}.device-builder-dialog{border-radius:13px;max-height:calc(100vh - 20px)}.device-builder-dialog>header{padding:15px 14px 12px}.device-builder-dialog>header h2{font-size:19px}.device-builder-cut-layout{grid-template-columns:minmax(0,1fr);gap:17px;padding:14px}.device-builder-cut-preview-shell{--device-builder-preview-max-height:220px;padding:20px}.device-builder-dialog>footer{padding:11px 14px}.device-builder-dialog footer button{flex:1 1 0;min-width:0}}@media (width<=390px){.device-builder-object-list button{grid-template-columns:auto minmax(0,1fr)}.device-builder-object-list em{grid-column:2;justify-self:start}.device-builder-cut-fields{grid-template-columns:minmax(0,1fr)}.device-builder-cut-fields>.device-builder-cut-help,.device-builder-cut-fields>.device-builder-cut-feedback,.device-builder-cut-fields fieldset{grid-column:auto}}@media (prefers-reduced-motion:reduce){.document-tab.running{background:#1a5b34;animation:none;box-shadow:inset 0 2px #9affbb}.device-builder-view,.device-builder-dialog,.device-builder-view *,.device-builder-view :before,.device-builder-view :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.timeline-editor-cursor{cursor:ew-resize;box-sizing:border-box;border-left:1px solid #5297ff;border-right:1px solid #5297ff;height:calc(100% - 32px);position:absolute;top:32px;transform:translate(-25%)scaleX(.5)}.timeline-editor-cursor-top{margin:auto;position:absolute;top:0;left:50%;transform:translate(-50%)scaleX(2)}.timeline-editor-cursor-area{cursor:ew-resize;width:16px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.timeline-editor-drag-line-container{height:100%;position:absolute;top:0;left:0}.timeline-editor-drag-line{border-left:1px dashed #5297ff99;width:0;height:99%;position:absolute;top:0}.timeline-editor:hover .timeline-editor-edit-area .ReactVirtualized__Grid::-webkit-scrollbar{height:4px}.timeline-editor-edit-area{flex:auto;margin-top:10px;position:relative;overflow:hidden}.timeline-editor-edit-area .ReactVirtualized__Grid{overflow:overlay!important;outline:none!important}.timeline-editor-edit-area .ReactVirtualized__Grid::-webkit-scrollbar{width:0;height:0}.timeline-editor-edit-area .ReactVirtualized__Grid::-webkit-scrollbar-track{background-color:#0000!important}.timeline-editor-edit-area .ReactVirtualized__Grid::-webkit-scrollbar-thumb{background:#313132;border-radius:16px}.timeline-editor-action{background-color:#2f3134;position:absolute;top:0;left:0}.timeline-editor-action .timeline-editor-action-left-stretch,.timeline-editor-action .timeline-editor-action-right-stretch{border-radius:4px;width:10px;height:100%;position:absolute;top:0;overflow:hidden}.timeline-editor-action .timeline-editor-action-left-stretch:after,.timeline-editor-action .timeline-editor-action-right-stretch:after{border-top:28px solid #0000;border-bottom:28px solid #0000;border-radius:4px;margin:auto;position:absolute;top:0;bottom:0}.timeline-editor-action .timeline-editor-action-left-stretch{left:0}.timeline-editor-action .timeline-editor-action-left-stretch:after{content:"";border-left:7px solid #ffffff1a;border-right:7px solid #0000;left:0}.timeline-editor-action .timeline-editor-action-right-stretch{right:0}.timeline-editor-action .timeline-editor-action-right-stretch:after{content:"";border-left:7px solid #0000;border-right:7px solid #ffffff1a;right:0}.timeline-editor-edit-row-dragging{opacity:.5}.timeline-editor-edit-row{box-sizing:border-box;background-image:linear-gradient(#191b1d,#191b1d),linear-gradient(90deg,#ffffff14 1px,#0000 0);background-repeat:no-repeat,repeat;flex-direction:row;transition:opacity .2s,transform .2s;display:flex;position:relative}.timeline-editor-edit-row-drag-handle{cursor:grab;color:#666;-webkit-user-select:none;user-select:none;z-index:10;opacity:.6;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;transition:opacity .2s;display:flex;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.timeline-editor-edit-row-drag-handle:hover{opacity:1;color:#999}.timeline-editor-edit-row-drag-handle:active{cursor:grabbing}.timeline-editor-edit-row-dragged{opacity:.5;pointer-events:none;z-index:1000;position:relative;transform:scale(.98)}.timeline-editor-edit-row-dragging{cursor:grabbing}.timeline-editor-edit-row-placeholder{opacity:.8;background:#4a90e21a;border:2px dashed #4a90e2;height:4px;min-height:4px;margin:2px 0}.timeline-editor-edit-row-placeholder .timeline-editor-edit-row-drag-handle,.timeline-editor-edit-row-placeholder .timeline-editor-edit-action{display:none}.timeline-editor-edit-row:before{content:"";z-index:100;opacity:0;background:#4a90e2;height:2px;transition:opacity .2s;position:absolute;left:0;right:0}.timeline-editor-edit-row[data-insert-position=top]:before{opacity:1;top:-1px}.timeline-editor-edit-row[data-insert-position=bottom]:before{opacity:1;bottom:-1px}.timeline-editor-time-area{flex:none;height:32px;position:relative}.timeline-editor-time-area .ReactVirtualized__Grid{outline:none}.timeline-editor-time-area .ReactVirtualized__Grid::-webkit-scrollbar{display:none}.timeline-editor-time-area-interact{cursor:pointer;position:absolute;top:0;left:0}.timeline-editor-time-unit{box-sizing:content-box;border-right:1px solid #fff3;position:relative;height:4px!important;top:auto!important;bottom:0!important}.timeline-editor-time-unit-big{height:8px!important}.timeline-editor-time-unit-scale{color:#fff9;position:absolute;top:0;right:0;transform:translate(50%,-100%)}.timeline-editor{background-color:#191b1d;flex-direction:column;width:600px;height:600px;min-height:32px;font-family:PingFang SC;font-size:12px;display:flex;position:relative;overflow:hidden}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
