@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}:root{--color-bg-rgb: 13, 17, 23;--color-card-bg-rgb: 22, 27, 34;--color-border-rgb: 48, 54, 61;--color-text-primary-rgb: 240, 246, 252;--color-text-secondary-rgb: 139, 148, 158;--color-accent-rgb: 88, 166, 255;--color-accent-hover-rgb: 121, 192, 255;--color-danger-rgb: 248, 81, 73;--color-success-rgb: 63, 185, 80;--color-warning-rgb: 210, 153, 34;--btn-primary-text: #000;--bg-color: rgb(var(--color-bg-rgb));--card-bg: rgb(var(--color-card-bg-rgb));--border-color: rgb(var(--color-border-rgb));--text-primary: rgb(var(--color-text-primary-rgb));--text-secondary: rgb(var(--color-text-secondary-rgb));--accent-color: rgb(var(--color-accent-rgb));--accent-hover: rgb(var(--color-accent-hover-rgb));--danger-color: rgb(var(--color-danger-rgb));--success-color: rgb(var(--color-success-rgb));--warning-color: rgb(var(--color-warning-rgb));--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--theme-duration: .26s;--theme-ease: cubic-bezier(.2, 0, 0, 1);--scrollbar-thumb-color: rgb(48, 54, 61);--scrollbar-thumb-hover-color: rgb(139, 148, 158);--table-row-separator: rgba(var(--color-border-rgb), .65);--text-color: var(--text-primary);--text-tertiary: rgba(var(--color-text-primary-rgb), .65);--code-bg: rgba(var(--color-text-primary-rgb), .12);--cable-brand-base: 139, 92, 246;--cable-brand-text: #a78bfa;--cable-usb4-base: 34, 211, 238;--cable-usb4-text: #22d3ee;--cable-usb3-base: 56, 189, 248;--cable-usb3-text: #38bdf8;--cable-usb2-base: 148, 163, 184;--cable-usb2-text: #94a3b8;--cable-power-base: 251, 146, 60;--cable-power-text: #fb923c;--cable-brand-border: rgba(var(--cable-brand-base), .5);--cable-brand-bg: rgba(var(--cable-brand-base), .08);--cable-type-border: rgba(var(--cable-brand-base), .3);--cable-type-bg: rgba(var(--cable-brand-base), .05);--cable-type-text: #c4b5fd;--cable-usb4-border: rgba(var(--cable-usb4-base), .6);--cable-usb4-bg: rgba(var(--cable-usb4-base), .1);--cable-usb3-border: rgba(var(--cable-usb3-base), .5);--cable-usb3-bg: rgba(var(--cable-usb3-base), .08);--cable-usb2-border: rgba(var(--cable-usb2-base), .4);--cable-usb2-bg: rgba(var(--cable-usb2-base), .05);--cable-power-border: rgba(var(--cable-power-base), .6);--cable-power-bg: rgba(var(--cable-power-base), .1)}[data-theme=light]{--color-bg-rgb: 255, 255, 255;--color-card-bg-rgb: 246, 248, 250;--color-border-rgb: 208, 215, 222;--color-text-primary-rgb: 36, 41, 47;--color-text-secondary-rgb: 87, 96, 106;--color-accent-rgb: 9, 105, 218;--color-accent-hover-rgb: 33, 139, 255;--color-danger-rgb: 207, 34, 46;--color-success-rgb: 26, 127, 55;--color-warning-rgb: 154, 103, 0;--btn-primary-text: #ffffff;--cable-brand-base: 124, 58, 237;--cable-brand-text: #7c3aed;--cable-usb4-base: 6, 182, 212;--cable-usb4-text: #0891b2;--cable-usb3-base: 14, 165, 233;--cable-usb3-text: #0284c7;--cable-usb2-base: 100, 116, 139;--cable-usb2-text: #64748b;--cable-power-base: 234, 88, 12;--cable-power-text: #ea580c;--cable-brand-border: rgba(var(--cable-brand-base), .4);--cable-brand-bg: rgba(var(--cable-brand-base), .07);--cable-type-border: rgba(var(--cable-brand-base), .25);--cable-type-bg: rgba(var(--cable-brand-base), .04);--cable-type-text: #8b5cf6;--cable-usb4-border: rgba(var(--cable-usb4-base), .5);--cable-usb4-bg: rgba(var(--cable-usb4-base), .08);--cable-usb3-border: rgba(var(--cable-usb3-base), .4);--cable-usb3-bg: rgba(var(--cable-usb3-base), .07);--cable-usb2-border: rgba(var(--cable-usb2-base), .35);--cable-usb2-bg: rgba(var(--cable-usb2-base), .05);--cable-power-border: rgba(var(--cable-power-base), .5);--cable-power-bg: rgba(var(--cable-power-base), .08);--table-row-separator: rgba(var(--color-border-rgb), .9);--scrollbar-thumb-color: rgb(208, 215, 222);--scrollbar-thumb-hover-color: rgb(87, 96, 106)}@property --scrollbar-thumb-color{syntax: "<color>"; inherits: true; initial-value: rgb(48,54,61);}@property --scrollbar-thumb-hover-color{syntax: "<color>"; inherits: true; initial-value: rgb(139,148,158);}*{box-sizing:border-box;margin:0;padding:0}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 var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}html{transition:--scrollbar-thumb-color var(--theme-duration) var(--theme-ease),--scrollbar-thumb-hover-color var(--theme-duration) var(--theme-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;border:1px solid transparent}.badge-source{background:var(--warning-color);color:#000}.badge-sink{background:var(--success-color);color:#fff}.badge-cable{background:var(--text-secondary);color:#fff}[data-theme=light] .badge-source{background-color:rgba(var(--color-warning-rgb),.14);border-color:rgba(var(--color-warning-rgb),.35);color:var(--warning-color)}[data-theme=light] .badge-sink{background-color:rgba(var(--color-success-rgb),.14);border-color:rgba(var(--color-success-rgb),.35);color:var(--success-color)}[data-theme=light] .badge-cable{background-color:rgba(var(--color-text-secondary-rgb),.14);border-color:rgba(var(--color-text-secondary-rgb),.35);color:var(--text-secondary)}.control-group{display:flex;align-items:center;gap:8px;background-color:var(--card-bg);padding:4px 8px;border-radius:6px;border:1px solid var(--border-color);transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.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-color:var(--card-bg);color:var(--text-primary);transition:background-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease)}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:400;cursor:pointer;margin-left:auto}.segmented-control{display:flex;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:2px;gap:2px;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.segmented-btn{padding:4px 12px;font-size:.8rem;cursor:pointer;border:none;background:transparent;color:var(--text-secondary);border-radius:4px;transition:color .2s ease,background-color .2s ease}.segmented-btn:hover{color:var(--text-primary);background:rgba(var(--color-text-primary-rgb),.05)}.segmented-btn.active{background:var(--accent-color);color:#fff;font-weight:500}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:rgba(var(--color-text-primary-rgb),.1)}.secondary-btn:disabled,.primary-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-control{padding:6px 12px;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.refresh-control .label-sm{font-weight:500;margin-right:4px;transition:color var(--theme-duration) var(--theme-ease)}.refresh-control .select-sm{padding:2px 4px;border-radius:4px;background:rgba(var(--color-text-primary-rgb),.05);border:1px solid var(--border-color);color:var(--text-primary);transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease)}.refresh-control .select-sm:hover{background-color:rgba(var(--color-text-primary-rgb),.1)}.refresh-control .select-sm option{transition:background-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease)}.header-divider{width:1px;height:24px;margin:0 8px;background-color:var(--border-color);transition:background-color var(--theme-duration) var(--theme-ease)}.filter-dropdown-container{position:relative;z-index:10}.filter-btn{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 10px;border-radius:4px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease)}.filter-btn:hover,.filter-btn.active{color:var(--text-primary);border-color:var(--accent-color);background-color:rgba(var(--color-text-primary-rgb),.05)}.filter-menu{position:absolute;top:100%;right:0;margin-top:6px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0006;padding:12px;z-index:100;width:280px;max-height:500px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--border-color);margin-bottom:2px}.filter-group-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.filter-group-actions{display:flex;gap:8px;font-size:.7rem}.filter-action-btn{cursor:pointer;color:var(--accent-color);background:none;border:none;padding:0;font:inherit}.filter-action-btn:hover{text-decoration:underline}.filter-item{display:flex;align-items:center;gap:8px;font-size:.8rem;cursor:pointer;padding:4px 6px;border-radius:4px;-webkit-user-select:none;user-select:none}.filter-item.two-col{justify-content:space-between}.filter-item-left{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer}.filter-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.filter-color{width:28px;height:20px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.filter-color:disabled{opacity:.5;cursor:not-allowed}.filter-preset-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 6px 2px}.filter-preset-select{flex:1;min-width:0;background-color:rgba(var(--color-text-primary-rgb),.04);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;padding:6px 8px;font:inherit;font-size:.8rem;outline:none;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease)}.filter-preset-select option{background-color:var(--card-bg);color:var(--text-primary)}.filter-preset-select:hover{background-color:rgba(var(--color-text-primary-rgb),.06)}.filter-preset-select:focus{border-color:var(--accent-color)}.filter-item:hover{background:rgba(var(--color-text-primary-rgb),.05)}.filter-item input{cursor:pointer}.filter-count{background:var(--accent-color);color:#fff;font-size:.7rem;padding:0 4px;border-radius:4px;min-width:16px;text-align:center;line-height:1.4}.dashboard-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:8px}.metric-card{background-color: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 var(--theme-duration) var(--theme-ease),background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.metric-card .metric-value{margin-top:auto}.metric-card.mini{padding:8px 12px;height:80px}.gear-card{background:linear-gradient(135deg,rgba(var(--color-success-rgb),.1),rgba(var(--color-success-rgb),.05));border-color:rgba(var(--color-success-rgb),.3)}.gear-card .metric-value{color:var(--success-color)}.gear-card.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.gear-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.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}.device-info-card.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.device-info-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}#card-cable,#card-cable-spec{display:none;justify-content:space-between}#card-cable .metric-value,#card-cable-spec .metric-value{margin-top:0}.card-voltage{background:linear-gradient(135deg,rgba(var(--color-accent-rgb),.1),rgba(var(--color-accent-rgb),.05));border-color:rgba(var(--color-accent-rgb),.3)}.card-voltage .metric-value{color:var(--accent-color)}.card-current{background:linear-gradient(135deg,rgba(var(--color-danger-rgb),.1),rgba(var(--color-danger-rgb),.05));border-color:rgba(var(--color-danger-rgb),.3)}.card-current .metric-value{color:var(--danger-color)}.card-power{background:linear-gradient(135deg,rgba(var(--color-warning-rgb),.1),rgba(var(--color-warning-rgb),.05));border-color:rgba(var(--color-warning-rgb),.3)}.card-power .metric-value{color:var(--warning-color)}.card-power.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.card-power.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.card-cable{background:linear-gradient(135deg,rgba(var(--cable-brand-base),.12),rgba(var(--cable-brand-base),.05));border-color:rgba(var(--cable-brand-base),.35)}.card-cable .metric-value{color:var(--cable-brand-text)}.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-color: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 var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.resizer{width:6px;cursor:col-resize;background-color:transparent;position:relative;flex-shrink:0;transition:background-color var(--theme-duration) var(--theme-ease)}.resizer:hover,.resizer.is-resizing{background-color:var(--accent-color)}.resizer:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:40px;background-color:var(--border-color);border-radius:2px;transition:background-color var(--theme-duration) var(--theme-ease)}.resizer:hover:before,.resizer.is-resizing:before{background-color:var(--accent-color)}.toggle-panel{background-color: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 var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.panel-tabs{display:flex;background-color:var(--card-bg);border-bottom:2px solid var(--border-color);gap:0;padding:8px 12px 0;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-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 var(--theme-duration) var(--theme-ease),background-color var(--theme-duration) var(--theme-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-color:rgba(var(--color-text-primary-rgb),.05)}.tab-btn:hover:before{opacity:1}.tab-btn.active{color:var(--accent-color);background-color: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-color:rgba(var(--color-text-primary-rgb),.02);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:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease)}.table-container{flex:1;overflow:auto;position:relative}table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.85rem}#pd-log-table.pd-log-table-fixed{table-layout:fixed}th{position:sticky;top:0;background-color:var(--card-bg);color:var(--text-secondary);text-align:left;padding:8px 14px 8px 8px;font-weight:500;border-bottom:1px solid var(--border-color);z-index:1;transition:background-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.pd-th-inner{display:flex;align-items:center;min-width:0}.pd-col-resizer{position:absolute;top:0;right:0;height:100%;width:10px;cursor:col-resize;touch-action:none;background:transparent;transition:background-color var(--theme-duration) var(--theme-ease)}.pd-col-resizer:hover{background-color:rgba(var(--color-accent-rgb),.12)}.pd-col-resizer:before{content:"";position:absolute;top:25%;bottom:25%;left:50%;width:2px;transform:translate(-50%);background-color:var(--border-color);border-radius:2px;transition:background-color var(--theme-duration) var(--theme-ease)}.pd-col-resizer:hover:before{background-color:var(--accent-color)}td{padding:6px 8px;border-bottom:1px solid var(--table-row-separator);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);transition:border-color var(--theme-duration) var(--theme-ease)}tbody tr:hover{background:rgba(var(--color-text-primary-rgb),.04)}tbody tr.selected{background-color:rgba(var(--color-accent-rgb),.35)!important;box-shadow:inset 4px 0 0 var(--accent-color);opacity:1!important}tbody tr.selected td{font-weight:600;color:var(--text-primary)}tr.param-goodcrc{opacity:.8}tr.param-accept{background-color:rgba(var(--color-success-rgb),.15);color:inherit}tr.param-reject{background-color:rgba(var(--color-danger-rgb),.15)}tr.param-request{background-color:#d2a8ff26}tr.param-capabilities{background-color:rgba(var(--color-accent-rgb),.15)}tr.param-psrdy{background-color:rgba(var(--color-warning-rgb),.15)}tr.param-wait{background-color:rgba(var(--color-danger-rgb),.1)}tr.param-reset{background-color:rgba(var(--color-danger-rgb),.25);font-weight:700}tr.param-vendor{background-color:rgba(var(--color-accent-rgb),.1)}tr.param-ping{background-color:rgba(var(--color-accent-rgb),.15)}tr.param-get{background-color:rgba(var(--color-warning-rgb),.15)}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:rgba(var(--color-success-rgb),.12)}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-color:rgba(var(--color-text-primary-rgb),.03);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:12px;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-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;transition:color .3s ease}.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:rgba(var(--color-accent-rgb),.2);color:var(--accent-color)}.detail-badge.badge-success{background:rgba(var(--color-success-rgb),.2);color:var(--success-color)}.detail-badge.badge-warning{background:rgba(var(--color-warning-rgb),.2);color:var(--warning-color)}.detail-badge.badge-danger{background:rgba(var(--color-danger-rgb),.2);color:var(--danger-color)}.detail-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.8rem}.detail-table th{background:rgba(var(--color-text-primary-rgb),.05);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:rgba(var(--color-text-primary-rgb),.03)}.collapsible-section{margin-top:8px}.collapsible-header{display:flex;align-items:center;cursor:pointer;padding:8px;background:rgba(var(--color-text-primary-rgb),.03);border-radius:4px;transition:background .2s;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background:rgba(var(--color-text-primary-rgb),.08)}.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:center;gap:8px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;margin:4px 0;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease)}.copy-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;cursor:pointer;font-size:.9rem;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease);flex-shrink:0;min-width:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.copy-btn:hover{background:rgba(var(--color-text-primary-rgb),.1);color:var(--text-primary);border-color:var(--accent-color)}.hex-display{font-family:var(--font-mono);font-size:.8rem;word-break:break-all;color:var(--accent-color);background:rgba(var(--color-text-primary-rgb),.05);border:1px solid var(--border-color);border-radius:4px;padding:8px 12px;margin:4px 0;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease)}.hex-display-container .hex-display{background:transparent;border:none;margin:0;padding:4px 0;color:var(--text-primary);flex:1;transition:color var(--theme-duration) var(--theme-ease)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.detail-grid-item{background:rgba(var(--color-text-primary-rgb),.03);border:1px solid var(--border-color);border-radius:6px;padding:12px;min-height:70px;transition:background .3s ease,border-color .3s ease,box-shadow .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:rgba(var(--color-text-primary-rgb),.02);border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column;transition:border-color .3s ease;min-height:0;overflow:hidden}.chart-wrapper{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.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}.drop-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:10000;pointer-events:none}.drop-overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 64px;border:3px dashed var(--accent-color);border-radius:16px;background-color:var(--card-bg);color:var(--accent-color);font-size:1.2rem;font-weight:500;animation:dropPulse 1.5s ease-in-out infinite}.drop-overlay-content svg{opacity:.9}@keyframes dropPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}[data-theme=light] .drop-overlay{background:#fffc}.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-color: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:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),box-shadow var(--theme-duration) var(--theme-ease),opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}[data-theme=light] .toast{background-color:#fffffff2;box-shadow:0 8px 24px #0000001f}[data-theme=dark] .toast{background-color:#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:color var(--theme-duration) var(--theme-ease),background-color .2s ease,opacity .2s ease;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.7}.toast-close:hover{color:var(--text-primary);background:rgba(var(--color-text-primary-rgb),.1);opacity:1}.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)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color);border-radius:5px;border:2px solid transparent;background-clip:content-box;transition:background-color var(--theme-duration) var(--theme-ease)}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color)}::-webkit-scrollbar-corner{background-color:transparent}.chart-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.chart-modal-overlay.open{opacity:1;visibility:visible}.chart-modal-content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;width:90vw;height:80vh;display:flex;flex-direction:column;padding:24px;box-shadow:0 12px 32px #0006;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.chart-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.chart-modal-header h3{margin:0;color:var(--text-primary);font-size:1.25rem;transition:color .3s ease}.close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color var(--theme-duration) var(--theme-ease),background-color .2s ease}.close-btn:hover{color:var(--text-primary);background:rgba(var(--color-text-primary-rgb),.1)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;width:600px;max-width:90vw;display:flex;flex-direction:column;padding:24px;box-shadow:0 12px 32px #0006;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:20px}.modal-textarea{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:var(--font-mono);font-size:.85rem;padding:16px;min-height:300px;resize:vertical;margin-bottom:24px;outline:none;transition:background-color var(--theme-duration) var(--theme-ease),color var(--theme-duration) var(--theme-ease),border-color .2s;line-height:1.5}.modal-textarea:focus{border-color:var(--accent-color)}.modal-footer{display:flex;justify-content:space-between;align-items:center}.modal-footer-left,.modal-footer-right{display:flex;gap:12px}.pdo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;padding-top:10px}.pdo-card{background-color:rgba(var(--color-text-primary-rgb),.03);border:1px solid var(--border-color);border-radius:8px;padding:16px;cursor:pointer;transition:background-color var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease),transform .2s ease,box-shadow .2s ease,filter .2s ease;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}.pdo-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000004d;filter:brightness(1.1)}.pdo-card.expanded{background-color:rgba(var(--color-text-primary-rgb),.08);box-shadow:0 4px 16px #0000004d}.pdo-card-header{display:flex;align-items:center;gap:14px}.pdo-index-badge{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-secondary);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;font-family:var(--font-mono)}.pdo-main-info{flex:1;display:flex;flex-direction:column;overflow:hidden}.pdo-primary-text{font-weight:600;font-size:.95rem;color:var(--text-primary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdo-sub-text{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.pdo-expand-icon{color:var(--text-secondary);font-size:1.2rem;font-weight:300;-webkit-user-select:none;user-select:none}.pdo-card-details{padding-top:10px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;animation:fadeIn .3s ease}.pdo-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.pdo-detail-group{display:flex;flex-direction:column;gap:4px;font-size:.8rem}.pdo-flags{display:flex;flex-wrap:wrap;gap:4px}.pdo-flag{background:rgba(var(--color-text-primary-rgb),.1);padding:2px 6px;border-radius:4px;font-size:.7rem;color:var(--text-primary)}.badge-epr{background:#1f6feb;color:#fff}.badge-spr{background:#3fb950;color:#fff}.pdo-card.type-fixed,.pdo-card.type-epr-fixed{border-left:4px solid var(--accent-color);background:linear-gradient(90deg,rgba(var(--color-accent-rgb),.05),rgba(var(--color-text-primary-rgb),.02))}.pdo-card.type-fixed .pdo-index-badge,.pdo-card.type-epr-fixed .pdo-index-badge{color:var(--accent-color);border-color:rgba(var(--color-accent-rgb),.5)}.pdo-card.type-pps,.pdo-card.type-spr-pps{border-left:4px solid var(--warning-color);background:linear-gradient(90deg,rgba(var(--color-warning-rgb),.05),rgba(var(--color-text-primary-rgb),.02))}.pdo-card.type-pps .pdo-index-badge,.pdo-card.type-spr-pps .pdo-index-badge{color:var(--warning-color);border-color:rgba(var(--color-warning-rgb),.5)}.pdo-card.type-avs,.pdo-card.type-epr-avs{border-left:4px solid #db61a2;background:linear-gradient(90deg,#db61a20d,rgba(var(--color-text-primary-rgb),.02))}.pdo-card.type-avs .pdo-index-badge,.pdo-card.type-epr-avs .pdo-index-badge{color:#db61a2;border-color:#db61a280}.pdo-card.type-battery,.pdo-card.type-variable{border-left:4px solid var(--success-color);background:linear-gradient(90deg,rgba(var(--color-success-rgb),.05),rgba(var(--color-text-primary-rgb),.02))}.pdo-card.type-battery .pdo-index-badge,.pdo-card.type-variable .pdo-index-badge{color:var(--success-color);border-color:rgba(var(--color-success-rgb),.5)}.detail-grid-item.brand{border-color:var(--cable-brand-border);background-color:var(--cable-brand-bg)}.detail-grid-item.brand .detail-grid-value{color:var(--cable-brand-text)}.detail-grid-item.type{border-color:var(--cable-type-border);background-color:var(--cable-type-bg)}.detail-grid-item.type .detail-grid-value{color:var(--cable-type-text)}.detail-grid-item.speed-usb4{border-color:var(--cable-usb4-border);background-color:var(--cable-usb4-bg)}.detail-grid-item.speed-usb4 .detail-grid-value{color:var(--cable-usb4-text)}.detail-grid-item.speed-usb3{border-color:var(--cable-usb3-border);background-color:var(--cable-usb3-bg)}.detail-grid-item.speed-usb3 .detail-grid-value{color:var(--cable-usb3-text)}.detail-grid-item.speed-usb2{border-color:var(--cable-usb2-border);background-color:var(--cable-usb2-bg)}.detail-grid-item.speed-usb2 .detail-grid-value{color:var(--cable-usb2-text)}.detail-grid-item.power-epr{border-color:var(--cable-power-border);background-color:var(--cable-power-bg)}.detail-grid-item.power-epr .detail-grid-value{color:var(--cable-power-text)}
