:root{color-scheme:dark;--orange:#ff8c42;--line:#68442e;--muted:#a7a6aa;--bg:#151517;--text:#edecef;--frame:#38302b;font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#0d0e10;color:var(--text)}main{padding:10px;min-height:100vh}button,input,select{font:inherit}button,select,input[type=number],input[type=text]{border:1px solid #634631;border-radius:4px;padding:3px 7px;background:var(--frame);color:var(--text)}button{cursor:pointer;background:#66412c;white-space:nowrap}button:hover{background:#9a5931}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #ffb77c;outline-offset:2px}button:disabled,fieldset:disabled{opacity:.5;cursor:default}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--orange)}input[type=checkbox],input[type=radio]{margin:0 4px 0 0;vertical-align:middle}input[type=number]{width:76px}input[type=text]{width:180px}select{max-width:270px}select[data-key]{width:126px}label{display:inline-flex;align-items:center;gap:4px}small,.muted{color:var(--muted);font-size:12px}p{margin:6px 0}.orange,h2{color:#ffa358}.connectionbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;margin-bottom:8px}.connectionbar>b{margin-right:6px;font-size:11px}.connectionbar>b span{color:var(--orange)}.connectionbar .appVersion{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;background:#2a1c16;border:1px solid #a7663c;color:#ffad76;font-size:11px;font-weight:700}#connectionStatus{color:var(--muted);max-width:550px;overflow-wrap:anywhere}#showWindow{margin-left:auto}.statusbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:#141416;border:1px solid #a25e34;border-radius:4px;padding:5px 9px;max-width:1160px;font-size:12px;margin-bottom:8px}.statusbar strong{color:#ffa358;font-weight:500}.statusbar small{margin-left:auto}.statusbar button[aria-pressed=true]{color:#6aea87;background:#253b28;border-color:#398747}.performance{display:flex;gap:14px;align-items:center;background:#19191b;border:1px solid #785237;border-radius:4px;padding:4px 10px;font-size:12px;width:max-content;max-width:100%;flex-wrap:wrap}.performance b{color:var(--orange)}.performance button{margin-left:auto}.window{position:absolute;left:16px;top:94px;width:780px;height:700px;max-width:calc(100vw - 26px);min-width:330px;min-height:360px;background:var(--bg);border:1px solid #a7663c;border-radius:6px;display:flex;flex-direction:column;resize:both;overflow:hidden;box-shadow:0 12px 48px #0007}.titlebar{display:flex;gap:15px;align-items:center;background:#d97b3f;color:#1e1511;padding:5px 9px;min-height:32px;cursor:move;user-select:none;touch-action:none}.titlebar>b{font-size:13px;white-space:nowrap}.titlebar span{font-size:12px;opacity:.85}.titlebar button{background:transparent;color:#24160d;border:0;margin-left:auto;font-size:18px;padding:0 5px;line-height:1.1}.titlebar button:hover{background:#ae5e34}#mainTabs{display:flex;gap:3px;padding:7px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0}#mainTabs button{background:#483223;border-radius:4px 4px 0 0;border:0;padding:4px 12px;color:#ddd4cc}#mainTabs button[aria-selected=true]{background:var(--orange);color:#1c1109}#mainTabs button:hover{background:#bf713e}.windowContent{overflow:auto;flex:1;min-height:0;scrollbar-color:#9a593d #1a191b}.tabpane{padding:12px}.group{padding:9px 0 13px;border-bottom:1px solid var(--line)}.group:first-child{padding-top:2px}.group:last-child{border-bottom:0}h2{font-size:13px;font-weight:600;margin:0 0 6px}h2:empty{display:none}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:7px 0}.row.slots{margin:0 0 5px}.slots label{margin-right:8px}.slots span{margin-left:auto;font-size:11px}.inset{padding:3px 8px;background:#182330;color:#8db9e6;font-size:12px;border-left:2px solid #3b638c;margin:7px 0}.inset input{width:60px;background:#1e3044;border-color:#41526b}.unavailable{color:#838186}.unavailable span{font-size:11px}fieldset{border:0;padding:0;margin:12px 0}dl{margin:8px 0}.usbDetails{display:grid;grid-template-columns:42px 1fr;gap:5px}dd{margin:0;overflow-wrap:anywhere}.windowFooter{flex-shrink:0;display:flex;justify-content:space-between;gap:10px;font-size:11px;border-top:1px solid #3c2c24;color:#96939a;padding:4px 10px}#sourceLabel{color:#dfab80}.statbar{height:22px;background:#252427;position:relative;overflow:hidden;border-radius:3px;margin:9px 0}.statbar i{position:absolute;inset:0 auto 0 0;background:#b43737;width:0}.statbar.mp i{background:#336dbb}.statbar span{position:relative;display:flex;align-items:center;justify-content:center;height:100%;text-align:center;font-size:12px;line-height:1;color:#fff}.timedRow{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #342a25;font-size:12px}.timedRow input[type=number]{width:64px}.timedRow select{width:110px}.timedRow button{margin-left:auto}#timedKeys{margin:12px 0}#keyIntents{font-size:12px;color:#edd4b3;padding:8px 0}.canvasWrap{position:relative;border:1px solid #af6d39;border-radius:4px;background:#101014;overflow:hidden;margin-top:12px}canvas{width:100%;height:370px;display:block;touch-action:none;cursor:crosshair}.dropChip{position:absolute;left:10px;top:10px;background:#382c21;border:1px solid #c88542;border-radius:4px;padding:4px 8px;color:#f4cfa6;font-size:12px;box-shadow:1px 1px 2px #0006}.mapPane>p{font-size:12px}#mapZoom{width:115px}.mapFooter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;margin:9px 0}.legend{color:#5cee79}.legend .mob{color:#ff5265}.legend .ladder{color:#6ee484}.legend .portal{color:#f4dd70}.planstrip{display:flex;gap:5px 13px;flex-wrap:wrap;color:#d2c0ae;font-size:12px;border-top:1px solid #493126;padding-top:8px}.diagnostic{white-space:pre-wrap;font:12px/1.8 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.tableScroll{max-height:220px;overflow:auto;margin:8px 0}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:5px 7px;border:1px solid #4a3528;text-align:left;font-variant-numeric:tabular-nums}th{color:#ffd1ab;background:#493324;font-weight:500;position:sticky;top:0}tr:nth-child(even){background:#1c1a1a}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 ui-monospace,monospace;color:#c1bab4}details{margin:10px 0}summary{cursor:pointer;color:#bfa997}#usbState{font-weight:400;font-size:12px;margin-left:8px}.ok{color:#78d78b}.warn{color:#ffc881}#health{font:11px/1.6 ui-monospace,monospace;margin:8px 0}.logWindow{left:48px;top:145px;width:550px;height:340px;z-index:10}.logTools{padding:0 10px;margin:8px 0}#logText{flex:1;overflow:auto;margin:0 10px 10px;background:#101012;border:1px solid #4c3526;padding:10px}.stale canvas{opacity:.55}@media(min-height:850px){.window{height:740px}canvas{height:410px}}@media(max-width:820px){.window{position:relative;left:0!important;top:0!important;width:100%;max-width:100%;height:calc(100vh - 160px);min-width:0;min-height:480px;resize:vertical;margin-top:10px}.titlebar span{font-size:10px}.statusbar{gap:5px 12px}.statusbar small{margin-left:0}#connectionStatus{flex-basis:100%;order:2}#mainTabs button{padding:5px 10px}.logWindow{position:fixed;left:4%!important;top:140px!important;width:92%;height:340px;min-height:0}.windowFooter{flex-wrap:wrap}}@media(max-width:480px){main{padding:6px}.connectionbar select{max-width:125px}.titlebar{gap:8px}.titlebar span{max-width:170px}canvas{height:330px}select[data-key]{width:110px}.tabpane{padding:10px}.row{gap:7px 10px}.row label{font-size:12px}.slots span{flex-basis:100%;margin-left:0}.timedRow button{margin-left:0}.performance{gap:5px}.window{min-height:520px}}

#probeTooltip{position:fixed;z-index:1000;max-width:min(390px,calc(100vw - 16px));padding:9px 12px;background:#232023;border:1px solid #b17a48;border-radius:4px;box-shadow:0 6px 20px #0009;color:#f1e6dc;white-space:pre-line;font:12px/1.65 system-ui;pointer-events:none}.logWindow .titlebar{touch-action:none}#skipRest{color:#19120b;background:#ff9e54}
.petStatus{margin:10px 0 14px}.petStatusName{font-size:12px;color:#ddd3c9;overflow-wrap:anywhere}.petStatus .statbar{margin:5px 0 0}.statbar.pet i{background:#8f6f16}.statbar.pet span{text-shadow:0 1px 2px #000,0 0 2px #000}
dialog#hidModal{z-index:40;width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:0;border:1px solid #a7663c;border-radius:6px;background:#151517;color:var(--text);box-shadow:0 16px 60px #000b}dialog#hidModal::backdrop{background:#0009}.hidDialog{margin:0}.hidDialog .titlebar{cursor:default;position:sticky;top:0;z-index:1}.hidBody{padding:14px}.hidBody>label{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:10px 0;color:#d5c9be;font-size:12px}.hidBody select{width:100%;max-width:none;min-height:34px}.hidBody small{display:block;margin-top:13px;line-height:1.6}.hidToggle{margin:14px 0!important;font-size:13px!important;flex-direction:row!important;align-items:center!important}.hidToggle input{accent-color:var(--orange)}.hidError{color:#ff8793;overflow-wrap:anywhere}.hidPad[aria-disabled=true]{opacity:.45}.hidPreset .row select{flex:1;min-width:120px;width:auto}
.hidPad{height:120px;display:flex;align-items:center;justify-content:center;margin-top:12px;border:1px dashed #a7663c;border-radius:4px;color:#a7a6aa;touch-action:none;user-select:none}.hidMouseButtons button{min-width:68px}.hidRole{display:grid;gap:4px;padding:9px 11px;border-left:2px solid var(--orange);background:#2a201b;color:#e4c4a7;font-size:12px}.hidRole span{color:#ffd1ab}.hidRole small{margin-top:3px}.hidState{display:grid;grid-template-columns:120px 1fr;gap:5px 10px;margin:12px 0;padding:9px;background:#1c1918;border:1px solid #4a3528;border-radius:4px;font-size:12px}.hidState span{color:#aaa09a}.hidState b{overflow-wrap:anywhere;color:#ffb77c}.hidPreset{margin:12px 0;padding:9px 0;border-top:1px solid #493126}.hidPreset h3{margin:0 0 6px;color:#ffa358;font-size:13px}.hidPreset label{display:flex;flex-direction:column;align-items:stretch;gap:5px}.hidPreset select{max-width:none;width:100%;min-height:34px}.hidApply{width:100%;margin:4px 0 8px;padding:8px;background:var(--orange);color:#1c1109;font-weight:600}
#hidTestControls{border:0;padding:0;margin:0;min-width:0}#hidTestControls .row{margin:8px 0}.hidTestKeyRow{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:10px}.hidTestKeyRow input,.hidTestMouseRow input{width:100%;max-width:none;box-sizing:border-box;min-height:34px}.hidModifiers{gap:12px!important}.hidModifiers label{flex-direction:row;align-items:center;gap:4px}.hidTestText{margin:12px 0 8px}.hidTestText input{max-width:none;width:100%;box-sizing:border-box;min-height:34px}.hidTestMouseRow{display:flex;gap:8px;align-items:end;margin:12px 0 8px;flex-wrap:wrap}.hidTestMouseRow label{flex:1 1 70px;min-width:0;max-width:120px}.hidTestMouseRow button{min-height:34px}#hidTestStatus{min-height:18px;overflow-wrap:anywhere}@media(max-width:400px){.hidState{grid-template-columns:92px minmax(0,1fr)}.hidBody{padding:10px}}

/* Match probe render_ui log dimensions, proportional text and category colors. */
.logWindow{width:520px;height:320px}.logWindow .logTools{padding-bottom:8px;border-bottom:1px solid #4c3526}#logText{font:13px/1.5 "Segoe UI","Microsoft YaHei",sans-serif;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;padding:8px}.log-pickup{color:#66c7ff}.log-verification{color:#ff5247}.log-login{color:#ff9e33}

.connectionAction{display:inline-flex;align-items:center;gap:6px}.connectionAction .connectionDot{width:7px;height:7px;border-radius:50%;background:#e2b34e;box-shadow:0 0 0 2px #e2b34e22;flex:0 0 auto}.connectionAction[data-state=connected]{background:#25422c;border-color:#438c53;color:#a8efb3}.connectionAction[data-state=connected] .connectionDot{background:#59dd78;box-shadow:0 0 0 2px #59dd7833}.connectionAction[data-state=connected][data-action=stop]{background:#4a2e29;border-color:#a45d4d;color:#ffd0c4}.connectionAction[data-state=connecting]{background:#4b3c27;border-color:#c39142;color:#ffd17e}.connectionAction:disabled{opacity:.9}
.dmaControls{display:inline-flex;align-items:stretch;border:1px solid #68442e;border-radius:5px;overflow:hidden}.dmaControls[data-state=disconnected] #connect,.dmaControls[data-state=connecting] #connect{border-radius:4px}.dmaControls[data-state=connected] #connect{border-radius:4px 0 0 4px;border-right-color:#68442e}.dmaControls .connectionAction{border:0}.connectionStop{display:inline-flex;align-items:center;gap:5px;border:0;border-left:1px solid #a45d4d;border-radius:0;background:#4a2e29;color:#ffd0c4;padding:3px 9px}.connectionStop:hover{background:#7d4037}.connectionStop:disabled{opacity:.55}

.chan-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 4px}
.chan-picker button{min-width:40px;height:26px;padding:0 8px;line-height:1}
.chan-picker button.chan-auto{min-width:auto;padding:0 10px}
.chan-picker button[aria-pressed=true]{background:#ff8c42d9;border-color:#ffb77c;color:#1c1109}

/* Movable utility windows share the saved workspace geometry. */
#statusBar,#perfBar{resize:both;overflow:auto;min-height:30px;min-width:150px}
#statusBar>b,#perfBar>b{cursor:move;touch-action:none;user-select:none}

.releaseNotice{position:fixed;z-index:100;top:10px;left:50%;transform:translateX(-50%);display:flex;white-space:nowrap;animation:releaseNoticeEnter .3s ease-out both}
.releaseNotice[hidden]{display:none}
@keyframes releaseNoticeEnter{from{opacity:0;transform:translate(-50%,-65px)}to{opacity:1;transform:translate(-50%,0)}}
.releaseNoticeAction{display:inline-flex;align-items:center;gap:8px;padding:3px 12px 3px 5px;border:0;border-radius:999px;background:linear-gradient(180deg,#805239,#633c29);color:#ffe9d5;font-size:12px;box-shadow:0 3px 6px #0005,0 10px 24px #0006,inset 0 1px 0 #ffe4bd30;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.releaseNoticeAction:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 5px 10px #0005,0 14px 30px #0007,inset 0 1px 0 #ffe4bd40}.releaseNoticeAction:active{transform:translateY(0);box-shadow:0 2px 5px #0006,0 5px 12px #0005,inset 0 1px 0 #ffe4bd20}
.releaseNoticeOrb{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:#b8e6c5;color:#244e33;line-height:0}.releaseNoticeOrb svg{display:block;width:14px;height:14px}
@media(prefers-reduced-motion:reduce){.releaseNotice{animation:none}.releaseNoticeAction{transition:none}.releaseNoticeAction:hover,.releaseNoticeAction:active{transform:none}}
@media(max-width:640px){.releaseNotice{top:6px;max-width:calc(100vw - 12px)}.releaseNoticeAction{padding-right:8px}}

.accountStrip{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;max-width:1160px;margin-bottom:10px;padding:6px 9px;border-bottom:1px solid #68442e;font-size:12px;color:#aaa09a}.accountStrip>span{overflow-wrap:anywhere;max-width:100%}.accountStrip>span:first-child{color:#ffad76}.accountStrip a{color:#dfa478;margin-left:auto}.accountStrip button{font-size:11px}.accountStrip~#probeWindow{top:var(--workspace-top,132px)}@media(max-width:480px){.accountStrip{gap:5px 12px}.accountStrip>span:nth-child(2){font-size:10px}.accountStrip a{margin-left:0}}
