@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600;700&display=swap";:root{color-scheme:light;--page: #f5f7ee;--page-glow: #d2dbbb;--surface: #ffffff;--surface-muted: #e8ecdb;--surface-sunken: #f5f7ee;--ink: #232b18;--muted: #4b5932;--line: #d2dbbb;--line-strong: #b5c492;--accent: #60723e;--accent-hover: #4b5932;--accent-ink: #ffffff;--accent-soft: #e8ecdb;--danger: #8f313d;--danger-soft: #f8e7e4;--success: #3e6c35;--success-soft: #e5efdb;--shadow: 0 15px 40px rgba(75, 89, 50, .1);color:var(--ink);background:var(--page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}html[data-theme=dark]{color-scheme:dark;--page: #232b18;--page-glow: #4b5932;--surface: #363f28;--surface-muted: #3e482c;--surface-sunken: #2b341d;--ink: #f5f7ee;--muted: #b5c492;--line: #4b5932;--line-strong: #60723e;--accent: #60723e;--accent-hover: #4b5932;--accent-ink: #ffffff;--accent-soft: #3e482c;--danger-soft: #552432;--success: #b5c492;--success-soft: #3e482c;--shadow: 0 15px 40px rgba(0, 0, 0, .22)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 82% -12%,var(--page-glow) 0,transparent 31rem),var(--page)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:2px}.app-shell{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#7c9151,#60723e);box-shadow:0 7px 18px #0000002e;font-size:27px;font-weight:800}.brand h1,h2,h3,p{margin:0}.brand h1{font-size:18px;letter-spacing:-.02em}.brand p,.muted{margin-top:3px;color:var(--muted);font-size:13px}.header-actions,.toolbar,.connection-actions,.danger-zone,.modal-header-actions,.modal-language-switch,.intro-links{display:flex;align-items:center;gap:9px;flex-wrap:wrap}select,input{border:1px solid var(--line-strong);border-radius:12px;padding:9px 10px;color:var(--ink);background:var(--surface)}.header-actions select{padding:7px 9px;font-size:13px}.theme-button,.help-button{display:grid;width:32px;height:32px;place-items:center;padding:0;border:1px solid var(--line-strong);border-radius:12px;color:var(--muted);background:var(--accent-soft);font-weight:800}.theme-button{font-size:17px}.help-button{border-radius:50%;font-size:16px}.theme-button:hover,.help-button:hover{color:var(--ink);background:var(--surface-muted)}.connection-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);font-size:13px}.connection-chip i{width:7px;height:7px;border-radius:50%;background:#7c9151}.connection-chip.connected{border-color:#7c9151;color:var(--muted)}.connection-chip.connected i{background:#60723e;box-shadow:0 0 10px #99ad6e}.connection-chip.connecting i{background:#c88c24}.connection-chip.error i{background:#b65057}.app-tabs{display:flex;gap:4px;margin-bottom:14px;padding:5px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface-muted)}.app-tabs button{flex:0 0 auto;border:0;border-radius:10px;padding:8px 12px;color:var(--muted);background:transparent;font-size:13px}.app-tabs button.active{color:#fff;background:var(--accent)}.panel{border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 98%,transparent),color-mix(in srgb,var(--surface-muted) 88%,transparent));box-shadow:var(--shadow)}.connection-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;margin-bottom:16px}.connection-hero h2{margin-top:4px;font-size:24px}.connection-hero p:not(.eyebrow){max-width:710px;margin-top:6px;color:var(--muted);font-size:14px}.eyebrow{color:var(--accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.primary-button,.secondary-button,.quiet-button,.danger-button,.icon-button{border:0;border-radius:12px;padding:9px 13px;transition:transform .15s,background .15s,color .15s}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.quiet-button:hover:not(:disabled),.danger-button:hover:not(:disabled),.icon-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button{color:var(--accent-ink);background:var(--accent);font-weight:700}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.secondary-button{color:var(--ink);background:var(--surface-muted)}.secondary-button:hover:not(:disabled),.quiet-button:hover:not(:disabled){background:var(--line)}.quiet-button{color:var(--ink);background:var(--accent-soft);font-size:13px}.danger-button{color:#fff;background:var(--danger)}.icon-button{padding:3px 8px;color:var(--danger);background:transparent;font-size:20px}.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:16px;border:1px solid transparent;border-radius:10px;font-size:14px}.notice button{border:0;color:inherit;background:transparent;font-size:20px}.notice.error{border-color:#b65057;color:#792f38;background:var(--danger-soft)}.notice.success{border-color:#99ad6e;color:var(--success);background:var(--success-soft)}html[data-theme=dark] .notice.error{color:#fecaca}.modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#141a0dbd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.intro-modal{width:min(800px,100%);overflow:hidden;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);box-shadow:0 28px 80px #0006}.intro-modal-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface-muted)}.intro-modal-header h2{font-size:19px}.modal-language-switch{gap:0;padding:3px;border-radius:8px;background:var(--surface-sunken)}.modal-language-switch button{border:0;border-radius:6px;padding:5px 8px;color:var(--muted);background:transparent;font-size:11px;font-weight:800}.modal-language-switch button.active{color:#fff;background:var(--accent)}.modal-close-button{width:31px;height:31px;padding:0;border:0;border-radius:8px;color:var(--muted);background:var(--line);font-size:23px;line-height:1}.modal-close-button:hover{color:var(--ink);background:var(--line-strong)}.intro-modal-body{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(0,1.1fr);align-items:stretch}.intro-device-image{width:100%;height:100%;min-height:300px;object-fit:cover;background:#fff}.intro-copy{display:grid;align-content:center;gap:13px;padding:24px;color:var(--muted);font-size:14px;line-height:1.55}.intro-copy p{margin:0}.intro-links{margin-top:4px}.intro-links a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;text-decoration:none}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.metric{position:relative;min-height:122px;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.metric:after{position:absolute;right:-15px;bottom:-35px;width:110px;height:110px;border-radius:50%;content:"";opacity:.16}.metric.teal:after{background:#99ad6e}.metric.violet:after{background:#7c9151}.metric.amber:after{background:#b5c492}.metric.blue:after{background:#60723e}.metric span{position:relative;color:var(--muted);font-size:13px}.metric strong{position:relative;display:block;margin-top:15px;letter-spacing:-.055em;font-size:clamp(25px,3vw,38px)}.metric small{margin-left:7px;color:var(--muted);font-size:15px;letter-spacing:normal}.settings-strip{display:flex;align-items:end;gap:14px;padding:13px 16px;margin-bottom:16px}.settings-strip label,.form-row label,.full-field,.four-fields label,.offsets-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.settings-strip label select{min-width:135px}.device-inline{padding:0 10px;border-left:1px solid var(--line)}.device-inline span{display:block;color:var(--muted);font-size:12px}.device-inline strong{display:block;margin-top:4px;font-size:14px}.compact-controls{gap:10px;padding:10px 12px}.compact-controls label{gap:4px}.compact-controls label select{min-width:98px;padding:6px 8px}.recording-inline{margin-left:auto}.recording-inline input{width:150px;padding:7px 9px;font-size:13px}.recording-status{color:var(--danger);font-size:13px}.maximum-inline{display:flex;align-items:center;gap:8px;padding-left:10px;border-left:1px solid var(--line);color:var(--muted);font-size:12px}.maximum-inline strong{color:var(--ink);font-weight:600;white-space:nowrap}.maximum-inline .quiet-button{padding:7px 9px}.monitor-workspace{display:grid;grid-template-columns:164px minmax(0,1fr);gap:14px;margin-bottom:16px}.compact-metrics{grid-template-columns:1fr;gap:8px;margin:0;align-content:start}.compact-metrics .metric{min-height:0;padding:11px 12px;border-radius:10px}.compact-metrics .metric strong{margin-top:4px;font-size:22px}.compact-metrics .metric small{margin-left:4px;font-size:12px}.monitor-workspace .chart-panel{min-width:0;margin-bottom:0}.chart-panel,.sessions-panel{padding:18px;margin-bottom:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.panel-heading h2,.advanced h2,.diagnostics h2,.raw-console h2{margin-top:3px;font-size:18px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.two-column .panel{padding:18px}.split-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.split-values span{padding:10px;border-radius:8px;color:var(--ink);background:var(--surface-sunken);text-align:center;font-size:13px}.full-field input{width:100%}.contract{display:flex;align-items:baseline;gap:11px;padding:13px;border-radius:10px;background:var(--surface-sunken)}.contract strong{font-size:26px;letter-spacing:-.04em}.contract span{color:var(--muted);font-size:13px}.pdo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pdo{display:grid;gap:2px;padding:10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface-sunken);text-align:left}.pdo small,.pdo em{color:var(--muted);font-size:12px}.pdo em{font-style:normal}.pdo.selected{border-color:var(--accent);background:var(--accent-soft)}.pdo-request-form{display:grid;gap:10px;padding:12px;margin-top:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-sunken)}.pdo-request-form>span{color:var(--muted);font-size:12px}.top-space{margin-top:12px}.device-details{display:grid;grid-template-columns:110px 1fr;gap:10px;margin:0;font-size:14px}.device-details dt{color:var(--muted)}.device-details dd{margin:0;overflow-wrap:anywhere}details{overflow:hidden}details+details,.sessions-panel{margin-top:16px}summary{display:flex;align-items:center;justify-content:space-between;padding:18px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}details[open] summary{border-bottom:1px solid var(--line)}details summary>span{transition:transform .2s}details[open] summary>span{transform:rotate(180deg)}.advanced-content,.tab-content{padding:18px}.form-row{display:flex;align-items:end;gap:10px}.form-row input{width:150px}.ina-form,.offsets-form{margin-top:22px}.ina-form h3,.offsets-form h3{margin-bottom:10px;font-size:15px}.four-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.four-fields input,.four-fields select,.offsets-form input{width:100%;min-width:0}.offsets-form{display:grid;gap:10px;max-width:580px}.inline-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.danger-zone{padding-top:17px;margin-top:24px;border-top:1px solid var(--line)}.uart-note{padding:10px 12px;margin:0 0 18px;border:1px solid var(--line-strong);border-radius:9px;color:var(--muted);background:var(--accent-soft);font-size:13px}.uart-note strong{color:var(--accent)}.session-list{display:grid;gap:8px}.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:10px;background:var(--surface-sunken)}.session-row strong,.session-row span{display:block}.session-row span{margin-top:3px;color:var(--muted);font-size:12px}.hidden-input{display:none}.diagnostic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.diagnostic-grid div{padding:15px;background:var(--surface)}.diagnostic-grid span,.diagnostic-grid strong{display:block}.diagnostic-grid span{color:var(--muted);font-size:12px}.diagnostic-grid strong{margin-top:5px}.console-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;color:var(--muted);font-size:12px}.raw-console pre{max-height:360px;padding:15px 18px;margin:0;overflow:auto;color:var(--muted);background:var(--surface-sunken);font:12px/1.55 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.app-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px 0 0;margin-top:28px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.app-footer nav{display:flex;align-items:center;gap:7px}.app-footer a{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;color:var(--muted);transition:color .15s,border-color .15s,background .15s}.app-footer a:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-muted)}.app-footer svg{width:19px;height:19px}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.compact-controls{align-items:center}.recording-inline{margin-left:0}.maximum-inline{width:100%;padding:8px 0 0;border-top:1px solid var(--line);border-left:0}}@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.monitor-workspace,.two-column{grid-template-columns:1fr}.compact-metrics{grid-template-columns:repeat(5,1fr)}.four-fields,.diagnostic-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.app-shell{width:min(100% - 20px,1480px);padding-top:14px}.topbar,.session-row{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:space-between}.app-tabs button{white-space:nowrap}.metrics,.compact-metrics{grid-template-columns:1fr 1fr}.metric{min-height:102px;padding:14px}.metric strong{font-size:27px}.settings-strip{display:grid;grid-template-columns:1fr 1fr;align-items:end}.device-inline{padding:4px 0;border-left:0}.recording-inline,.maximum-inline{grid-column:1 / -1}.recording-inline input{flex:1}.maximum-inline{flex-wrap:wrap}.pdo-grid,.split-values,.four-fields,.diagnostic-grid{grid-template-columns:1fr}.session-row .toolbar{width:100%}.session-row .toolbar button:not(.icon-button){flex:1;padding-inline:6px}.app-footer{flex-direction:column;gap:8px}.modal-backdrop{align-items:end;padding:10px}.intro-modal-header{padding:13px 14px}.intro-modal-header h2{font-size:16px}.intro-modal-body{grid-template-columns:1fr}.intro-device-image{min-height:0;max-height:260px;object-fit:contain}.intro-copy{padding:18px}.modal-language-switch button{padding:5px 6px}}
