*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}:root{color-scheme:dark;--bg: #050a05;--surface: #0d160d;--border: #1f4620;--text: #33ff33;--muted: #1f8f1f;--accent: #ffb000;--danger: #ff3b30;--marker: #ffe14d;--marker-active: #f8fafc;--marker-delta: #ff5ec2;--memory: #7a8a99;--trace-s11: #33ff33;--trace-s21: #ffb000;--trace-s12: #7dffb2;--trace-s22: #ff5533;--file-0: #33ff33;--file-1: #ffb000;--file-2: #7dffb2;--file-3: #ff5533;--file-4: #c8ff33;--file-5: #ffdd55;--file-6: #33ffcc;--file-7: #ff8855;--hint: #14330f;--overlay-bg: rgba(5, 15, 6, .92);--hover-tint: rgba(255, 176, 0, .03);--dropping-tint: rgba(255, 176, 0, .06);--active-row-tint: rgba(255, 176, 0, .14);--mono-font: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace}:root[data-theme=light]{color-scheme:light;--bg: #f4f4ef;--surface: #ffffff;--border: #cfd0c4;--text: #1f6b2b;--muted: #5c7a5c;--accent: #b36b00;--danger: #c8291f;--marker: #8a6d00;--marker-active: #14181c;--marker-delta: #c2185b;--memory: #5a6572;--trace-s11: #1f6b2b;--trace-s21: #b36b00;--trace-s12: #0f766e;--trace-s22: #b5442e;--file-0: #1f6b2b;--file-1: #b36b00;--file-2: #0f766e;--file-3: #b5442e;--file-4: #6b7a1f;--file-5: #a67c00;--file-6: #0e7c86;--file-7: #a35a2a;--hint: #8a8a7d;--overlay-bg: rgba(255, 255, 255, .92);--hover-tint: rgba(179, 107, 0, .06);--dropping-tint: rgba(179, 107, 0, .1);--active-row-tint: rgba(179, 107, 0, .14)}:root[data-theme=hp]{color-scheme:dark;--bg: #000000;--surface: #111111;--border: #3a3a3a;--text: #e6e6e6;--muted: #9a9a9a;--accent: #ffb000;--danger: #ff4136;--marker: #ffcc00;--marker-active: #ffffff;--marker-delta: #ff66ff;--memory: #7a8a99;--trace-s11: #ffcc00;--trace-s21: #00e5ff;--trace-s12: #66ff66;--trace-s22: #ff5fa0;--file-0: #ffcc00;--file-1: #00e5ff;--file-2: #66ff66;--file-3: #ff5fa0;--file-4: #ff9900;--file-5: #3399ff;--file-6: #ccff33;--file-7: #ff5533;--hint: #555555;--overlay-bg: rgba(0, 0, 0, .92);--hover-tint: rgba(255, 176, 0, .05);--dropping-tint: rgba(255, 176, 0, .08);--active-row-tint: rgba(255, 176, 0, .16)}:root[data-theme=agilent]{color-scheme:dark;--bg: #000814;--surface: #0d1420;--border: #2c3e50;--text: #eef3f8;--muted: #8695a3;--accent: #0091d5;--danger: #ff3b30;--marker: #ffe135;--marker-active: #ffffff;--marker-delta: #ff2f92;--memory: #6f8298;--trace-s11: #ffe135;--trace-s21: #29d6ff;--trace-s12: #6bff8f;--trace-s22: #ff6b81;--file-0: #ffe135;--file-1: #29d6ff;--file-2: #6bff8f;--file-3: #ff6b81;--file-4: #ff9f40;--file-5: #4aa3ff;--file-6: #c17aff;--file-7: #33d9b2;--hint: #4a5a68;--overlay-bg: rgba(3, 8, 14, .92);--hover-tint: rgba(0, 145, 213, .06);--dropping-tint: rgba(0, 145, 213, .1);--active-row-tint: rgba(0, 145, 213, .16)}html,body{height:100%;background:var(--bg);color:var(--text);font:14px/1.5 var(--mono-font)}#app{display:flex;flex-direction:column;height:100vh}header{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:2px solid var(--border);box-shadow:inset 0 -2px 4px -2px #0009,inset 0 1px #ffffff08;flex-shrink:0}h1{font-size:1rem;font-weight:600;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}nav{display:flex;gap:.25rem;margin-left:auto}button{padding:.2rem .65rem;background:transparent;border:1px solid var(--border);border-radius:.2rem;color:var(--muted);cursor:pointer;font-size:.85rem;transition:border-color .15s,color .15s}button:hover{border-color:var(--accent);color:var(--text)}button.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:500}#compare{margin-left:.5rem}#lang-toggle{margin-left:.5rem;min-width:2.1rem}#theme-select{margin-left:.5rem;padding:.2rem .4rem;background:transparent;border:1px solid var(--border);border-radius:.2rem;color:var(--muted);cursor:pointer;font-size:.85rem;font-family:inherit;transition:border-color .15s,color .15s}#theme-select:hover,#theme-select:focus{border-color:var(--accent);color:var(--text);outline:none}#theme-select option{background:var(--surface);color:var(--text)}#clear:hover{border-color:var(--danger);color:var(--danger)}#repo-link{color:var(--muted);font-size:.82rem;text-decoration:none;margin-left:.25rem;transition:color .15s}#repo-link:hover{color:var(--text)}#build-version{color:var(--muted);font-size:.75rem;font-family:monospace;text-decoration:none;margin-left:.1rem;opacity:.7;transition:opacity .15s}#build-version:hover{opacity:1}#file-bar{display:flex;align-items:center;padding:.35rem 1rem;border-bottom:2px solid var(--border);box-shadow:inset 0 -2px 4px -2px #0009,inset 0 1px #ffffff08;flex-shrink:0;min-height:2.2rem}#file-chips{display:flex;flex-wrap:wrap;gap:.35rem}#scale-bar{display:flex;align-items:center;gap:1rem;padding:.35rem 1rem;border-bottom:2px solid var(--border);box-shadow:inset 0 -2px 4px -2px #0009,inset 0 1px #ffffff08;flex-shrink:0}#scale-bar label{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}#scale-bar input{width:4.5rem;padding:.15rem .35rem;background:var(--surface);border:1px solid var(--border);border-radius:.2rem;color:var(--text);font-size:.82rem}#scale-bar input:focus{outline:none;border-color:var(--accent)}.file-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .25rem .15rem .5rem;background:var(--surface);border:2px solid var(--border);box-shadow:inset 0 1px #ffffff0a,inset 0 -1px #0006;border-radius:.2rem;font-size:.82rem;cursor:pointer;transition:border-color .15s;-webkit-user-select:none;user-select:none}.file-chip:hover{border-color:var(--accent)}.file-chip.active{border-color:var(--accent);color:var(--text)}.dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.chip-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.file-chip.active .chip-name{color:var(--text)}.chip-name-input{max-width:180px;width:16ch;font:inherit;font-size:.82rem;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:.15rem;padding:0 .15rem}.chip-remove{padding:0 .2rem;border:none;border-radius:0;color:var(--muted);font-size:.95rem;line-height:1;background:transparent;transition:color .15s}.chip-remove:hover{border-color:transparent;color:var(--danger)}.body-row{display:flex;flex:1;min-height:0}#softkey-rail{width:160px;flex-shrink:0;border-left:2px solid var(--border);box-shadow:inset 2px 0 4px -2px #0009;padding:.6rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.rail-group{display:flex;flex-direction:column;gap:.3rem}.rail-label{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.1rem}.rail-group button{width:100%;text-align:left;padding:.3rem .5rem}.rail-group button:disabled{opacity:.35;cursor:default}.rail-group button:disabled:hover{border-color:var(--border);color:var(--muted)}main{flex:1;position:relative;overflow:hidden;min-height:0}main.dropping:after{content:"Drop to add file";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--dropping-tint);border:2px dashed var(--accent);color:var(--accent);font-size:.9rem;pointer-events:none;z-index:10}#drop-zone{position:absolute;top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:2px dashed var(--border);border-radius:.4rem;cursor:pointer;transition:border-color .15s,background .15s}#drop-zone:hover,#drop-zone.over{border-color:var(--accent);background:var(--hover-tint)}#drop-zone p{color:var(--muted);font-size:.9rem}#drop-zone small{color:var(--hint);font-size:.82rem}#scope-area{display:flex;flex-direction:column;height:100%}#trace-info-bar{display:flex;flex-wrap:wrap;gap:.75rem;padding:.3rem 1rem;border-bottom:2px solid var(--border);box-shadow:inset 0 -2px 4px -2px #0009,inset 0 1px #ffffff08;flex-shrink:0}.trace-info{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--muted)}.trace-toggle{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.trace-toggle:hover{color:var(--text)}.trace-info.off{opacity:.4}.trace-info.off .trace-toggle{text-decoration:line-through}.trace-color{width:.9rem;height:.9rem;padding:0;border:1px solid var(--border);border-radius:50%;background:none;cursor:pointer;flex-shrink:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.trace-color::-webkit-color-swatch-wrapper{padding:0}.trace-color::-webkit-color-swatch{border:none;border-radius:50%}.trace-color::-moz-color-swatch{border:none;border-radius:50%}.trace-width{width:3.2rem;padding:.1rem .25rem;background:var(--surface);border:1px solid var(--border);border-radius:.2rem;color:var(--muted);font-size:.75rem;font-family:inherit}.trace-width:focus{outline:none;border-color:var(--accent);color:var(--text)}#chart-wrap{flex:1;position:relative;min-height:0}#chart{width:100%;height:100%;display:block;touch-action:none;cursor:default}#freq-bar{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.35rem 1rem;border-top:2px solid var(--border);box-shadow:inset 0 2px 4px -2px #0009;flex-shrink:0}#freq-bar label{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}#freq-bar input{width:5.5rem;padding:.15rem .35rem;background:var(--surface);border:1px solid var(--border);border-radius:.2rem;color:var(--text);font-size:.82rem}#freq-bar input:focus{outline:none;border-color:var(--accent)}#zoom-controls{display:inline-flex;align-items:center;gap:.35rem}#zoom-controls #zoom-out,#zoom-controls #zoom-in{width:1.8rem;padding:.15rem 0;font-size:1rem;line-height:1}#marker-overlay{position:absolute;bottom:.5rem;right:.5rem;background:var(--overlay-bg);border:2px solid var(--border);box-shadow:0 2px 6px #00000080,inset 0 1px #ffffff0a;border-radius:.25rem;padding:.3rem .4rem;pointer-events:auto;z-index:5}#live-error-banner{position:absolute;top:.75rem;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:.6rem;max-width:calc(100% - 3rem);padding:.5rem .5rem .5rem .75rem;background:var(--overlay-bg);border:2px solid var(--danger);border-radius:.3rem;box-shadow:0 2px 10px #00000080;color:var(--danger);font-size:.85rem}#live-error-text{overflow-wrap:anywhere}#live-error-dismiss{flex-shrink:0;border:none;background:transparent;color:var(--danger);font-size:1rem;line-height:1;padding:0 .2rem;cursor:pointer}#live-error-dismiss:hover{opacity:.7}#bw-overlay{position:absolute;bottom:.5rem;left:.5rem;background:var(--overlay-bg);border:2px solid var(--border);box-shadow:0 2px 6px #00000080,inset 0 1px #ffffff0a;border-radius:.25rem;padding:.3rem .55rem;font-size:.82rem;color:var(--marker);z-index:5}#resonance-overlay{position:absolute;bottom:.5rem;right:.5rem;background:var(--overlay-bg);border:2px solid var(--border);box-shadow:0 2px 6px #00000080,inset 0 1px #ffffff0a;border-radius:.25rem;padding:.3rem .55rem;font-size:.82rem;color:var(--marker);z-index:5}.rail-input-label{display:flex;flex-direction:column;gap:.15rem;font-size:.76rem;color:var(--muted);margin-top:.1rem}.rail-input-label input{width:100%;padding:.15rem .35rem;background:var(--surface);border:1px solid var(--border);border-radius:.2rem;color:var(--text);font-size:.82rem}.rail-input-label input:focus{outline:none;border-color:var(--accent)}#marker-delta-toggle.active{background:var(--marker);border-color:var(--marker);color:#000}#marker-table{border-collapse:collapse;font-size:.82rem}#marker-table th{text-align:left;color:var(--muted);font-weight:500;padding:.1rem .5rem}#marker-table td{padding:.1rem .5rem;color:var(--marker);white-space:nowrap}#marker-table tbody tr{cursor:pointer}#marker-table tbody tr.active{background:var(--active-row-tint)}#marker-table tbody tr.delta-ref td{color:var(--marker)}#marker-table tbody tr.delta-ref .marker-num{color:var(--marker-delta)!important}.marker-num{color:var(--text)!important;font-weight:600}.marker-num:before{content:"M";color:var(--muted);font-weight:400}.marker-remove{padding:0 .3rem;border:none;background:transparent;color:var(--muted);font-size:.95rem;line-height:1;cursor:pointer;transition:color .15s}.marker-remove:hover{color:var(--danger)}#live-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;padding:.35rem 1rem;border-bottom:2px solid var(--border);box-shadow:inset 0 -2px 4px -2px #0009,inset 0 1px #ffffff08;flex-shrink:0}#live-bar label{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}#live-bar input,#live-bar select{width:4.5rem;padding:.15rem .35rem;background:var(--surface);border:1px solid var(--border);border-radius:.2rem;color:var(--text);font-size:.82rem}#live-bar select{width:auto}#live-bar input:focus,#live-bar select:focus{outline:none;border-color:var(--accent)}.live-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.live-connecting .live-dot,.live-sweeping .live-dot{background:var(--accent);animation:live-pulse 1s ease-in-out infinite}.live-connected .live-dot{background:var(--text)}.live-error .live-dot{background:var(--danger)}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.3}}#live-log{max-height:8rem;overflow-y:auto;margin:0;padding:.4rem 1rem;background:var(--surface);border-bottom:2px solid var(--border);font-size:.75rem;line-height:1.4;color:var(--muted);white-space:pre-wrap;word-break:break-all;flex-shrink:0}#cal-wizard{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--overlay-bg);z-index:20}#cal-wizard-box{width:26rem;max-width:calc(100vw - 2rem);background:var(--surface);border:2px solid var(--border);border-radius:.4rem;padding:1.2rem;box-shadow:0 4px 16px #00000080}#cal-wizard-box h2{font-size:.95rem;color:var(--accent);margin-bottom:.6rem}#cal-wizard-step-label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}#cal-wizard-instructions{font-size:.9rem;margin:.4rem 0 .8rem}#cal-wizard-steps{list-style:none;display:flex;gap:.5rem;margin-bottom:1rem;font-size:.78rem;color:var(--hint)}#cal-wizard-steps li.done{color:var(--text)}#cal-wizard-steps li.active{color:var(--accent);font-weight:600}#cal-wizard-actions{display:flex;gap:.5rem}[hidden]{display:none!important}@media print{header nav,#compare,#export-csv,#clear,#lang-toggle,#theme-select,#repo-link,#build-version,#file-bar .chip-remove,#softkey-rail,#freq-bar,#bw-overlay,#resonance-overlay,#live-connect,#live-bar,#live-log,#live-error-banner,#cal-wizard{display:none!important}}
