@import"https://fonts.font.im/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;700&display=swap";#root{height:100%;width:100%}th{white-space:nowrap}.detail-table td{font-family:var(--font-sans)}.detail-table td:nth-child(1),.detail-table td:last-child{font-family:var(--font-mono)}.tab-btn:before{display:none!important}.hex-display-container{display:flex;align-items:center;gap:8px;background:var(--bg-color)!important;border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;margin:4px 0}.hex-display{background:transparent!important;border:none!important;margin:0!important;padding:4px 0!important;color:var(--text-primary)!important;flex:1}.copy-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;padding:4px 8px;font-size:.9rem;color:var(--text-secondary);transition:all .2s;flex-shrink:0;line-height:1;display:flex;align-items:center;justify-content:center;min-width:32px}.copy-btn:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--accent-color)}:root{--bg-color: #0d1117;--card-bg: #161b22;--border-color: #30363d;--text-primary: #f0f6fc;--text-secondary: #8b949e;--accent-color: #58a6ff;--accent-hover: #79c0ff;--danger-color: #f85149;--success-color: #3fb950;--warning-color: #d29922;--btn-primary-text: #000;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace}[data-theme=light]{--bg-color: #ffffff;--card-bg: #f6f8fa;--border-color: #d0d7de;--text-primary: #24292f;--text-secondary: #57606a;--accent-color: #0969da;--accent-hover: #218bff;--danger-color: #cf222e;--success-color: #1a7f37;--warning-color: #9a6700;--btn-primary-text: #ffffff}*{box-sizing:border-box;margin:0;padding:0}html{transition:background-color .3s ease,color .3s ease}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);height:100vh;overflow:hidden;display:flex;flex-direction:column;transition:background-color .3s ease,color .3s ease}.app-container{display:flex;flex-direction:column;height:100%;padding:16px;gap:16px}header{display:flex;justify-content:space-between;align-items:center;padding:0 8px}.header-right{display:flex;align-items:center;gap:12px}h1{font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:12px}.badge{background:var(--accent-color);color:#fff;font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:700}.badge-source{background:#d29922;color:#000}.badge-sink{background:#3fb950;color:#fff}.badge-cable{background:#8b949e;color:#fff}.control-group{display:flex;align-items:center;gap:8px;background:var(--card-bg);padding:4px 8px;border-radius:6px;border:1px solid var(--border-color)}.label-sm{font-size:.8rem;color:var(--text-secondary)}.select-sm{background:transparent;color:var(--text-primary);border:none;font-family:inherit;font-size:.8rem;cursor:pointer;outline:none}.select-sm option{background:var(--card-bg);color:var(--text-primary)}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:400;cursor:pointer;margin-left:auto}button{cursor:pointer;border:1px solid transparent;border-radius:6px;padding:6px 16px;font-family:inherit;font-weight:500;font-size:.875rem;transition:.2s}.primary-btn{background-color:var(--accent-color);color:var(--btn-primary-text)}.primary-btn:hover{background-color:var(--accent-hover)}.danger-btn{background-color:var(--danger-color);color:#fff;border-color:var(--danger-color)}.danger-btn:hover{background-color:#d03838}.secondary-btn{background-color:transparent;border-color:var(--border-color);color:var(--text-primary)}.secondary-btn:hover{background-color:#ffffff1a}.secondary-btn:disabled,.primary-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-control{padding:6px 12px;transition:background-color .3s ease,border-color .3s ease}.refresh-control .label-sm{font-weight:500;margin-right:4px;transition:color .3s ease}.refresh-control .select-sm{padding:2px 4px;border-radius:4px;background:#ffffff0d;border:1px solid var(--border-color);transition:background-color .3s ease,border-color .3s ease,color .3s ease}.refresh-control .select-sm:hover{background:#ffffff1a}.refresh-control .select-sm option{transition:background-color .3s ease,color .3s ease}.dashboard-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:8px}.metric-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;height:80px;justify-content:flex-start;transition:background-color .3s ease,border-color .3s ease}.metric-card .metric-value{margin-top:auto}.metric-card.mini{padding:8px 12px;height:80px}.gear-card{background:linear-gradient(135deg,#3fb9501a,#3fb9500d);border-color:#3fb9504d}.gear-card .metric-value{color:var(--success-color)}.metric-label{color:var(--text-secondary);font-size:.75rem;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.metric-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.metric-card.mini .metric-value,.device-info-card .metric-value{font-size:1.1rem}#card-cable,#card-cable-spec,#card-charger{display:none;justify-content:space-between}#card-cable .metric-value,#card-cable-spec .metric-value,#card-charger .metric-value{margin-top:0}.card-voltage{background:linear-gradient(135deg,#58a6ff1a,#58a6ff0d);border-color:#58a6ff4d}.card-voltage .metric-value{color:var(--accent-color)}.card-current{background:linear-gradient(135deg,#f851491a,#f851490d);border-color:#f851494d}.card-current .metric-value{color:var(--danger-color)}.card-power{background:linear-gradient(135deg,#d299221a,#d299220d);border-color:#d299224d}.card-power .metric-value{color:var(--warning-color)}.unit{font-size:.9rem;color:var(--text-secondary);font-weight:400}main{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}.content-split{display:flex;flex-direction:row;gap:0;flex:2;min-height:0;position:relative}.log-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;width:50%;min-width:300px;transition:background-color .3s ease,border-color .3s ease}.resizer{width:6px;cursor:col-resize;background:transparent;position:relative;flex-shrink:0;transition:background .2s}.resizer:hover{background:var(--accent-color)}.resizer:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:var(--border-color);border-radius:2px}.resizer:hover:before{background:var(--accent-color)}.toggle-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0;min-width:500px;transition:background-color .3s ease,border-color .3s ease}.panel-tabs{display:flex;background:var(--card-bg);border-bottom:2px solid var(--border-color);gap:0;padding:8px 12px 0;transition:background-color .3s ease,border-color .3s ease}.tab-btn{flex:1;padding:12px 20px;font-size:.875rem;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-radius:8px 8px 0 0;cursor:pointer;transition:color .3s ease,background-color .3s ease;position:relative;margin-bottom:-2px;letter-spacing:.02em}.tab-btn:before{content:"";display:inline-block;width:16px;height:16px;margin-right:8px;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.6;transition:opacity .2s;vertical-align:middle}.tab-btn[data-tab=details]:before{content:"📄";background:none}.tab-btn[data-tab=chart]:before{content:"📊";background:none}.tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.tab-btn:hover:before{opacity:1}.tab-btn.active{color:var(--accent-color);background:var(--card-bg);border-bottom:2px solid var(--accent-color)}.tab-btn.active:before{opacity:1}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent-color) 20%,var(--accent-color) 80%,transparent 100%)}.tab-content{display:none;flex:1;overflow:hidden;flex-direction:column;min-height:0}.tab-content.active{display:flex}.panel-header{background:#ffffff05;border-bottom:1px solid var(--border-color);padding:8px 12px;font-size:.85rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between;transition:border-color .3s ease,color .3s ease}.table-container{flex:1;overflow-y:auto;position:relative}table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.85rem}th{position:sticky;top:0;background:var(--card-bg);color:var(--text-secondary);text-align:left;padding:8px;font-weight:500;border-bottom:1px solid var(--border-color);z-index:1;transition:background-color .3s ease,color .3s ease,border-color .3s ease}td{padding:6px 8px;border-bottom:1px solid rgba(48,54,61,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);transition:border-color .3s ease}tbody tr:hover{background:#ffffff0a}tbody tr.selected{background:#58a6ff33}tr.param-goodcrc{background-color:#8b949e1a;opacity:.8}tr.param-accept{background-color:#3fb95026;color:var(--success-color);color:inherit}tr.param-reject{background-color:#f8514926}tr.param-request{background-color:#d2a8ff26}tr.param-capabilities{background-color:#58a6ff26}tr.param-psrdy{background-color:#d2992226}tr.param-wait{background-color:#ff7b7226}tr.param-reset{background-color:#f8514940;font-weight:700}tr.param-vendor{background-color:#a5d6ff1a}tr.param-ping{background-color:#79c0ff26}tr.param-get{background-color:#e3b34126}tr.param-bist{background-color:#a52a2a26}tr.param-alert{background-color:#ff450033;font-weight:500}tr.param-enter-usb{background-color:#4682b426}tr.param-status{background-color:#6495ed26}tr.param-info{background-color:#90ee901f}tr.param-swap{background-color:#ffd70026}tr.param-not-supported{background-color:#80808033;font-style:italic}tr.param-gotomin{background-color:#ffa50026}tr.param-security{background-color:#4b008226}tr.param-firmware{background-color:#00808026}tr.param-extended{background-color:#da70d626}tr.param-epr{background-color:#ff149326;font-weight:500}.packet-details-container{padding:16px;overflow:auto;flex:1;font-family:var(--font-sans);color:var(--text-primary);transition:color .3s ease}.packet-details-container:empty:before{content:attr(data-i18n);color:var(--text-secondary);font-size:.9rem}.detail-card{background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:12px;transition:border-color .3s ease}.detail-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.detail-card-title{font-size:.95rem;font-weight:600;color:var(--accent-color);text-transform:uppercase;letter-spacing:.05em;transition:color .3s ease}.detail-card-subtitle{font-size:.8rem;color:var(--text-secondary);margin-top:4px;transition:color .3s ease}.detail-section{margin-bottom:16px}.detail-section:last-child{margin-bottom:0}.detail-section-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.detail-field{display:flex;align-items:flex-start;padding:6px 0;font-size:.85rem;line-height:1.6}.detail-field-label{min-width:180px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem;flex-shrink:0}.detail-field-value{color:var(--text-primary);font-family:var(--font-mono);font-weight:500;word-break:break-all}.detail-field-value.highlight{color:var(--accent-color);font-weight:600}.detail-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:8px}.detail-badge.badge-info{background:#58a6ff33;color:var(--accent-color)}.detail-badge.badge-success{background:#3fb95033;color:var(--success-color)}.detail-badge.badge-warning{background:#d2992233;color:var(--warning-color)}.detail-badge.badge-danger{background:#f8514933;color:var(--danger-color)}.detail-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.8rem}.detail-table th{background:#ffffff0d;color:var(--text-secondary);text-align:left;padding:8px;font-weight:600;border:1px solid var(--border-color);position:static}.detail-table td{padding:8px;border:1px solid var(--border-color);font-family:var(--font-mono);color:var(--text-primary)}.detail-table tr:hover{background:#ffffff08}.collapsible-section{margin-top:8px}.collapsible-header{display:flex;align-items:center;cursor:pointer;padding:8px;background:#ffffff08;border-radius:4px;transition:background .2s;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background:#ffffff14}.collapsible-icon{margin-right:8px;font-size:.8rem;transition:transform .2s;color:var(--text-secondary)}.collapsible-section.expanded .collapsible-icon{transform:rotate(90deg)}.collapsible-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.collapsible-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;padding:0 8px}.collapsible-section.expanded .collapsible-content{max-height:2000px;padding:8px}.hex-display-container{position:relative;display:flex;align-items:flex-start;gap:8px}.copy-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:6px 8px;cursor:pointer;font-size:.9rem;transition:background-color .2s,border-color .2s;flex-shrink:0}.copy-btn:hover{background:#ffffff1a;border-color:var(--accent-color)}.hex-display{background:#0003;border:1px solid var(--border-color);border-radius:4px;padding:8px 12px;font-family:var(--font-mono);font-size:.8rem;color:var(--accent-color);word-break:break-all;margin:4px 0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.detail-grid-item{background:#ffffff08;border:1px solid var(--border-color);border-radius:6px;padding:12px;transition:border-color .3s ease}.detail-grid-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;transition:color .3s ease}.detail-grid-value{font-size:1.1rem;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);transition:color .3s ease}.detail-decoded-pre{font-family:var(--font-mono);font-size:.8rem;line-height:1.6;margin:8px 0;color:var(--text-primary);white-space:pre-wrap;word-break:break-all}.detail-json-pre{font-family:var(--font-mono);font-size:.75rem;line-height:1.4;color:var(--text-secondary);overflow-x:auto}.detail-fallback-pre{font-family:var(--font-mono);font-size:.85rem;line-height:1.4;color:var(--text-primary);margin:0}.chart-container{flex:1;position:relative;padding:16px;background:#ffffff05;border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column;transition:border-color .3s ease}.chart-wrapper{display:flex;flex-direction:column;gap:12px;height:100%}.chart-controls{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--border-color)}.chart-controls .label-sm{white-space:nowrap}.chart-controls .select-sm{width:80px}footer{display:flex;justify-content:space-between;align-items:center;padding:8px;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;transition:border-color .3s ease,color .3s ease}.toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px}.toast{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:12px;background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 8px 24px #0003;min-width:320px;max-width:450px;font-size:.95rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.16,1,.3,1)}[data-theme=light] .toast{background:#fffffff2;box-shadow:0 8px 24px #0000001f}[data-theme=dark] .toast{background:#161b22f2;border-color:#30363dcc}.toast-show{opacity:1;transform:translate(0) translateY(0)}.toast-hide{opacity:0;transform:translate(20px) translateY(20px)}.toast-icon{font-size:1.4rem;flex-shrink:0;line-height:1}.toast-message{flex:1;color:var(--text-primary);line-height:1.5}.toast-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.4rem;cursor:pointer;padding:4px;line-height:1;transition:all .2s;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.7}.toast-close:hover{color:var(--text-primary);background:#ffffff1a;opacity:1}[data-theme=light] .toast-close:hover{background:#0000000d}.toast-info{border-left:5px solid var(--accent-color)}.toast-success{border-left:5px solid var(--success-color)}.toast-warning{border-left:5px solid var(--warning-color)}.toast-error{border-left:5px solid var(--danger-color)}
