:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff;--bg:#000;--panel:#101010;--panel-soft:#161616;--panel-raised:#1b1b1b;--line:#383838;--line-soft:#242424;--muted:#a8a8a8;--text:#fff;--yellow:#fff200;--yellow-dim:#cfc500;background:#000;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit;font-size:.78rem}button{cursor:pointer}.app-shell{background:#000;grid-template-columns:300px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line-soft);background:#0b0b0b;min-height:100vh;padding:16px 12px}.brand{min-height:48px;color:var(--yellow);align-items:center;gap:10px;padding:0 10px 14px;display:flex}.brand div{gap:1px;display:grid}.brand strong{font-size:.78rem}.brand span{color:var(--muted);font-size:.58rem}.tree{gap:4px;display:grid}.tree-row{color:#ddd;text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:18px 20px minmax(0,1fr);align-items:center;gap:6px;width:100%;min-height:36px;padding:6px 8px;font-size:.82rem;display:grid}.tree-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-row:hover,.tree-row.selected{border-color:var(--yellow);color:#fff;background:#151500}.folder-row{font-weight:700}.tree-children{border-left:1px solid var(--line);margin-left:12px;padding-left:8px}.command-row{font-size:.72rem;font-weight:600}.tree-meta{color:var(--muted);margin:-2px 0 5px 54px;font-size:.52rem}.workspace{grid-template-rows:auto auto minmax(0,1fr);min-width:0;display:grid}.topbar{background:#000;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px 12px;display:flex}.eyebrow,.panel-heading p{color:var(--muted);text-transform:uppercase;letter-spacing:0;margin:0 0 3px;font-size:.72rem;font-weight:800}h1,h2{letter-spacing:0;margin:0}h1{font-size:1rem;line-height:1.1}h2{font-size:.9rem}.status-badge{border:1px solid var(--yellow);max-width:520px;min-height:44px;color:var(--yellow);white-space:nowrap;background:#111;align-items:center;gap:10px;padding:0 14px;font-size:.72rem;font-weight:800;display:inline-flex}.status-badge span{text-overflow:ellipsis;overflow:hidden}.serial-panel{border-block:1px solid var(--line-soft);background:#090909;padding:12px 22px 16px}.section-title{color:var(--yellow);align-items:center;gap:8px;margin-bottom:10px;font-size:.9rem;display:flex}.serial-form{grid-template-columns:minmax(220px,1.5fr) 118px 112px 88px 88px 116px 92px 122px;align-items:end;gap:10px;display:grid}.field{color:#fff;gap:5px;font-weight:800;display:grid}.field span{font-size:.78rem}.field select,.field input{border:1px solid var(--line);color:#000;background:#f4f4f4;border-radius:3px;width:100%;min-height:34px;padding:0 9px}.field.dark input{border-color:var(--line);color:#fff;background:#090909}.field.dark .banking-input{text-align:right;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:900}.field small{color:var(--muted);font-size:.75rem;font-weight:500}.btn,.icon-btn{border:1px solid var(--yellow);min-height:33px;color:var(--yellow);background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.8rem;font-weight:900;display:inline-flex}.btn.soft,.btn.primary,.btn.secondary{background:var(--yellow);color:#000}.btn:disabled{opacity:.58;cursor:progress}.icon-btn{width:42px;padding:0}.command-grid{grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:14px;min-height:0;padding:14px 22px 18px;display:grid}.builder-panel,.log-panel{border:1px solid var(--line-soft);background:var(--panel);border-radius:5px;min-width:0;padding:16px}.panel-heading{color:var(--yellow);justify-content:space-between;align-items:center;gap:16px;display:flex}.description{color:#dedede;margin:12px 0 14px;font-size:.72rem;line-height:1.4}.param-grid{gap:10px;margin-bottom:14px;display:grid}.no-param{border:1px solid var(--line);color:#fff;background:#080808;border-radius:4px;align-items:center;gap:8px;padding:10px;font-size:.9rem;display:flex}.packet-card{border:1px solid var(--line);background:#070707;border-radius:5px;overflow:hidden}.packet-toolbar{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:10px;display:flex}.mini-toggle{border:1px solid var(--yellow);grid-template-columns:1fr 1fr;display:inline-grid}.mini-toggle button{min-width:72px;min-height:32px;color:var(--yellow);background:#050505;border:0;font-size:.82rem;font-weight:900}.mini-toggle button.active{background:var(--yellow);color:#000}output{color:#fff;word-break:break-word;min-height:86px;padding:14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.5;display:block}output.invalid{color:#fff;background:#1e1e00}.checksum-row{color:var(--muted);align-items:center;gap:10px;margin-top:10px;font-size:.84rem;display:flex}.checksum-row strong{color:var(--yellow);font-size:.96rem}.command-actions{grid-template-columns:1fr 1fr 42px;gap:10px;margin-top:14px;display:grid}.log-panel{grid-template-rows:auto auto minmax(0,1fr);display:grid}.ghost-icon{border:1px solid var(--line);width:34px;height:34px;color:var(--yellow);background:#0c0c0c;border-radius:4px;place-items:center;display:inline-grid}.log-list{align-content:start;gap:8px;min-height:0;max-height:calc(100vh - 275px);margin-top:12px;padding-right:4px;display:grid;overflow:auto}.empty-log{min-height:150px;color:var(--muted);border:1px dashed var(--line);border-radius:5px;place-items:center;gap:8px;font-size:.9rem;display:grid}.auto-log-reference{border:1px solid var(--line);color:#ddd;background:#080808;border-radius:4px;gap:6px;margin-top:12px;padding:10px;font-size:.8rem;display:grid}.auto-log-reference strong{color:var(--yellow);font-size:.88rem}.auto-log-reference code{border:1px solid var(--line-soft);color:#fff;overflow-wrap:anywhere;background:#000;padding:6px;display:block}.log-entry{border-left:3px solid var(--line);background:#090909;border-radius:4px;padding:10px}.log-entry.ok,.log-entry.sent,.log-entry.warn{border-color:var(--yellow)}.log-entry.error{background:#181800;border-color:#fff}.log-entry header{color:var(--yellow);justify-content:space-between;gap:10px;font-size:.82rem;display:flex}.log-entry p{color:#fff;overflow-wrap:anywhere;margin:6px 0 0;font-size:.86rem}.parsed{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.parsed span{border:1px solid var(--line);color:#ddd;border-radius:3px;padding:4px 6px;font-size:.78rem}.parsed b{color:#fff}@media (width<=1280px){.app-shell{grid-template-columns:270px minmax(0,1fr)}.serial-form{grid-template-columns:repeat(4,minmax(0,1fr))}.command-grid{grid-template-columns:1fr}.log-list{max-height:320px}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line-soft);min-height:auto}.topbar{flex-direction:column;align-items:stretch}.status-badge{max-width:none}.serial-form,.command-actions{grid-template-columns:1fr}.icon-btn{width:100%}.packet-toolbar{flex-direction:column;align-items:stretch}}
