:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#d0d1d3;--line:#2b2d30;--muted:#93979c;--accent:#d8dade;background:#101112;font-family:Segoe UI,Roboto,system-ui,sans-serif;font-size:14px;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}a[aria-disabled=true]{opacity:.35;pointer-events:none}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.drop-zone:focus-within{outline-offset:3px;outline:2px solid #afb3ba}svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:17px;height:17px}.svg-defs{width:0;height:0;position:absolute;overflow:hidden}main{max-width:1060px;margin:36px auto 85px;padding:0 24px}.workspace{grid-template-columns:296px minmax(0,1fr);gap:14px;min-height:calc(100vh - 154px);display:grid}.panel{border:1px solid var(--line);background:#111214;border-radius:5px}.device-panel{flex-direction:column;min-height:620px;display:flex;position:relative}.board-picker{border-bottom:1px solid var(--line);letter-spacing:.04em;margin:20px 18px 0;padding-bottom:18px;font-size:11px;font-weight:600;display:block}.board-picker small{letter-spacing:0;color:var(--muted);margin-top:9px;font-size:11px;font-weight:400;display:block}.device-copy{text-align:center;margin:auto 20px;padding:40px 0}.usb-symbol{color:#7d838a;width:26px;height:26px;margin-bottom:18px}h1{margin:0 0 12px;font-size:16px;font-weight:600}.device-copy p{color:var(--muted);max-width:260px;margin:0 auto 22px;font-size:13px;line-height:1.65}.button{border:1px solid var(--line);white-space:nowrap;background:#141618;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:35px;padding:8px 20px;font-size:12px;font-weight:500;display:inline-flex}.outline{background:#191b1e;border-color:#60656c}.button:hover:not(:disabled){background:#23262a;border-color:#a3a7ae}.device-details{border-top:1px solid var(--line);padding-top:14px;font-size:12px;position:absolute;bottom:12px;left:20px;right:20px}.device-details>div{justify-content:space-between;margin-bottom:10px;display:flex}dt{color:var(--muted)}dd{margin:0}.right-column{flex-direction:column;gap:14px;min-width:0;display:flex}.firmware-panel{padding:20px 18px 16px}h2{letter-spacing:.025em;margin:0;font-size:11px;font-weight:600}.firmware-selects{align-items:flex-end;gap:10px;margin-top:19px;display:flex}.firmware-selects>label{width:126px}.firmware-selects .version-field{flex:1;min-width:0}.icon-button{border:1px solid var(--line);width:35px;height:35px;color:var(--muted);background:0 0;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{color:#eee;border-color:#62666d}.firmware-selects .round{flex-shrink:0}.install-button{color:#e0e1e3;min-width:108px}.install-button:disabled{color:#93979d;border-color:#41464b}.firmware-selects label,label{color:var(--muted);font-size:12px}select{color:#d0d2d6;border:1px solid var(--line);letter-spacing:0;appearance:none;cursor:pointer;background:#141618 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2393979c' stroke-width='1.5'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") right 8px center no-repeat;border-radius:4px;width:100%;height:35px;margin-top:8px;padding:0 27px 0 10px;font-size:12px;font-weight:400;display:block}.release-status{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:11px;display:flex}.mode-box{margin-top:21px}.mode-box p{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.6}.section-divider{border-top:1px solid var(--line);margin:19px 0}.upload-heading{align-items:center;gap:8px;margin-bottom:14px;display:flex}.upload-heading svg{width:13px;height:13px;color:var(--muted)}.text-button{color:#a0a4ab;background:0 0;border:0;padding:0;font-size:11px}.text-button:hover{color:#f0f0f0}.upload-heading .text-button{margin-left:auto}.drop-zone{cursor:pointer;border:1px dashed #3b3e42;border-radius:4px;align-items:center;gap:14px;min-height:65px;padding:15px;display:flex}.drop-zone:hover,.drop-zone.drag-over{background:#15171a;border-color:#959ba3}.drop-zone>svg{width:18px;height:18px;color:var(--muted)}.drop-zone>span{color:#ced0d4;overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.6}.drop-zone small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.drop-zone input{opacity:0;width:1px;height:1px;position:absolute}.install-hint{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.6}.progress-area{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.progress-label{justify-content:space-between;font-size:12px;display:flex}.progress-area progress{appearance:none;background:#292c30;border:0;border-radius:2px;width:100%;height:5px;margin-top:12px;overflow:hidden}progress::-webkit-progress-bar{background:#292c30}progress::-webkit-progress-value{background:#c5c9cf}progress::-moz-progress-bar{background:#c5c9cf}.progress-area p{color:var(--muted);margin-bottom:0;font-size:11px}.logs-panel{background:#0c0d0e;flex-direction:column;flex:1;min-height:310px;display:flex}.logs-heading{border-bottom:1px solid var(--line);background:#111214;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.logs-title{background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.logs-title>svg{width:14px;height:14px;color:var(--muted)}.logs-title>span{border:1px solid var(--line);min-width:18px;height:18px;color:var(--muted);border-radius:9px;justify-content:center;align-items:center;padding:2px;font-size:10px;display:inline-flex}.log-tools{align-items:center;gap:12px;display:flex}#log-filter{background-color:#0000;border-color:#0000;width:120px;height:26px;margin:0;font-size:11px}.small{border:0;width:16px;height:16px}.small>svg{width:13px;height:13px;transform:rotate(180deg)}.collapsed .small>svg{transform:none}#logs-content{flex-direction:column;flex:1;min-height:0;display:flex}.terminal{scrollbar-width:thin;scrollbar-color:#353a40 transparent;flex:1;min-height:240px;max-height:calc(100vh - 400px);padding:10px;font:11px/1.8 ui-monospace,Cascadia Code,Consolas,monospace;overflow:auto}.log-line{overflow-wrap:anywhere;grid-template-columns:58px 1fr;gap:8px;display:grid}.log-time{color:#818891}.log-message{color:#c5c9ce}.log-line.error .log-message{color:#d7a5a5}.log-line.success .log-message{color:#b1c5b4}.log-line.warning .log-message{color:#bfc0c3}.terminal-footer{color:var(--muted);border-top:1px solid #25282c;justify-content:space-between;gap:10px;padding:10px;font-size:10px;display:flex}.terminal-footer>span:first-child{align-items:center;gap:6px;display:flex}.status-dot{background:#60656d;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.status-dot.connected{background:#b5bcc5}footer{color:#868d95;padding:16px 0;font-size:11px}.notice{color:#c1c6cd;background:#181a1d;border:1px solid #53585f;border-radius:4px;margin-bottom:16px;padding:13px 15px;font-size:13px;line-height:1.65}.bottom-bar{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:fixed;bottom:18px;left:24px;right:24px}.bottom-links,.github-link{pointer-events:auto;background:#17191c;border:1px solid #383c42;border-radius:5px;align-items:center;display:flex;box-shadow:0 3px 12px #0003}.bottom-links{gap:2px;padding:5px}.nav-link,.nav-connect{color:#bfc4cb;cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:500;display:inline-flex}.nav-link:hover,.nav-connect:hover:not(:disabled){color:#fff;background:#2a2e33}.github-link{color:#c4c8ce;gap:10px;padding:14px 18px;font-size:12px}.github-link:hover{border-color:#858d97}dialog{color:#d1d5da;background:#17191c;border:1px solid #464c54;border-radius:6px;width:490px;max-width:calc(100vw - 32px);padding:26px}dialog::backdrop{background:#000b}dialog h2{letter-spacing:0;margin-bottom:18px;font-size:18px;font-weight:600}dialog p,dialog li{color:#aeb5be;font-size:13px;line-height:1.75}dialog ol{padding-left:20px}dialog li{margin-bottom:9px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.dialog-field{margin:18px 0;display:block}.confirm-build{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:70px 1fr;gap:12px;margin:20px 0;padding:17px 0;font-size:12px;display:grid}.confirm-build dd{overflow-wrap:anywhere}.confirm-checkbox{align-items:flex-start;gap:9px;font-size:13px;line-height:1.7;display:flex}.confirm-checkbox input{accent-color:#c0c6cf;margin-top:4px}#browser-result{color:#dde0e5;border-top:1px solid #343940;padding-top:15px}@media (max-width:850px){.workspace{grid-template-columns:250px minmax(0,1fr)}.firmware-selects{flex-wrap:wrap}.firmware-selects>label{width:110px}.install-button{margin-left:auto}.logs-heading{flex-wrap:wrap}.log-tools{margin-left:auto}}@media (max-width:620px){main{margin-top:20px;margin-bottom:82px;padding:0 14px}.workspace{grid-template-columns:1fr;min-height:0}.device-panel{min-height:285px}.device-copy{padding:30px 0}.device-details{margin:0 20px 12px;position:static}.firmware-panel{padding:19px 14px 16px}.firmware-selects{gap:8px}.firmware-selects>label{width:108px}.firmware-selects .version-field{min-width:100px}.install-button{min-width:98px}.terminal{min-height:240px;max-height:350px;font-size:11px}.logs-panel{min-height:310px}.logs-heading,.log-tools{gap:10px}#log-filter{width:112px}.bottom-bar{gap:6px;bottom:12px;left:10px;right:10px}.bottom-links{gap:0;padding:4px}.nav-link,.nav-connect{padding:8px;font-size:11px}.github-link{gap:5px;padding:13px 10px;font-size:11px}.release-status{font-size:10px}.drop-zone{padding:14px 11px}}.workspace{align-items:stretch;height:max(760px,100dvh - 154px);min-height:0}.device-panel{min-height:0}.right-column{height:100%;min-height:0}.firmware-panel{flex:none}.logs-panel{flex:1 1 0;height:auto;min-height:0;overflow:hidden}.logs-panel.collapsed{flex:none;height:auto}.usb-symbol{stroke-width:1.6px;width:32px;height:32px;overflow:visible}.logs-heading,.terminal-footer{flex-shrink:0}.logs-panel #logs-content{min-height:0;overflow:hidden}.logs-panel .terminal{overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable;flex:1 1 0;min-height:0;max-height:none;overflow:hidden auto}.button,.nav-link,.nav-connect,.icon-button,.text-button,.github-link,select,.drop-zone{transition:background-color .15s,border-color .15s,color .15s,transform .15s}.button:active:not(:disabled),.nav-link:active,.nav-connect:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)}.small>svg{transition:transform .16s}dialog{opacity:0;transition:opacity .16s ease,transform .16s ease,display .16s allow-discrete,overlay .16s allow-discrete;transform:translateY(8px)}dialog[open]{opacity:1;transform:translateY(0)}dialog::backdrop{opacity:0;transition:opacity .16s ease,display .16s allow-discrete,overlay .16s allow-discrete}dialog[open]::backdrop{opacity:1}@starting-style{dialog[open]{opacity:0;transform:translateY(8px)}dialog[open]::backdrop{opacity:0}}@media (max-width:620px){.workspace{height:auto}.device-panel{min-height:285px}.right-column{height:auto}.logs-panel{flex:none;height:320px}.logs-panel.collapsed{height:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}dialog,dialog[open]{transform:none}}
