@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:Noto Sans SC,Inter,system-ui,sans-serif;color:#dce9f5;background:#07111f;font-synthesis:none;--bg: #07111f;--panel: rgba(14, 29, 47, .88);--panel-2: #0c1b2d;--line: rgba(132, 170, 201, .15);--muted: #7890a7;--cyan: #34cfff;--green: #43d9a3;--violet: #777bff;--red: #ff6e7d}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(35,153,214,.12),transparent 27rem),radial-gradient(circle at 90% 28%,rgba(105,87,255,.1),transparent 25rem),var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{width:min(1540px,100%);margin:0 auto;padding:0 26px 30px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.brand>div:last-child,.topbar-meta,.connection-identity,.connection-actions,.panel-title,.toolbar,.stats-bar,.timer-row,.timer-row label,.secure-pill,.status-pill{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#07111f;background:linear-gradient(135deg,var(--cyan),#6a7bff);box-shadow:0 0 26px #34cfff38}.brand>div:last-child{align-items:flex-start;flex-direction:column}.brand strong{font-size:18px;letter-spacing:.3px}.brand span{font-size:11px;color:var(--muted);letter-spacing:1.8px}.topbar-meta{gap:10px}.app-nav{display:flex;align-self:stretch;gap:3px}.app-nav button{position:relative;display:flex;align-items:center;gap:7px;padding:0 14px;color:#71899e;background:transparent;border:0;font-size:12px}.app-nav button:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:transparent;border-radius:2px 2px 0 0}.app-nav button:hover{color:#b8cfdf}.app-nav button.active{color:#d8f5ff}.app-nav button.active:after{background:var(--cyan);box-shadow:0 0 12px #34cfff8c}.help-button{display:flex;align-items:center;gap:6px;height:31px;padding:0 10px;color:#9ab0c2;background:#081422b8;border:1px solid var(--line);border-radius:999px;font-size:11px}.help-button:hover{color:#dcf7ff;border-color:#34cfff4d}.status-pill,.secure-pill{gap:7px;border:1px solid var(--line);background:#081422b8;padding:7px 11px;border-radius:999px;font-size:12px;color:#aac0d3}.status-pill i{width:7px;height:7px;border-radius:50%;background:#71869a}.status-connected i{background:var(--green);box-shadow:0 0 9px var(--green)}.status-error i,.status-unsupported i{background:var(--red)}.status-requesting i,.status-connecting i,.status-disconnecting i{background:#f1b85b;animation:pulse 1s infinite}.compat-banner{display:flex;gap:12px;align-items:center;margin-top:18px;border:1px solid rgba(255,187,82,.25);background:#6c450c33;color:#ffd994;border-radius:12px;padding:12px 16px}.compat-banner div{display:flex;gap:8px;flex-wrap:wrap;font-size:13px}.compat-banner span{color:#b9a789}.panel{background:linear-gradient(145deg,#0f2033f0,#091727f0);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #0000002e}.connection-card{min-height:102px;margin:18px 0;padding:16px 18px;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:24px}.connection-identity{gap:12px;min-width:0}.device-orb{width:48px;height:48px;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;background:#10253b;color:#5d7891;border:1px solid var(--line)}.device-orb.active{color:var(--green);border-color:#43d9a359;box-shadow:inset 0 0 18px #43d9a314}.connection-identity label,.field,.history-field{display:flex;flex-direction:column;gap:6px;min-width:0}.connection-identity label{flex:1}.connection-identity span,.field span,.history-field>span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}input,select,textarea{color:#dce9f5;background:#081625;border:1px solid rgba(130,169,200,.18);border-radius:8px;outline:none;transition:.18s ease}input:focus,select:focus,textarea:focus{border-color:#34cfff94;box-shadow:0 0 0 3px #34cfff14}.connection-identity input{width:100%;height:34px;padding:0 10px;font-weight:600}.serial-settings{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:10px}.field select,.history-field select{height:34px;padding:0 28px 0 9px;min-width:0}.connection-actions{gap:8px}.primary-button,.danger-button,.send-button{border:0;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 17px;font-weight:700}.primary-button,.send-button{color:#04131e;background:linear-gradient(135deg,#40d8ff,#5e8dff);box-shadow:0 8px 22px #2db4ef33}.danger-button{color:#ffdfe2;background:#ff5b7026;border:1px solid rgba(255,91,112,.28)}.icon-button{width:40px;height:40px;display:grid;place-items:center;color:#8ca2b5;background:#0a1929;border:1px solid var(--line);border-radius:9px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;min-height:calc(100vh - 214px)}.monitor-panel{display:grid;grid-template-rows:auto auto minmax(360px,1fr) auto;min-width:0;overflow:hidden}.panel-header{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.panel-title{gap:10px;color:#9eb6ca}.panel-title>div{display:flex;flex-direction:column;gap:2px}.panel-title strong{color:#dfebf6;font-size:14px}.panel-title span{color:var(--muted);font-size:10px}.toolbar{gap:7px;flex-wrap:wrap;justify-content:flex-end}.segmented{display:flex;padding:3px;background:#071522;border:1px solid var(--line);border-radius:8px}.segmented button{color:#6f879d;background:transparent;border:0;padding:5px 9px;border-radius:5px;font:600 10px JetBrains Mono,monospace}.segmented button.active{color:#cdf7ff;background:#17364b}.tool-button{display:flex;align-items:center;gap:5px;height:31px;padding:0 9px;color:#88a0b5;background:transparent;border:1px solid var(--line);border-radius:7px;font-size:11px}.tool-button:hover,.tool-button.active{color:#d7f4ff;background:#132a3d}.monitor-options{min-height:42px;padding:5px 16px;display:flex;align-items:center;gap:16px;background:#05101c6b;border-bottom:1px solid var(--line)}.monitor-options label{display:flex;align-items:center;gap:6px;color:#70899e;font-size:11px}.monitor-options input{accent-color:var(--cyan)}.receive-display-controls{margin-left:auto;display:flex;align-items:center;gap:8px}.receive-display-controls label{white-space:nowrap}.receive-display-controls select,.receive-display-controls input{height:28px;color:#9bb3c5;background:#081625;border:1px solid rgba(130,169,200,.18);border-radius:6px;font:10px JetBrains Mono,monospace}.receive-display-controls select{padding:0 24px 0 7px}.receive-display-controls input{width:58px;padding:0 6px}.gap-presets{display:flex;padding:2px;background:#071522;border:1px solid var(--line);border-radius:6px}.gap-presets button{height:22px;padding:0 6px;color:#607b90;background:transparent;border:0;border-radius:4px;font-size:9px}.gap-presets button.active{color:#cdf7ff;background:#17364b}.paused-note{color:#ffc76a;font-size:11px;margin-left:auto}.log-viewer{min-height:0;background:#030c15a3;font-family:JetBrains Mono,monospace}.empty-state{height:100%;min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#3b5870}.empty-state strong{color:#648097;font:600 13px Noto Sans SC,sans-serif}.empty-state span{font:11px Noto Sans SC,sans-serif}.log-line{min-height:30px;padding:6px 12px;display:grid;grid-template-columns:93px 32px minmax(0,1fr) 56px;gap:9px;border-bottom:1px solid rgba(130,169,200,.055);font-size:11px;line-height:18px}.log-line:hover{background:#2655741f}.log-time{color:#4f697f}.log-direction{font-weight:700;color:#8599ab}.log-rx .log-direction{color:var(--cyan)}.log-tx .log-direction{color:var(--green)}.log-system .log-direction{color:#f1b85b}.log-content{color:#b7cad9;white-space:pre-wrap;overflow-wrap:anywhere}.log-system .log-content{color:#93a6b7;font-family:Noto Sans SC,sans-serif}.log-size{color:#3d596f;text-align:right}.stats-bar{min-height:39px;gap:18px;padding:0 15px;border-top:1px solid var(--line);color:#668096;font:10px JetBrains Mono,monospace}.stats-bar span{display:flex;align-items:center;gap:6px}.stats-bar strong{color:#a8bdce;font-weight:500}.stats-spacer{flex:1}.rx-dot,.tx-dot{width:6px;height:6px;border-radius:50%}.rx-dot{background:var(--cyan)}.tx-dot{background:var(--green)}.side-column{display:flex;flex-direction:column;gap:18px;min-width:0}.send-panel textarea{display:block;width:calc(100% - 28px);min-height:132px;resize:vertical;margin:14px;padding:12px;font:12px/1.65 JetBrains Mono,monospace}.send-options{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:0 14px 12px}.send-button{width:calc(100% - 28px);margin:0 14px}.send-button kbd{margin-left:auto;padding:2px 5px;color:#02151f8c;background:#ffffff38;border-radius:4px;font:9px JetBrains Mono}.timer-row{justify-content:space-between;padding:13px 14px;margin-top:13px;border-top:1px solid var(--line)}.timer-row label{gap:6px;color:var(--muted);font-size:11px}.timer-row input{width:70px;height:29px;padding:0 7px}.timer-row button{height:31px;display:flex;align-items:center;gap:6px;color:#88a5b9;background:#10263a;border:1px solid var(--line);border-radius:7px;font-size:11px}.timer-row button.timer-stop{color:#ffc4ca;border-color:#ff6e7d40;background:#ff6e7d1a}.quick-list{display:flex;flex-direction:column;padding:8px}.quick-list button{min-height:50px;display:grid;grid-template-columns:100px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:7px 9px;color:#9fb3c5;text-align:left;background:transparent;border:0;border-bottom:1px solid rgba(130,169,200,.08)}.quick-list button:last-child{border-bottom:0}.quick-list button:hover{background:#285b7b21;border-radius:7px}.quick-list span{font-size:12px}.quick-list code{overflow:hidden;color:#5d7b92;white-space:nowrap;text-overflow:ellipsis;font:10px JetBrains Mono}.info-card{display:grid;gap:10px;margin-top:auto;padding:5px}.info-card>div{display:flex;gap:10px;padding:10px}.info-icon{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;color:var(--cyan);background:#34cfff14}.info-card p{display:flex;flex-direction:column;gap:3px;margin:0}.info-card strong{font-size:11px;color:#91aabd}.info-card small{color:#567087;font-size:10px;line-height:1.5}.error-strip{position:fixed;left:50%;bottom:24px;z-index:10;transform:translate(-50%);min-width:320px;display:flex;justify-content:space-between;gap:16px;padding:11px 14px;color:#ffdce1;background:#4b1f2a;border:1px solid rgba(255,110,125,.3);border-radius:9px;box-shadow:0 10px 40px #0008;font-size:12px}.error-strip button{border:0;background:transparent;color:inherit}.toast{position:fixed;right:24px;bottom:24px;z-index:11;max-width:380px;padding:11px 15px;color:#dff8ff;background:#15344b;border:1px solid rgba(52,207,255,.25);border-radius:9px;box-shadow:0 10px 40px #0008;font-size:12px;animation:toast-in .2s ease}.script-workspace{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:18px;min-height:calc(100vh - 214px)}.script-editor-panel{display:grid;grid-template-rows:auto minmax(410px,1fr) auto auto;min-width:0;overflow:hidden}.script-editor-wrap{min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr);background:#030c15b8}.line-numbers{overflow:hidden;padding:14px 0;color:#345169;background:#05111dcc;border-right:1px solid var(--line);font:12px/1.75 JetBrains Mono,monospace;text-align:right;-webkit-user-select:none;user-select:none}.line-numbers span{display:block;padding-right:12px}.script-editor{width:100%;height:100%;min-height:410px;resize:none;padding:14px 16px;color:#c4d7e5;background:transparent;border:0;border-radius:0;font:12px/1.75 JetBrains Mono,monospace;white-space:pre;overflow:auto}.script-editor:focus{box-shadow:none}.script-validation{max-height:112px;overflow:auto;padding:9px 14px;border-top:1px solid var(--line);background:#05101c80;font-size:11px}.script-validation.valid span,.script-validation button{display:flex;align-items:center;gap:7px}.script-validation.valid{color:var(--green)}.script-validation button{width:100%;padding:4px 0;color:#ff9ca7;text-align:left;background:transparent;border:0}.script-runbar{min-height:58px;display:flex;align-items:center;gap:12px;padding:9px 14px;border-top:1px solid var(--line)}.run-summary{display:flex;align-items:center;gap:7px;color:#849bad;font-size:12px}.run-summary i{width:8px;height:8px;border-radius:50%;background:#61798e}.run-running i{background:#f1b85b;box-shadow:0 0 9px #f1b85b;animation:pulse 1s infinite}.run-passed{color:var(--green)}.run-passed i{background:var(--green)}.run-failed,.run-cancelled{color:var(--red)}.run-failed i,.run-cancelled i{background:var(--red)}.run-hint{flex:1;color:#466278;font:10px JetBrains Mono,monospace}.script-side{display:flex;flex-direction:column;gap:18px;min-width:0}.result-panel{min-height:330px;overflow:hidden}.result-list{max-height:430px;overflow:auto;padding:7px}.result-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#456278;font-size:11px}.result-item{min-height:60px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px;border-bottom:1px solid rgba(130,169,200,.08)}.result-icon{color:#607d93}.result-running .result-icon{color:#f1b85b}.result-passed .result-icon{color:var(--green)}.result-failed .result-icon,.result-cancelled .result-icon{color:var(--red)}.result-item>div{min-width:0;display:flex;flex-direction:column;gap:4px}.result-item strong{overflow:hidden;color:#aabfd0;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500}.result-item em{margin-right:7px;color:#49677e;font: 10px JetBrains Mono}.result-item small{overflow:hidden;color:#587288;white-space:nowrap;text-overflow:ellipsis;font-size:9px}.result-duration{color:#7992a5;font:9px JetBrains Mono}.recent-panel{overflow:hidden}.recent-list{max-height:210px;overflow:auto;padding:6px}.recent-list button{width:100%;display:flex;align-items:center;gap:9px;padding:8px;color:#6d879b;text-align:left;background:transparent;border:0;border-bottom:1px solid rgba(130,169,200,.07)}.recent-list button:hover{color:#b9d4e5;background:#285b7b21;border-radius:7px}.recent-list button>span{min-width:0;display:flex;flex-direction:column;gap:3px}.recent-list strong{overflow:hidden;color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:10px}.recent-list small{color:#49657a;font-size:9px}.recent-empty{padding:24px 12px;color:#48657a;text-align:center;font-size:10px}.script-cheatsheet{display:flex;flex-direction:column;gap:8px;padding:14px;color:#6c879b;background:#0b1b2cad;border:1px solid var(--line);border-radius:13px}.script-cheatsheet>strong{margin-bottom:2px;color:#a6bdce;font-size:11px}.script-cheatsheet code{display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:9px JetBrains Mono}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:22px;background:#02080fd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toast-in .18s ease}.help-shell{width:min(1180px,100%);height:100%;margin:0 auto;overflow:hidden;background:#091827;border:1px solid rgba(135,179,211,.18);border-radius:18px;box-shadow:0 30px 100px #0000008c}.help-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line)}.help-header>div{display:flex;align-items:center;gap:11px}.help-mark{width:38px;height:38px;display:grid;place-items:center;color:#05121d;background:linear-gradient(135deg,var(--cyan),var(--violet));border-radius:11px}.help-header p{display:flex;flex-direction:column;gap:2px;margin:0}.help-header strong{color:#e0edf7;font-size:15px}.help-header small{color:#658096;font-size:10px}.help-header>button{width:36px;height:36px;display:grid;place-items:center;color:#7992a6;background:#0c2134;border:1px solid var(--line);border-radius:9px}.help-layout{height:calc(100% - 72px);display:grid;grid-template-columns:220px minmax(0,1fr)}.help-nav{overflow:auto;padding:18px 12px;background:#05101c8c;border-right:1px solid var(--line)}.help-nav>strong{display:block;padding:0 10px 9px;color:#4e6a80;font-size:9px;letter-spacing:1.5px;text-transform:uppercase}.help-nav>a{display:flex;align-items:center;gap:9px;padding:9px 10px;color:#7790a5;text-decoration:none;border-radius:7px;font-size:11px}.help-nav>a:hover{color:#d2ebf7;background:#2b62832e}.help-nav>a span{color:#36546b;font:9px JetBrains Mono}.help-support{display:flex;gap:8px;margin:20px 5px 0;padding:10px;color:var(--cyan);background:#34cfff0f;border:1px solid rgba(52,207,255,.12);border-radius:10px}.help-support p{display:flex;flex-direction:column;gap:4px;margin:0}.help-support strong{color:#9fbdcf;font-size:10px}.help-support small{color:#59758a;font-size:9px;line-height:1.55}.help-content{overflow:auto;scroll-behavior:smooth;padding:18px clamp(20px,5vw,64px) 60px;color:#91a9bb}.help-content section{max-width:800px;padding:28px 0;border-bottom:1px solid var(--line)}.help-content section:first-child{padding-top:10px}.help-kicker{display:flex;align-items:center;gap:7px;color:var(--cyan);font-size:10px;letter-spacing:1px;text-transform:uppercase}.help-content h2{margin:9px 0 16px;color:#e2edf5;font-size:22px}.help-content h3{margin:23px 0 10px;color:#c7d8e4;font-size:13px}.help-content p,.help-content li{font-size:12px;line-height:1.9}.help-content ol,.help-content ul{padding-left:22px}.help-content strong{color:#c9dae6}.help-content code,.help-content pre{font-family:JetBrains Mono,monospace}.help-content code{color:#9ee8ff}.help-content pre{overflow:auto;padding:13px 15px;color:#a9cfdf;background:#06131f;border:1px solid var(--line);border-radius:9px;font-size:10px;line-height:1.7}.help-content kbd{padding:2px 5px;color:#c9e4ef;background:#142d40;border:1px solid #29475d;border-radius:4px;font:9px JetBrains Mono}.help-note,.help-warning{display:flex;gap:10px;margin:18px 0 0;padding:12px;border-radius:10px}.help-note{color:var(--green);background:#43d9a30f;border:1px solid rgba(67,217,163,.14)}.help-warning{color:#f4bd62;background:#f4bd620f;border:1px solid rgba(244,189,98,.15)}.help-note p,.help-warning p{display:flex;flex-direction:column;gap:4px;margin:0}.help-note span,.help-warning span{color:#7892a6;font-size:10px;line-height:1.65}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.help-grid>div{display:flex;flex-direction:column;gap:4px;padding:11px;background:#0c2032a8;border:1px solid var(--line);border-radius:8px}.help-grid strong{font-size:11px}.help-grid span{color:#637e93;font-size:10px;line-height:1.6}.syntax-list{display:flex;flex-direction:column;gap:7px}.syntax-list>div{padding:11px 13px;background:#071522b3;border-left:2px solid #257ba0;border-radius:0 8px 8px 0}.syntax-list p{margin:5px 0 0;font-size:10px;line-height:1.65}.faq-list{display:flex;flex-direction:column;gap:7px}.faq-list details{padding:11px 13px;background:#0a1b2bb8;border:1px solid var(--line);border-radius:8px}.faq-list summary{color:#b4cad9;cursor:pointer;font-size:11px}.faq-list p{margin:8px 0 0;color:#6f899d;font-size:10px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}@media(max-width:1100px){.connection-card{grid-template-columns:220px 1fr}.connection-actions{grid-column:1 / -1;justify-content:flex-end}.workspace-grid{grid-template-columns:1fr}.side-column{display:grid;grid-template-columns:1fr 1fr}.info-card{grid-column:1 / -1;grid-template-columns:1fr 1fr}.monitor-panel{min-height:650px}.script-workspace{grid-template-columns:1fr}.script-side{display:grid;grid-template-columns:1fr 1fr}.script-cheatsheet{grid-column:1 / -1}}@media(max-width:720px){.app-shell{padding:0 12px 20px}.topbar{height:66px}.secure-pill{display:none}.topbar{flex-wrap:wrap;height:auto;min-height:66px;padding:10px 0 0}.app-nav{order:3;width:100%;height:42px;justify-content:center}.app-nav button{flex:1;justify-content:center}.help-button{width:34px;padding:0;justify-content:center}.help-button svg{margin:0}.help-button{font-size:0}.connection-card{grid-template-columns:1fr;gap:16px}.serial-settings{grid-template-columns:repeat(2,1fr)}.connection-actions{grid-column:auto}.connection-actions>button:first-child{flex:1}.side-column{display:flex}.panel-header{align-items:flex-start;flex-direction:column}.monitor-panel .panel-header{align-items:stretch}.toolbar{justify-content:flex-start}.monitor-options{flex-wrap:wrap;gap:8px 14px;padding-top:8px;padding-bottom:8px}.receive-display-controls{width:100%;margin-left:0;flex-wrap:wrap}.paused-note{width:100%;margin-left:0}.log-line{grid-template-columns:29px minmax(0,1fr) 46px}.log-time{display:none}.stats-bar{gap:10px}.stats-bar span:last-child{display:none}.script-side{display:flex}.script-editor-panel{grid-template-rows:auto minmax(350px,1fr) auto auto}.script-editor{min-height:350px}.script-runbar{flex-wrap:wrap}.run-hint{display:none}.script-runbar button{flex:1}.help-overlay{padding:0}.help-shell{border:0;border-radius:0}.help-layout{grid-template-columns:1fr}.help-nav{display:none}.help-content{padding:12px 18px 50px}.help-grid{grid-template-columns:1fr}.help-content h2{font-size:19px}}
