:root{color-scheme:dark;--bg:#090c0f;--panel:#11161b;--panel2:#151b21;--line:#28313a;--text:#edf3f7;--muted:#82909c;--cyan:#35d6df;--cyan-dim:#173c42;--amber:#f1b849;--red:#ff6b6b;--radius:5px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:#0c1014;position:sticky;top:0;z-index:10}.brand,.connection,.topbar-right{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--cyan);border-radius:3px;color:var(--cyan);font:700 12px ui-monospace,monospace;letter-spacing:.08em}.brand strong{display:block;font-size:14px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.konkah-brand{color:var(--text);font:700 12px ui-monospace,monospace;letter-spacing:.04em;text-decoration:none;border-right:1px solid var(--line);padding-right:12px}.konkah-brand span,.site-footer a{color:var(--cyan)}.konkah-brand:hover,.site-footer a:hover{color:var(--cyan)}.connection{font-size:12px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;background:var(--amber)}.dot.online{background:#4bd18b;box-shadow:0 0 0 4px #173929}.dot.offline{background:var(--red)}
.layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 68px)}.nav{border-right:1px solid var(--line);padding:22px 12px;display:flex;flex-direction:column;gap:5px;background:#0c1014;max-height:calc(100vh - 68px);overflow-y:auto;position:sticky;top:68px}.nav-item{border:0;background:transparent;color:var(--muted);text-align:left;padding:11px 14px;border-radius:3px;cursor:pointer;font:600 13px inherit;flex:none}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{background:var(--cyan-dim);color:var(--cyan);box-shadow:inset 2px 0 var(--cyan)}.safety{margin-top:auto;border:1px solid #25444a;background:#0f2428;border-radius:3px;padding:12px;color:var(--cyan)}.safety .lock{font-size:8px;margin-right:7px}.safety strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.safety small{display:block;color:#7ca7aa;margin:6px 0 0 15px;font-size:10px}
main{min-width:0;padding:30px;max-width:1600px;width:100%;margin:0 auto}.page{display:none}.page.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.eyebrow{color:var(--cyan);font:700 10px ui-monospace,monospace;letter-spacing:.14em;margin:0 0 7px}.page h1{font-size:26px;line-height:1;margin:0;letter-spacing:-.02em}.badge,.tag{border:1px solid #286068;background:#10292e;color:var(--cyan);padding:6px 9px;border-radius:3px;font:700 10px ui-monospace,monospace;letter-spacing:.08em}.tag{color:#a9b5bd;border-color:var(--line);background:var(--panel2);letter-spacing:.03em}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric,.panel,.table-shell,.export-card{background:var(--panel);border:1px solid var(--line);border-radius:5px}.metric{padding:17px 18px;min-height:116px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:#3a4650}.metric.accent:before{background:var(--cyan)}.metric.warning:before{background:var(--amber)}.metric span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.metric strong{display:inline-block;font:600 29px ui-monospace,SFMono-Regular,Consolas,monospace;margin-top:17px}.metric small{color:var(--muted);margin-left:6px;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;margin-top:10px}.panel{padding:20px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between}.panel h2,.export-card h2{margin:0;font-size:15px}.progress{height:7px;background:#242c33;border-radius:3px;overflow:hidden;margin:26px 0 18px}.progress span{display:block;height:100%;width:0;background:var(--cyan);transition:width .25s}.split{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.split span{border-left:1px solid var(--line);padding-left:12px}.split span:first-child{border:0;padding:0}.split small{display:block;color:var(--muted);font-size:10px}.split strong{display:block;margin-top:5px;font:600 15px ui-monospace,monospace}.details{margin:17px 0 0}.details div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;font:500 12px ui-monospace,monospace}
.actions{display:flex;gap:7px}.button{border:1px solid #35414b;background:#161c22;color:var(--text);border-radius:3px;padding:9px 15px;cursor:pointer;font:600 12px inherit}.button:hover{border-color:#53616d}.button:disabled{cursor:wait;opacity:.65}.button.primary{background:var(--cyan);border-color:var(--cyan);color:#071012}.button.danger{border-color:#743f43;background:#2b171a;color:#ff9a9a}.button.danger:hover{border-color:#a85960}.filters{display:grid;grid-template-columns:1fr 1fr 1.3fr auto auto;align-items:end;gap:12px;margin-bottom:10px;padding:14px}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}input,select{height:36px;border:1px solid var(--line);background:#0b0f13;color:var(--text);border-radius:3px;padding:0 10px;font:12px ui-monospace,monospace;outline:0}input:focus,select:focus{border-color:var(--cyan)}.check{height:36px;flex-direction:row;align-items:center;text-transform:none;font-size:12px;letter-spacing:0}.check input{width:15px;height:15px;accent-color:var(--cyan)}.result-count{align-self:center;color:var(--muted);font:11px ui-monospace,monospace;white-space:nowrap}.table-shell{overflow:auto;position:relative;min-height:260px}.capture-table{max-height:calc(100vh - 245px)}table{border-collapse:collapse;width:100%;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}thead{position:sticky;top:0;z-index:2}th{background:#171e24;color:#82909c;text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);font:700 9px inherit;text-transform:uppercase;letter-spacing:.08em}td{padding:9px 13px;border-bottom:1px solid #20272d;white-space:nowrap}tbody tr:hover{background:#151d22}.id-cell{color:var(--cyan);font-weight:700}.data-cell{letter-spacing:.05em}.direction{color:#70c99b}.format{color:var(--muted)}.empty{position:absolute;inset:42px 0 0;display:grid;place-items:center;color:var(--muted);font-size:12px}.empty.hidden{display:none}
.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.export-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:22px;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}.export-card:hover{border-color:var(--cyan);transform:translateY(-2px)}.file-type{display:grid;place-items:center;width:52px;height:52px;border:1px solid #326069;background:#10282d;color:var(--cyan);border-radius:3px;font:700 11px ui-monospace,monospace}.export-card p{color:var(--muted);font-size:12px;line-height:1.5;margin:7px 0 0}.arrow{font-size:20px;color:var(--cyan)}.notice{color:var(--muted);font-size:11px;margin:14px 2px}.form-panel{max-width:820px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mode-row,.form-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.mode-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.switch-control{flex-direction:row;align-items:center;gap:9px}.switch-control input{width:17px;height:17px;accent-color:var(--amber)}.mode-warning{color:var(--amber);font-size:11px;line-height:1.5;margin:10px 0 0}.badge.ack-active{border-color:#86672c;background:#302510;color:var(--amber)}.badge.tx-active{border-color:#994848;background:#351919;color:#ff8b8b}.form-actions{justify-content:flex-end;gap:14px}.form-actions span{color:#73d2a1;font-size:11px}.form-actions span.error{color:var(--red)}
.section-label{margin:4px 0 10px;color:var(--muted);font:700 9px ui-monospace,monospace;letter-spacing:.12em}.bus-section{margin-top:22px}.capacity-metrics{grid-template-columns:repeat(5,1fr)}.battery-detail-grid{grid-template-columns:repeat(3,1fr)}.battery-detail-grid dd{max-width:60%;white-space:normal;text-align:right;line-height:1.35}.sign-note{margin:10px 2px 0;color:var(--muted);font-size:10px}.sign-note strong{color:#b9c5cc}.tag.alert{border-color:#743f43;background:#2b171a;color:#ff9a9a}.protocol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.protocol-card{padding:18px}.protocol-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.protocol-title h2{font:700 17px ui-monospace,monospace;color:var(--cyan)}.protocol-heading p{margin:4px 0 0;color:#b9c5cc;font-size:12px;line-height:1.35}.protocol-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;color:var(--muted);font:10px ui-monospace,monospace;text-align:right}.raw-line{padding:10px;background:#090d10;border:1px solid #242d34;border-radius:3px;font:12px ui-monospace,monospace;letter-spacing:.06em;margin-bottom:12px}.field-list{display:grid;gap:7px}.field-row{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:12px;padding-top:7px;border-top:1px solid #242c32}.field-row span{color:var(--muted);font-size:11px}.field-row strong{font:600 12px ui-monospace,monospace}.field-row small{grid-column:1/-1;color:#667580;font-size:9px}.invalid{color:var(--amber)}.changed-byte{color:#071012;background:var(--amber);padding:2px;border-radius:3px}.range-cell{color:var(--muted);font-size:10px}.verify-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.verify-copy{color:var(--muted);line-height:1.5;margin:0 0 20px}.comparison-list{margin-top:15px}.comparison-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.comparison-row span{color:var(--muted)}.comparison-row strong,.comparison-row em{font:12px ui-monospace,monospace;font-style:normal}.comparison-row em{color:var(--cyan)}.site-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:36px;padding:18px 2px 2px;color:var(--muted);font:10px ui-monospace,monospace;letter-spacing:.04em}.site-footer a{font-weight:700;text-decoration:none}
@media(max-width:900px){.layout{grid-template-columns:1fr}.nav{position:fixed;top:auto;bottom:0;left:0;right:0;height:58px;max-height:58px;z-index:20;border:1px solid var(--line);padding:5px;flex-direction:row;justify-content:flex-start;overflow-x:auto;overflow-y:hidden}.nav-item{padding:8px 12px;font-size:11px;text-align:center;white-space:nowrap}.nav-item.active{box-shadow:inset 0 -2px var(--cyan)}.safety{display:none}main{padding:22px 16px 80px}.metrics,.capacity-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.export-grid,.battery-detail-grid,.protocol-grid,.verify-layout{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.result-count{display:none}}
@media(max-width:560px){.topbar{padding:0 14px}.brand small{display:none}.connection{font-size:10px}.metrics{grid-template-columns:1fr 1fr}.metric{min-height:100px;padding:14px}.metric strong{font-size:21px}.dashboard-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.page-head{align-items:center}.page h1{font-size:22px}.form-grid{grid-template-columns:1fr}.mode-row{align-items:flex-start;gap:10px}.capture-table{max-height:calc(100vh - 310px)}}
