:root{--color-primary: #006fe6;--color-primary-hover: #0056b3;--color-primary-dark: #004085;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-success: #1ede3e;--color-warning: #f5de0b;--color-warning-hover: #d97706;--color-secondary: #6c757d;--color-secondary-hover: #495057;--color-text: #222;--color-text-contrast: white;--color-text-light: #595959;--color-text-lighter: #767676;--color-text-dark: #111;--color-text-muted: #444;--color-text-error: #b22222;--color-text-disabled: #9ca3af;--color-bg: #f5f5f5;--color-bg-white: white;--color-bg-light: #f8f9fa;--color-bg-lighter: #fafafa;--color-bg-dark: #111;--color-border: #ddd;--color-border-light: #eee;--color-border-lighter: #dee2e6;--color-border-medium: #999;--color-overlay: rgba(0, 0, 0, .7);--color-tooltip-bg: rgba(0, 0, 0, .82);--color-tooltip-text: #fff;--color-status-success-bg: #d4edda;--color-status-success-text: #155724;--color-status-success-border: #c3e6cb;--color-status-error-bg: #f8d7da;--color-status-error-text: #721c24;--color-status-error-border: #f5c6cb;--color-status-info-bg: #d1ecf1;--color-status-info-text: #0c5460;--color-status-info-border: #bee5eb;--color-status-warning-bg: #fef3c7;--color-status-warning-text: #92400e;--color-status-warning-border: #f59e0b;--color-status-warning-heading: #78350f;--color-field-group-bg: #e0e0e0;--color-field-group-text: #333;--color-file-upload-bg: #f0f0f0;--color-file-upload-border: #ccc;--color-chart-bg: #000;--color-chart-border: #333;--color-chart-label: #ccc;--color-chart-value: #fff;--color-chart-range: #aaa;--color-grid: var(--color-border-light);--color-axis: #ccc;--color-chart-text: #444;--color-gauge-bg: #111;--color-gauge-pointer: #ff6600;--color-gauge-value: #cc5500;--color-gauge-fill: #28a745;--color-gauge-fill-hover: #218838;--color-gauge-bar: #007bff;--color-gauge-cyan: #00e5ff;--color-gauge-muted: #aaa;--color-gauge-danger: #dc3545;--color-gauge-danger-hover: #c82333;--color-gauge-warning: #ffc107;--color-gauge-recording: var(--color-gauge-danger-hover);--color-gauge-recording-border: #ff4d5e;--color-gauge-resizing: var(--color-gauge-fill);--color-gauge-dual-bg: #0a0f1a;--color-gauge-dual-border: #1a3040;--color-gauge-dual-text: #00ffff;--color-gauge-design-tick: var(--color-gauge-dual-text);--color-gauge-design-label: var(--color-gauge-value);--color-toolbar-bg: rgba(24, 24, 32, .93);--color-toolbar-text: #fff;--color-toolbar-label: #ccc;--color-edit-outline: rgba(0, 123, 255, .35);--color-edit-handle: rgba(0, 123, 255, .18);--color-edit-handle-active: rgba(0, 123, 255, .35);--color-edit-handle-icon: rgba(0, 123, 255, .75);--color-edit-resize: rgba(0, 123, 255, .45);--color-edit-resize-border: rgba(0, 123, 255, .9);--color-series-1: var(--color-primary);--color-series-2: var(--color-success);--color-series-3: var(--color-danger);--color-series-4: #e37400;--color-series-5: #129eaf;--color-series-6: #a142f4;--color-series-7: #e24b9c;--color-series-8: #9e6c00;--color-series-9: #008d5f;--color-series-10: #5c7080;--color-chart-palette-1: var(--color-gauge-cyan);--color-chart-palette-2: #ff6384;--color-chart-palette-3: #36a2eb;--color-chart-palette-4: #ffce56;--color-chart-palette-5: #4bc0c0;--color-chart-palette-6: #9966ff;--color-chart-palette-7: #ff9f40;--color-chart-palette-8: #7fff00;--color-chart-palette-9: #ff4081;--color-chart-palette-10: #00e676;--color-chart-palette-11: #ea80fc;--color-chart-palette-12: #64ffda;--color-chart-palette-13: #ffd740;--color-chart-palette-14: #8c9eff;--color-chart-palette-15: #ff5252;--color-heatmap-1: #000080;--color-heatmap-2: #0000FF;--color-heatmap-3: #00FFFF;--color-heatmap-4: #00FF00;--color-heatmap-5: #FFFF00;--color-heatmap-6: #FF0000;--color-heatmap-7: #800000;--color-heatmap-cursor: #FF00FF;--color-heatmap-text-dark: #000;--color-heatmap-text-light: #fff;--color-tooth-bar: #4fc3f7;--color-tooth-highlight: #ff9800;--scary-bg: #1a0000;--scary-border: #ff0000;--scary-text: #ffcccc;--scary-header-bg: var(--scary-border);--scary-header-text: #000;--scary-pulse-end: var(--scary-btn-bg);--scary-highlight: #ff3333;--scary-list: #ff6666;--scary-arena-border: #550000;--scary-btn-bg: #cc0000;--scary-btn-hover: #aa0000;--scary-btn-active: #990000;--scary-counter: #cc6666;--scary-glow: rgba(255, 0, 0, .5);--scary-backdrop: rgba(20, 0, 0, .9);--sd-phase-idle-bg: #37474f;--sd-phase-idle-text: #b0bec5;--sd-phase-cranking-bg: #e65100;--sd-phase-cranking-text: #fff;--sd-phase-running-bg: #1b5e20;--sd-phase-running-text: #a5d6a7;--sd-phase-failed-bg: #b71c1c;--sd-phase-failed-text: #ffcdd2;--sd-status-ok-text: var(--color-status-success-text);--sd-status-warn-text: #7a4f01;--sd-status-warn-border: var(--color-warning);--sd-status-fail-text: #a1251b;--sd-color-rpm: var(--color-danger);--sd-color-battery: var(--color-gauge-cyan);--sd-color-map: var(--color-success);--sd-color-pw: #ff6d00;--sd-color-afr: #76ff03;--sd-color-coolant: var(--color-tooth-highlight);--sd-color-intake: #ab47bc;--sd-color-tps: #fdd835;--sd-color-advance: #e040fb;--sd-color-dwell: #40c4ff;--severity-low-bg: #4a5568;--severity-low-text: #e2e8f0;--severity-medium-bg: #ed8936;--severity-medium-text: #ffffff;--severity-high-bg: #f56565;--severity-high-text: #ffffff;--severity-critical-bg: #c53030;--severity-critical-text: #ffffff;--safety-note-bg-start: var(--color-status-warning-bg);--safety-note-bg-end: #fde68a;--safety-note-border: var(--color-status-warning-border);--safety-note-text: var(--color-status-warning-text);--safety-note-heading: var(--color-status-warning-heading);--wizard-chart-bg-light: #fafbfc;--wizard-chart-text-light: #333;--wizard-chart-grid-light: #e0e0e0;--rt-color-white: #ffffff;--rt-color-red: var(--color-danger);--rt-color-yellow: #e3e300;--rt-color-green: var(--color-success);--rt-color-cyan: var(--color-gauge-cyan);--rt-color-pink: var(--color-series-7);--rt-color-purple: var(--color-series-6);--rt-color-orange: var(--color-series-4);--rt-color-slate: var(--color-series-10);--rt-color-empty: #888;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 15px;--spacing-xl: 20px;--spacing-2xl: 30px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--font-xs: 11px;--font-sm: 12px;--font-base: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 22px;--font-2xl: 24px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 2px 0 10px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .3);--transition-fast: .2s;--transition-base: .3s}[data-theme=dark]{--color-primary: #74c0fc;--color-primary-hover: #a5d8ff;--color-primary-dark: #4dabf7;--color-danger: #ff8787;--color-danger-hover: #ffa8a8;--color-success: #69db7c;--color-warning: #fdd835;--color-warning-hover: #ffe082;--color-secondary: #adb5bd;--color-secondary-hover: #868e96;--color-text: #f0f0f0;--color-text-contrast: #000000;--color-text-light: #ccc;--color-text-lighter: #aaa;--color-text-dark: #ffffff;--color-text-muted: #ddd;--color-text-error: #ff6b6b;--color-text-disabled: #6b7280;--color-bg: #121212;--color-bg-white: #1e1e1e;--color-bg-light: #252525;--color-bg-lighter: #2d2d2d;--color-bg-dark: #000;--color-border: #444;--color-border-light: #333;--color-border-lighter: #222;--color-border-medium: #666;--color-overlay: rgba(0, 0, 0, .85);--color-tooltip-bg: rgba(20, 20, 20, .92);--color-status-success-bg: #1b2e1f;--color-status-success-text: #75b798;--color-status-success-border: #2b4733;--color-status-error-bg: #2c1a1d;--color-status-error-text: #ea868f;--color-status-error-border: #44272b;--color-status-info-bg: #162d31;--color-status-info-text: #6edff6;--color-status-info-border: #22454d;--color-status-warning-bg: #3d2a06;--color-status-warning-text: var(--color-warning);--color-status-warning-border: #7a4f01;--color-status-warning-heading: #fed7aa;--color-field-group-bg: #383838;--color-field-group-text: #eee;--color-file-upload-bg: #2d2d2d;--color-file-upload-border: #555;--color-chart-bg: #0a0a0a;--color-chart-border: #2a2a2a;--color-axis: #666;--color-chart-text: #ccc;--sd-status-ok-text: var(--color-success);--sd-status-warn-text: var(--color-warning);--sd-status-fail-text: var(--color-danger);--wizard-chart-bg-light: #1e2226;--wizard-chart-text-light: #e9ecef;--wizard-chart-grid-light: #424952;--safety-note-bg-start: #451a03;--safety-note-bg-end: #78350f;--safety-note-border: #f59e0b;--safety-note-text: #fde68a;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .5);--shadow-md: 2px 0 10px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .8)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #74c0fc;--color-primary-hover: #a5d8ff;--color-primary-dark: #4dabf7;--color-danger: #ff8787;--color-danger-hover: #ffa8a8;--color-success: #69db7c;--color-warning: #fdd835;--color-warning-hover: #ffe082;--color-secondary: #adb5bd;--color-secondary-hover: #868e96;--color-text: #f0f0f0;--color-text-contrast: #000000;--color-text-light: #ccc;--color-text-lighter: #aaa;--color-text-dark: #ffffff;--color-text-muted: #ddd;--color-text-error: #ff6b6b;--color-text-disabled: #6b7280;--color-bg: #121212;--color-bg-white: #1e1e1e;--color-bg-light: #252525;--color-bg-lighter: #2d2d2d;--color-bg-dark: #000;--color-border: #444;--color-border-light: #333;--color-border-lighter: #222;--color-border-medium: #666;--color-overlay: rgba(0, 0, 0, .85);--color-tooltip-bg: rgba(20, 20, 20, .92);--color-status-success-bg: #1b2e1f;--color-status-success-text: #75b798;--color-status-success-border: #2b4733;--color-status-error-bg: #2c1a1d;--color-status-error-text: #ea868f;--color-status-error-border: #44272b;--color-status-info-bg: #162d31;--color-status-info-text: #6edff6;--color-status-info-border: #22454d;--color-status-warning-bg: #3d2a06;--color-status-warning-text: var(--color-warning);--color-status-warning-border: #7a4f01;--color-status-warning-heading: #fed7aa;--color-field-group-bg: #383838;--color-field-group-text: #eee;--color-file-upload-bg: #2d2d2d;--color-file-upload-border: #555;--color-chart-bg: #0a0a0a;--color-chart-border: #2a2a2a;--color-axis: #666;--color-chart-text: #ccc;--sd-status-ok-text: var(--color-success);--sd-status-warn-text: var(--color-warning);--sd-status-fail-text: var(--color-danger);--wizard-chart-bg-light: #1e2226;--wizard-chart-text-light: #e9ecef;--wizard-chart-grid-light: #424952;--safety-note-bg-start: #451a03;--safety-note-bg-end: #78350f;--safety-note-border: #f59e0b;--safety-note-text: #fde68a;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .5);--shadow-md: 2px 0 10px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .8)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;padding:0;margin:0;background:var(--color-bg);color:var(--color-text);height:100vh;width:100vw;overflow:hidden}h1{color:var(--color-text-dark);margin-bottom:10px}h2{color:var(--color-text-dark);margin-bottom:var(--spacing-lg);font-size:var(--font-lg)}h3{color:var(--color-text-dark);margin-bottom:var(--spacing-md);font-size:var(--font-md)}h4{color:var(--color-text-dark);margin-bottom:var(--spacing-sm);font-size:var(--font-base)}.subtitle{color:var(--color-text-light);margin-bottom:var(--spacing-2xl)}.help-text{color:var(--color-text-light);font-size:13px;margin-bottom:var(--spacing-lg)}.centered-text,.standard-dialog-not-implemented,.std-constants-note,.realtime-note,.generic-not-implemented{padding:var(--spacing-xl);text-align:center;color:var(--color-text-light)}html,body{height:100%;margin:0;padding:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--color-bg);color:var(--color-text)}.app-layout{display:flex;height:100vh;width:100vw}.main-layout{display:flex;flex-direction:column;flex:1;min-width:0;position:relative}.sidebar{position:relative;top:0;left:0;width:0;height:100%;background:var(--color-bg-white);display:flex;flex-direction:column;transition:width var(--transition-base) ease;z-index:1001;overflow:hidden;border-right:none}.sidebar.open{width:280px;border-right:1px solid var(--color-border)}.sidebar-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;white-space:nowrap}.sidebar-header h2{margin:0;font-size:var(--font-lg);font-weight:600}button.close-btn{background:none;color:var(--color-text-light);font-size:28px;padding:0;margin:0;width:30px;height:30px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}button.close-btn:hover{color:var(--color-danger);background:none}.menu-search-container{position:relative;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.menu-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-light);color:var(--color-text);font-size:var(--font-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.menu-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a}.menu-search-input::placeholder{color:var(--color-text-light)}.menu-search-clear{position:absolute;right:calc(var(--spacing-lg) + 8px);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-light);font-size:20px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.menu-search-clear:hover{color:var(--color-text)}.menu-item.search-hidden,.sidebar-submenu.search-hidden,.menu-section-label.search-hidden{display:none!important}.menu-item.search-match{background:#ffc1071a}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0;min-width:280px}.menu-section-label{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-xs);font-size:var(--font-xs);font-weight:700;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.menu-item{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);margin:0;color:var(--color-text);text-decoration:none;transition:background var(--transition-fast);border:none;background:none;width:100%;text-align:left;font-size:var(--font-base);cursor:pointer;white-space:nowrap;border-radius:0;box-shadow:none}.menu-item:hover{background:var(--color-bg-light);color:var(--color-text)}.menu-item.active{background:#007bff0d;color:var(--color-primary);font-weight:600}.menu-item .menu-icon{margin-right:var(--spacing-md);font-size:1.2em;width:24px;text-align:center}.sidebar-submenu{display:none;background:var(--color-bg-light);padding-left:0}.sidebar-submenu.open{display:block}.submenu-item{display:flex;align-items:center;padding:var(--spacing-xs) var(--spacing-lg) var(--spacing-xs) var(--spacing-2xl);margin:0;color:var(--color-text-light);text-decoration:none;font-size:var(--font-sm);transition:color var(--transition-fast);border:none;background:none;width:100%;text-align:left;cursor:pointer;white-space:nowrap;border-radius:0;box-shadow:none}.submenu-item:hover{background:var(--color-bg-lighter);color:var(--color-primary)}.submenu-item.submenu-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.submenu-folder{font-weight:600;display:flex;justify-content:space-between;align-items:center}.submenu-folder .folder-arrow{font-size:.7em;transition:transform var(--transition-base);margin-left:auto;padding-left:var(--spacing-sm)}.submenu-folder.open .folder-arrow{transform:rotate(90deg)}.nested-submenu{display:none;background:var(--color-bg-light)}.nested-submenu.open{display:block}.menu-item .arrow{margin-left:auto;transition:transform var(--transition-base);font-size:.8em}.menu-item.open .arrow{transform:rotate(90deg)}@keyframes menu-reveal-pulse{0%{background:#ffc10759}to{background:transparent}}.menu-reveal-highlight{animation:menu-reveal-pulse 1.8s ease-out}.menu-separator{height:1px;background:var(--color-border-light);margin:var(--spacing-xs) var(--spacing-lg)}.top-bar{height:56px;background:var(--color-bg-white);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--spacing-lg);gap:var(--spacing-lg)}.hamburger-menu{cursor:pointer;display:block;padding:var(--spacing-sm)}.hamburger-icon{width:24px;height:18px;display:flex;flex-direction:column;justify-content:space-between}.hamburger-icon span{display:block;width:100%;height:2px;background:var(--color-text-muted);border-radius:1px;transition:all var(--transition-base) ease}.hamburger-icon:hover span{background:var(--color-primary)}.tab-bar{display:flex;height:100%;align-items:flex-end;gap:var(--spacing-xs);flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-width:0;-webkit-overflow-scrolling:touch;cursor:grab;user-select:none}.tab-bar.grabbing{cursor:grabbing}.tab-bar::-webkit-scrollbar{display:none}@media(max-width:600px){.tab-bar{scrollbar-width:auto}.tab-bar::-webkit-scrollbar{display:block;height:4px}.tab-bar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}}.tab-button{height:40px;padding:0 var(--spacing-lg);margin:0;background:none;border:none;border-bottom:3px solid transparent;font-size:var(--font-base);font-weight:500;color:var(--color-text-light);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);box-shadow:none;flex-shrink:0}.tab-button:hover{color:var(--color-primary);background:none}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.top-bar-right{display:flex;gap:var(--spacing-sm);align-items:center}.status-badge,.read-rate-badge{padding:2px 8px;border-radius:var(--radius-lg);background:var(--color-bg-light);font-size:var(--font-xs);font-weight:600;color:var(--color-text-muted);border:1px solid var(--color-border-light)}.status-badge.active{background:var(--color-success);color:#fff;border-color:var(--color-success)}.status-badge.warning{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.content-area{flex:1;min-height:0;overflow:hidden;padding:var(--spacing-lg);position:relative}.tab-content{display:none;height:100%;overflow:hidden}.tab-content.active{display:block}.status-bar{height:40px;background:var(--color-bg-white);border-top:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--spacing-lg);justify-content:space-between;font-size:var(--font-sm)}.operation-status{color:var(--color-text)}.log-controls{display:flex;align-items:center;gap:var(--spacing-md)}.log-controls input[type=range]{width:150px}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;opacity:0;visibility:hidden;transition:opacity var(--transition-base)}.sidebar-overlay.visible{opacity:1;visibility:visible}.tab-scroll-container{height:100%;overflow-y:auto;padding:var(--spacing-lg)}.tuning-layout{display:flex;height:100%;gap:var(--spacing-lg);min-height:0}.tuning-main{flex:1;background:var(--color-bg-white);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;flex-direction:column;min-width:0;height:100%}.tuning-content-header{padding:var(--spacing-xs) var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.tuning-content-header.compact{padding:var(--spacing-xs) var(--spacing-lg)}.tuning-content-header.compact h2{font-size:var(--font-sm)}.tuning-content-header h2{margin:0;font-size:var(--font-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tuning-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.tuning-actions .primary-btn,.tuning-actions .secondary-btn{padding:5px var(--spacing-md);font-size:var(--font-sm);font-weight:600}.tuning-body{flex:1;overflow-y:auto;padding:var(--spacing-xl);position:relative}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);max-width:1200px;margin:0 auto}.settings-card,.status-card{background:var(--color-bg-white);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.card-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-light)}.card-header h2{margin:0;font-size:var(--font-xl);color:var(--color-primary)}.card-body{padding:var(--spacing-xl);flex:1}.card-footer{padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-light);border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end}.primary-btn{background:var(--color-primary);color:var(--color-text-contrast);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.primary-btn:hover{background:var(--color-primary-hover)}.secondary-btn{background:var(--color-bg-light);color:var(--color-text-dark);border:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:var(--font-base);line-height:1.2}.secondary-btn:hover{background:var(--color-bg-dark);color:var(--color-text-dark)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-lighter)}.empty-icon{font-size:64px;margin-bottom:var(--spacing-md)}@media(max-width:900px){.tuning-layout{flex-direction:column}.tuning-sidebar{width:100%;max-height:200px}}@media(max-height:500px){.top-bar{height:36px;padding:0 var(--spacing-sm);gap:var(--spacing-sm)}.tab-button{height:30px;padding:0 var(--spacing-sm);font-size:var(--font-sm)}.status-bar{height:24px;padding:0 var(--spacing-sm)}.content-area{padding:var(--spacing-xs)}.top-bar-right{gap:var(--spacing-xs)}.status-badge,.read-rate-badge{padding:0 4px;font-size:10px}}@media(max-width:900px){.sidebar{position:absolute;left:0;z-index:1002}}@media(min-width:901px){.sidebar-overlay{display:none}}@media(max-width:600px){.top-bar{padding:0 var(--spacing-sm);gap:var(--spacing-sm)}.tab-button{padding:0 var(--spacing-md);font-size:var(--font-sm);height:48px}.top-bar-right{display:none}.log-controls input[type=range]{width:80px}.content-area{padding:var(--spacing-sm)}.tuning-content-header{padding:var(--spacing-sm);flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.tuning-actions{justify-content:space-between}.tuning-actions button{flex:1;margin:0;padding:var(--spacing-sm);font-size:var(--font-sm)}.tuning-body{padding:var(--spacing-md)}.connection-button-group{flex-direction:column;align-items:stretch}.connection-button-group button{margin:0;width:100%}}.card-base{background:var(--color-bg-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.field-base,.dialog-field,.constant-field{display:flex;flex-direction:column;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-bg-lighter)}.dialog-column--compact .dialog-field{flex-direction:row;align-items:center;gap:var(--spacing-md);padding:4px var(--spacing-md)}.dialog-column--compact .dialog-field-label{flex:0 1 auto;margin-bottom:0;white-space:nowrap;font-size:13px;min-width:fit-content}.dialog-column--compact .dialog-field-input{flex:1 1 auto;min-width:60px;max-width:120px}.dialog-column--compact .dialog-field-help{display:none}.input-base,input[type=file],input[type=text],input[type=number],select,.dialog-field-input,.constant-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-base);background:var(--color-bg-white);color:var(--color-text)}.input-base:focus,.dialog-field-input:focus,.gauge-customization-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff26}.label-base,label,.dialog-field-label,.constant-label,.gauge-customization-label{display:block;margin-bottom:5px;color:var(--color-text);font-weight:600}button,.btn{display:inline-block;background:var(--color-primary);color:var(--color-text-contrast);border:none;padding:10px var(--spacing-xl);margin:10px;border-radius:var(--radius-md);font-size:var(--font-base);cursor:pointer;transition:background var(--transition-fast);text-decoration:none;text-align:center;line-height:1.2}button:not(:disabled):hover,.btn:not(.disabled):hover{background:var(--color-primary-hover);color:var(--color-text-contrast)}.btn-primary{background:var(--color-primary);color:var(--color-text-contrast)}.btn-primary:not(.disabled):hover{background:var(--color-primary-hover)}button:disabled,.btn.disabled{background:var(--color-border-light);color:var(--color-text-lighter);cursor:not-allowed}button.danger{background:var(--color-danger);color:var(--color-text-contrast)}button.danger:not(:disabled):hover{background:var(--color-danger-hover);color:var(--color-text-contrast)}.button-group{display:flex;gap:10px;margin-top:var(--spacing-lg)}.button-group-flex{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.custom-file-upload{border:1px solid var(--color-file-upload-border);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;border-radius:var(--radius-md);background:var(--color-file-upload-bg);white-space:nowrap}.checkbox-wrapper{margin:10px 0}.checkbox-wrapper label{display:flex;align-items:center;cursor:pointer;font-size:var(--font-base)}.checkbox-wrapper input[type=checkbox]{margin-right:var(--spacing-sm);cursor:pointer;width:18px;height:18px}.file-input-group{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.file-input-wrapper{flex:1}.status{padding:10px;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-base)}.status.success{background:var(--color-status-success-bg);color:var(--color-status-success-text);border:1px solid var(--color-status-success-border)}.status.error{background:var(--color-status-error-bg);color:var(--color-status-error-text);border:1px solid var(--color-status-error-border)}.status.info{background:var(--color-status-info-bg);color:var(--color-status-info-text);border:1px solid var(--color-status-info-border)}#stateDisplay,.state-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:var(--spacing-lg)}.state-item{padding:var(--spacing-sm);background:var(--color-bg-light);border-radius:var(--radius-md);font-size:13px}.state-label{font-weight:600;color:var(--color-text)}.state-value{color:var(--color-text)}.state-value.true{color:var(--color-success);font-weight:600}.state-value.false{color:var(--color-danger)}.signature-info{grid-column:1 / -1;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-light)}.signature-info.mismatch{background:#dc35450d}.signature-details{display:flex;flex-direction:column;align-items:flex-start;font-family:monospace;font-size:11px}.text-error{color:var(--color-danger)}.operation-status{margin-top:var(--spacing-lg)}#dataTable{width:100%;border-collapse:collapse;font-size:var(--font-base)}#dataTable th,#dataTable td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border-light)}#dataTable th{background:var(--color-bg-light);font-weight:600;color:var(--color-text)}#dataTable tr:hover{background:var(--color-bg-light)}.data-table-overflow{overflow-x:auto}.data-table-no-data{text-align:center;color:var(--color-text-light)}.log{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);height:100%;overflow-y:auto;font-family:Courier New,monospace;font-size:var(--font-sm)}.log-entry{margin-bottom:5px;padding:2px 0}.log-timestamp,.log-message{color:var(--color-text)}.log-error{color:var(--color-danger)}.reading-indicator{display:inline-block;width:10px;height:10px;background:var(--color-success);border-radius:50%;animation:pulse 1s infinite;margin-left:10px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.tooth-logger-layout{display:flex;flex-direction:column;height:100%;gap:8px;padding:8px;box-sizing:border-box}.tooth-logger-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}.tooth-logger-toolbar label{font-weight:600;white-space:nowrap}.tooth-logger-toolbar select{flex:1;min-width:120px;max-width:320px}.tooth-logger-chart{flex:1;min-height:200px;overflow:hidden;position:relative}.tooth-logger-chart canvas{display:block;width:100%;height:100%}.tooth-log-status{font-size:.85em;white-space:nowrap}.tooth-log-ok{color:var(--color-success, #4caf50)}.tooth-log-error{color:var(--color-danger)}.tooth-log-tooltip{position:fixed;background:var(--color-tooltip-bg);color:var(--color-tooltip-text);padding:4px 10px;border-radius:4px;font-size:12px;font-family:monospace;pointer-events:none;white-space:nowrap;z-index:9999;box-shadow:0 2px 6px #0006}dialog{border:none;background:transparent;padding:0;max-height:90vh;max-width:95vw;position:fixed;top:0;left:50%;bottom:0;transform:translate(-50%);margin:auto 0;z-index:1000}dialog::backdrop{background:var(--color-overlay);backdrop-filter:blur(4px)}dialog .modal-content{display:flex;flex-direction:column;max-height:90vh;background:var(--color-bg-white, #fff);border-radius:var(--radius-lg, 8px);box-shadow:0 10px 40px #0003;overflow:hidden}dialog .modal-header,dialog .modal-footer{flex-shrink:0}dialog .modal-body{overflow-y:auto;flex:1;min-height:0}#fileRequestModal{width:90%;max-width:600px}#fileRequestModal[open]{display:flex;flex-direction:column}#fileRequestModal .modal-content{background:var(--color-bg-white);border:1px solid var(--color-border);box-shadow:0 10px 40px #0000001a;color:var(--color-text);border-radius:12px}#fileRequestModal .modal-header{background:var(--color-bg-light);color:var(--color-text-dark);font-size:20px;font-weight:600;text-align:center;padding:24px;border-bottom:1px solid var(--color-border-light)}#fileRequestModal .modal-body{padding:32px;color:var(--color-text-muted);line-height:1.6}#fileRequestModal .modal-footer{padding:16px 32px;border-top:1px solid var(--color-border-light);background:var(--color-bg-light);display:flex;justify-content:flex-end}.required-filename{font-family:monospace;background:var(--color-bg-lighter);padding:10px;border-radius:4px;margin:15px 0;font-weight:700;text-align:center;border:1px solid var(--color-border-light);color:var(--color-text-dark)}.file-request-input-wrapper{text-align:center;margin:24px 0}.file-request-help-text{font-size:14px;color:var(--color-text-lighter);font-style:italic;text-align:center}.dialog-body{display:flex;flex-direction:column;gap:var(--spacing-md)}.dialog-static-text{color:var(--color-text-dark);font-size:var(--font-base);line-height:1.4;margin:var(--spacing-xs) 0 var(--spacing-sm)}.dialog-static-text-error{color:var(--color-text-error);font-weight:600}.dialog-static-text-info{color:var(--color-success, #28a745);font-weight:600}.dialog-field-help{margin-top:6px;color:var(--color-text-light);font-size:13px;line-height:1.35}.dialog-help-link{margin:var(--spacing-sm) 0 var(--spacing-xs)}.dialog-help-link a{color:var(--color-primary);text-decoration:none}.dialog-help-link a:hover{text-decoration:underline}.dialog-info-note{color:var(--color-text-light);font-style:italic;margin:var(--spacing-sm) 0}.dialog-region-middle{display:flex;gap:var(--spacing-sm)}.dialog-column{min-width:200px;overflow-y:auto}@media(max-width:768px){.dialog-region-middle{flex-direction:column}.dialog-column{flex:0 0 auto!important;width:100%;max-width:100%;overflow-y:visible}}.dialog-region-north,.dialog-region-south{flex:0 0 auto;width:100%}.dialog-flow-xaxis,.dialog-flow-yaxis{display:flex;gap:var(--spacing-sm)}.dialog-flow-xaxis{flex-direction:row}.dialog-flow-yaxis{flex-direction:column}.dialog-flow-cell{flex:1 1 auto}.dialog-panel-wrap,.readout-panel-placeholder,.dialog-widget-placeholder,.dialog-embedded-table,.dialog-embedded-curve,.indicator-panel{padding:6px;margin:var(--spacing-xs) 0;border-radius:var(--radius-md)}.dialog-panel-wrap{border:1px solid var(--color-border)}.dialog-panel-wrap .dialog-panel-wrap{border:none;padding:0;margin:0}.readout-panel-placeholder{border:1px dashed var(--color-status-success-border)}.dialog-widget-placeholder{border:1px dashed var(--color-border-light)}.dialog-embedded-table,.dialog-embedded-curve{border:1px solid var(--color-border-light)}.indicator-panel{padding:var(--spacing-sm);margin:var(--spacing-sm) 0;border:1px solid var(--color-border)}.dialog-panel-title,.embedded-table-title,.embedded-curve-title,.readout-panel-placeholder>div:first-child{font-weight:600;margin-bottom:6px;font-size:var(--font-base);color:var(--color-text)}.dialog-column .dialog-panel-title{font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-light);border-bottom:1px solid var(--color-border-light);padding-bottom:4px;margin-bottom:var(--spacing-sm)}.standard-dialog-error{padding:var(--spacing-xl);color:var(--color-text-error)}.std-constants-dialog,.std-realtime-dialog{padding:4px;display:flex;flex-direction:column;height:100%}.std-constants-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.std-constants-header h3{margin:0}.std-constants-info{font-size:var(--font-sm);color:var(--color-text-light)}.constants-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-height:500px;overflow-y:auto}@media(max-width:480px){.constants-grid{grid-template-columns:1fr}}.inj-calc{padding:12px 16px;max-width:560px;display:flex;flex-direction:column;gap:16px}.inj-calc-header{display:flex;flex-direction:column;gap:4px}.inj-calc-title{margin:0;font-size:var(--font-lg);font-weight:600;color:var(--color-text)}.inj-calc-subtitle{margin:0;font-size:var(--font-sm);color:var(--color-text-light);line-height:1.4}.inj-calc-grid{display:flex;flex-direction:column;gap:8px}.inj-calc-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:8px}.inj-calc-row-label{font-size:var(--font-sm);color:var(--color-text);text-align:right;white-space:nowrap}.inj-calc-row-controls{display:flex;align-items:center;gap:6px}.inj-calc-input{width:90px!important;padding:4px 6px!important;font-size:var(--font-sm)!important;text-align:right;flex-shrink:0}.inj-calc-input--narrow{width:60px!important}.inj-calc-row-hint{grid-column:2;font-size:var(--font-xs);color:var(--color-text-lighter);padding-left:2px}.inj-toggle{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.inj-toggle-btn{flex:1;padding:3px 8px;font-size:var(--font-xs);background:var(--color-bg-light);color:var(--color-text-light);border:none;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.inj-toggle-btn+.inj-toggle-btn{border-left:1px solid var(--color-border)}.inj-toggle-btn.active{background:var(--color-primary);color:var(--color-text-contrast)}.inj-toggle-btn:not(.active):hover{background:var(--color-bg-lighter)}.inj-calc-result{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-radius:var(--radius-lg);background:var(--color-bg-light);border:1px solid var(--color-border);transition:background var(--transition-fast),border-color var(--transition-fast)}.inj-calc-result--valid{background:var(--color-status-success-bg);border-color:var(--color-status-success-border)}.inj-calc-result-row{display:flex;align-items:baseline;gap:8px}.inj-calc-result-label{font-size:var(--font-sm);color:var(--color-text-light);width:8em;flex-shrink:0}.inj-calc-result-number{font-size:20px;font-weight:600;color:var(--color-text);letter-spacing:-.5px;line-height:1}.inj-calc-result-number--main{font-size:28px;font-weight:700}.inj-calc-result--valid .inj-calc-result-number{color:var(--color-status-success-text)}.inj-calc-result-unit{font-size:var(--font-base);color:var(--color-text-light)}.inj-calc-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--color-border)}.inj-calc-current{display:flex;align-items:center;gap:6px}.inj-calc-current-label{font-size:var(--font-sm);color:var(--color-text-light);white-space:nowrap}.inj-calc-current-input{width:70px!important;padding:3px 6px!important;font-size:var(--font-sm)!important;text-align:right}.inj-calc-current-unit{font-size:var(--font-sm);color:var(--color-text-light)}.inj-calc-apply{white-space:nowrap}.inj-calc-fuel-select{flex:1;min-width:0;font-size:var(--font-sm)!important;padding:4px 6px!important;cursor:pointer}.realtime-chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:4px;flex:1;overflow-y:auto}@media(max-width:860px){.realtime-chart-grid{grid-template-columns:1fr}}.realtime-chart-cell{position:relative;height:130px;min-height:100px;background:var(--color-chart-bg);border:1px solid var(--color-chart-border);overflow:hidden}.realtime-chart-canvas{position:absolute;inset:0;width:100%;height:100%}.realtime-chart-overlay{position:absolute;inset:0;pointer-events:none;z-index:1;display:flex;flex-direction:column;padding:2px 4px}.realtime-chart-range{font-size:10px;color:var(--color-chart-range);font-family:monospace;line-height:1}.realtime-chart-range.rt-max{position:absolute;top:2px;left:4px}.realtime-chart-range.rt-min{position:absolute;bottom:2px;left:4px}.realtime-chart-range.rt-mid{position:absolute;top:50%;left:4px;transform:translateY(-50%)}.realtime-chart-title-row{position:absolute;top:2px;left:50px;right:4px;display:flex;justify-content:space-between;align-items:baseline}.realtime-chart-label{font-size:11px;color:var(--color-chart-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.realtime-chart-value{font-size:22px;font-weight:700;color:var(--color-chart-value);font-family:monospace;margin-left:8px;line-height:1;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.constant-help{font-size:var(--font-xs);color:var(--color-text-light);margin-top:var(--spacing-xs);font-style:italic}.constant-unit{font-size:var(--font-xs);color:var(--color-text-lighter);margin-left:var(--spacing-xs)}.setting-group{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.setting-group-title{margin-top:0;margin-bottom:var(--spacing-md);font-size:var(--font-md);color:var(--color-text)}.setting-option-label{display:flex;align-items:center;cursor:pointer;margin-bottom:var(--spacing-sm)}.setting-option-label:hover{color:var(--color-primary)}.setting-checkbox,.setting-radio{margin-right:var(--spacing-sm);cursor:pointer}.settings-empty-message{color:var(--color-text-lighter);text-align:center;padding:var(--spacing-xl)}.settings-loading-message{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}.setup-section{border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.setup-section:last-child{margin-bottom:0}.setup-section>summary{font-size:var(--font-lg);font-weight:600;color:var(--color-primary);padding:var(--spacing-md) var(--spacing-xl);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;border-radius:var(--radius-md);transition:background var(--transition-fast)}.setup-section>summary:hover{background:var(--color-bg-light)}.setup-section>summary::-webkit-details-marker{display:none}.setup-section>summary:after{content:"\25b6";font-size:.7em;transition:transform .2s ease;color:var(--color-text-lighter)}.setup-section[open]>summary{border-bottom:1px solid var(--color-border-light);border-radius:var(--radius-md) var(--radius-md) 0 0}.setup-section[open]>summary:after{transform:rotate(90deg)}.setup-section>:not(summary){padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.setup-section>:not(summary):first-of-type{padding-top:var(--spacing-lg)}.setup-section>:not(summary):last-child{padding-bottom:var(--spacing-lg)}.setup-section>.help-text{margin-top:0}.setup-section-row{display:flex;gap:var(--spacing-xl);align-items:flex-start;flex-wrap:wrap}.setup-field{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:140px}.setup-field label,.setup-field .setup-field-label{font-size:var(--font-sm);font-weight:600;color:var(--color-text-dark)}.setup-field select,.setup-field input[type=text]{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-base);background:var(--color-bg-white)}.setup-radio-group{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-xs)}.connection-button-group{margin-top:var(--spacing-sm);gap:var(--spacing-sm);display:flex;flex-wrap:wrap}.connection-help-text{margin-top:5px}.connection-input-spacing{margin-bottom:var(--spacing-lg)}.reference-table-dialog{display:flex;flex-direction:column;height:100%;padding:10px;gap:10px}.reference-table-body{display:flex;flex-direction:column;gap:15px}.reference-table-controls{display:flex;flex-direction:column;gap:10px}.reference-table-btn-group{display:flex;justify-content:center;padding:10px 0}.reference-table-write-btn{margin:0;width:100%}.reference-table-chart-container{border:1px solid var(--color-border);background:var(--color-bg-light);position:relative}.reference-table-chart{width:100%;height:400px}@media(max-width:768px){.reference-table-chart{height:300px}}.reference-table-generator-container{display:none}.file-browse-ui{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:20px}.file-browse-msg{color:var(--color-text-light)}.linear-generator-ui,.therm-generator-ui{display:grid;gap:10px;padding:10px;background:var(--color-bg-lighter);border-radius:var(--radius-md);margin-bottom:10px}.linear-generator-ui{grid-template-columns:1fr 1fr}.therm-generator-ui{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.linear-generator-ui,.therm-generator-ui{grid-template-columns:1fr}}.linear-generator-field,.therm-generator-field{margin:0}.linear-generator-input,.therm-generator-input{width:100%}.reference-table-status-msg{color:var(--color-text-lighter);display:flex;align-items:center;justify-content:center;height:100%}.reference-table-error-msg{color:var(--color-text-error);padding:20px}.embedded-table-toolbar-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:center}.embedded-table-zoom-container{display:flex;flex-wrap:wrap;gap:5px}.embedded-table-heatmap-chart{width:100%;min-height:300px;height:400px}@media(max-width:768px){.embedded-table-heatmap-chart{height:300px}.embedded-table-zoom-btn{padding:8px 12px}}.log-fields-scroll-area{max-height:400px;overflow-y:auto}.field-group{margin-bottom:10px;border:1px solid var(--color-border-light);border-radius:4px;overflow:hidden}.field-group-header{background:var(--color-bg-light);background-color:var(--color-field-group-bg);color:var(--color-field-group-text);padding:8px 10px;display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;border-bottom:1px solid var(--color-border-light)}[data-theme=dark] .field-group-header{background-color:var(--color-field-group-bg);color:var(--color-field-group-text)}.field-group-header:hover{filter:brightness(.95)}.field-group-header .toggle-icon{font-size:.8rem;transition:transform .2s;width:16px;text-align:center}.field-group.collapsed .toggle-icon{transform:rotate(-90deg)}.field-group-header .group-label{font-weight:600;font-size:.9rem;flex-grow:1}.field-group-content{padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:5px;background:var(--color-bg)}.field-group.collapsed .field-group-content{display:none}.field-checkbox-item{display:flex;align-items:center;gap:5px;padding:2px}.field-checkbox-item input{cursor:pointer}.field-checkbox-item label{margin-bottom:0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-sm)}.dialog-panel-missing{color:var(--color-danger);padding:10px;border:1px dashed var(--color-danger);margin:5px 0;font-style:italic}.dialog-text{margin:10px 0;line-height:1.4}.dialog-disabled{display:none}.dialog-panel-wrap:not(:has(:is(.dialog-field,.dialog-slider,.command-button-wrap):not(.dialog-disabled):not(.hidden),:is(.dialog-embedded-curve,.dialog-embedded-table,.inj-calc,.indicator-panel,.readout-panel-placeholder):not(.hidden))){display:none}.dialog-column:not(:has(:is(.dialog-field,.dialog-slider,.command-button-wrap):not(.dialog-disabled):not(.hidden),:is(.dialog-embedded-curve,.dialog-embedded-table,.inj-calc,.indicator-panel,.readout-panel-placeholder):not(.hidden))){display:none}.readout-values{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}.embedded-curve-chart-min-height{min-height:200px}.embedded-curve-table{overflow-x:auto}.curve-editor-table{border-collapse:collapse;margin-top:10px;table-layout:fixed;width:100%}.curve-editor-table th{text-align:left;padding:5px;font-size:12px;color:var(--color-text-light);width:70px;min-width:70px;background:var(--color-bg-light);border:1px solid var(--color-border-light)}.curve-editor-table td{padding:0;border:1px solid var(--color-border-light);min-width:56px;width:56px}.curve-editor-table input{width:100%;border:none;padding:5px 2px;font-size:12px;text-align:center;background:transparent;color:var(--color-text);box-sizing:border-box}.curve-editor-table input:focus{background:#007bff0d;outline:none}.curve-editor-table tr:first-child input{font-weight:600}.help-dialog-container{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);max-width:800px;margin:0 auto}.help-text-para{line-height:1.6;margin:0;color:var(--color-text-dark);font-size:var(--font-base)}.help-web-link{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);display:flex;justify-content:center}.help-web-link .primary-btn{padding:10px 24px;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.dialog-slider{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-bg-lighter)}.dialog-slider-header{display:flex;justify-content:space-between;align-items:center}.dialog-slider-label{font-weight:600;color:var(--color-text-dark)}.dialog-slider-value{font-family:monospace;font-weight:700;color:var(--color-primary);background:var(--color-bg-white);padding:2px 8px;border-radius:4px;border:1px solid var(--color-border-light)}.dialog-slider-input{width:100%;cursor:pointer}.dialog-slider.orientation-vertical{align-items:center;min-height:200px;width:fit-content}.dialog-slider.orientation-vertical .dialog-slider-input{writing-mode:bt-lr;appearance:slider-vertical;width:20px;height:150px;padding:0 5px}.dialog-slider.orientation-vertical .dialog-slider-header{flex-direction:column;gap:4px}.live-graph-wrap{height:300px;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-white)}.live-graph-title{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light);font-weight:600;color:var(--color-text-dark);flex-shrink:0}.live-graph-canvas{height:260px;width:100%;position:relative;flex:1;min-height:0}.live-graph-empty-state{padding:var(--spacing-sm);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;height:100%}.command-button-wrap{margin:var(--spacing-md) 0;display:flex;gap:var(--spacing-sm)}.command-button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-white);color:var(--color-text-dark);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap}.command-button:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.command-button:active:not(:disabled){opacity:.9;transform:scale(.98)}.command-button:disabled{background:var(--color-bg-light);color:var(--color-text-muted);border-color:var(--color-border-light);cursor:not-allowed;opacity:.6}.command-button-wrap.error{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-danger);background-color:#d930251a;border:1px solid rgba(217,48,37,.3);border-radius:var(--radius-lg)}.command-button-error{color:var(--color-danger);font-size:12px}.command-button-message{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-success);color:#fff;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000026;z-index:2000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.dialog-gauge{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm);min-width:140px}.dialog-gauge-missing{color:var(--color-text-light);font-style:italic}.dialog-gauge-chart{width:140px;height:140px}.dialog-gauge-info{text-align:center;margin-top:-20px}.dialog-gauge-title{font-size:12px;color:var(--color-text-light)}.dialog-gauge-value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-dark)}.dialog-gauge-units{font-size:12px;font-weight:400;color:var(--color-text-light)}.dialog-setting-selector{display:flex;flex-direction:column;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-bg-lighter)}.dialog-column--compact .dialog-setting-selector{flex-direction:row;align-items:center;gap:var(--spacing-md);padding:4px var(--spacing-md)}#onlineTunesModal{width:90%;max-width:750px}#onlineTunesModal[open]{display:flex;flex-direction:column}.online-tunes-content{background:var(--color-bg-white);border:1px solid var(--color-border);box-shadow:0 10px 40px #0000001a;color:var(--color-text);border-radius:12px}.online-tunes-header{background:var(--color-bg-light);color:var(--color-text-dark);font-size:20px;font-weight:600;padding:20px 24px;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center}.online-tunes-header h2{margin:0;font-size:20px}.online-tunes-header .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-muted);padding:0 4px;line-height:1}.online-tunes-header .close-btn:hover{color:var(--color-text-dark)}.online-tunes-body{padding:24px;color:var(--color-text);line-height:1.5;max-height:60vh;overflow-y:auto}.online-tunes-footer{padding:16px 24px;border-top:1px solid var(--color-border-light);background:var(--color-bg-light);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.tune-attribution{font-size:.8em;color:var(--color-text-muted);font-style:italic}.tune-footer-buttons{display:flex;gap:8px}.tune-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.tune-filter-field{display:flex;flex-direction:column;gap:4px}.tune-filter-field label{font-size:.8em;font-weight:600;color:var(--color-text-muted)}.tune-filter-field select,.tune-filter-field input{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);background:var(--color-bg-white);color:var(--color-text);font-size:.9em}.tune-filter-search{flex:1;min-width:150px}.tune-filter-search input{width:100%}.tune-status{padding:10px 14px;border-radius:var(--radius-md, 6px);margin-bottom:12px;font-size:.9em}.tune-status-info{background:var(--color-bg-lighter, #f0f4ff);color:var(--color-text-muted);border:1px solid var(--color-border-light)}.tune-status-error{background:var(--color-status-error-bg);color:var(--color-status-error-text);border:1px solid var(--color-status-error-border)}.tune-list{display:flex;flex-direction:column;gap:10px}.tune-card{border:1px solid var(--color-border-light);border-radius:var(--radius-md, 6px);padding:14px 16px;background:var(--color-bg-white);transition:border-color .15s,box-shadow .15s}.tune-card:hover{border-color:var(--color-primary, #3b82f6);box-shadow:0 2px 8px #0000000f}.tune-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.tune-card-title{margin:0;font-size:1em;font-weight:600;color:var(--color-text-dark)}.tune-download-btn{flex-shrink:0;font-size:.8em;padding:4px 12px}.tune-card-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82em;color:var(--color-text-muted);margin-bottom:6px}.tune-card-desc{font-size:.85em;color:var(--color-text-muted);margin:6px 0 0;line-height:1.4}.tune-empty{text-align:center;padding:32px 16px;color:var(--color-text-muted);font-style:italic}.tune-back-btn{margin-bottom:12px;font-size:.85em}.licence-text{white-space:pre-wrap;font-size:.82em;line-height:1.5;background:var(--color-bg-lighter, #f9fafb);border:1px solid var(--color-border-light);border-radius:var(--radius-md, 6px);padding:16px;max-height:50vh;overflow-y:auto;color:var(--color-text)}.tune-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border-light);padding:0 24px;background:var(--color-bg-light)}.tune-tab{padding:10px 18px;border:none;background:none;cursor:pointer;font-size:.9em;font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.tune-tab:hover{color:var(--color-text-dark)}.tune-tab.active{color:var(--color-primary, #3b82f6);border-bottom-color:var(--color-primary, #3b82f6);font-weight:600}.tune-no-match{text-align:center;padding:32px 16px;color:var(--color-text-muted)}.tune-no-match p{margin:8px 0;line-height:1.5}.tune-no-match a{color:var(--color-primary, #3b82f6);text-decoration:underline;font-weight:500}#gaugesTab{position:relative;height:100%;overflow-y:auto;overflow-x:hidden}#gaugesContainer{position:relative;width:100%;overflow:visible}#gaugesContainer:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}#gaugesContainer.edit-mode{background-image:radial-gradient(circle,var(--color-border) 1.5px,transparent 1.5px);background-size:20px 20px;background-color:var(--color-bg)}.gauge-item{position:absolute;background:transparent;border-radius:var(--radius-lg);box-shadow:none;box-sizing:border-box;padding:5px;min-width:0;overflow:hidden;display:flex;flex-direction:row;align-items:center;transition:box-shadow var(--transition-fast)}.gauge-item.style-bar,.gauge-item.style-fat-bar{padding:2px 10px;border-radius:var(--radius-sm)}.gauge-item.style-bar .gauge-info-panel{flex:0 0 160px;padding-right:10px;flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.gauge-item.style-bar .gauge-title{font-size:11px;font-weight:600;text-align:left;margin:0}.gauge-item.style-bar .gauge-value{font-size:13px;font-weight:700;color:var(--color-primary)}.gauge-item.style-bar .gauge-unit{font-size:10px;color:var(--color-text-lighter)}.gauge-item.style-bar .gauge-chart-canvas{flex:1;height:24px}.gauge-item.style-fat-bar{padding:2px 10px}.gauge-item.style-fat-bar .gauge-chart-canvas{height:40px}.gauge-item.style-chart{padding:0;flex-direction:column;background:var(--color-gauge-bg);border:1px solid var(--color-border);overflow:hidden}.gauge-item.style-chart .gauge-chart-canvas{position:relative;flex:1;width:100%;min-height:0;height:0;overflow:hidden}.gauge-item.style-chart .gauge-info-panel{position:absolute;top:2px;right:6px;flex-direction:row;gap:6px;align-items:baseline;padding:0;z-index:2;pointer-events:none}.gauge-item.style-chart .gauge-title{font-size:10px;color:var(--color-gauge-muted)}.gauge-item.style-chart .gauge-value{font-size:13px;font-weight:700;color:var(--color-gauge-cyan)}.gauge-chart-canvas{flex:1.2;height:100%;min-width:0}.gauge-info-panel{flex:1;display:flex;flex-direction:column;justify-content:center;padding-right:5px;min-width:0}.gauge-title{font-size:var(--font-base);color:var(--color-text-muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gauge-value{font-size:var(--font-xl);font-weight:700;color:var(--color-text)}.gauge-unit{font-size:var(--font-xs);color:var(--color-text-lighter);font-weight:400}@media(max-height:500px){.gauge-value{font-size:var(--font-lg)}.gauge-title{font-size:var(--font-sm)}}@media(max-height:500px){.gauge-item{padding:2px}}.edit-mode .gauge-item{outline:1px dashed var(--color-edit-outline)}.gauge-item.gauge-editing{box-shadow:0 0 0 2px var(--color-primary, #007bff)}.gauge-item.gauge-dragging{opacity:.75;box-shadow:0 6px 24px #00000040;z-index:100}.gauge-item.gauge-resizing{box-shadow:0 0 0 2px var(--color-gauge-resizing);z-index:100}.gauge-edit-overlay{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none;z-index:10;border-radius:inherit}.gauge-drag-handle{display:flex;align-items:center;justify-content:center;height:22px;background:var(--color-edit-handle);border-radius:var(--radius-lg) var(--radius-lg) 0 0;cursor:grab;pointer-events:all;user-select:none;touch-action:none;flex-shrink:0}.gauge-drag-handle:active{cursor:grabbing;background:var(--color-edit-handle-active)}.drag-icon{font-size:14px;color:var(--color-edit-handle-icon);letter-spacing:3px}.gauge-edit-actions{display:flex;gap:4px;position:absolute;top:26px;right:4px;pointer-events:all}.gauge-action-btn{width:26px;height:26px;border:none;border-radius:50%;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .15s,transform .1s;padding:0;line-height:1}.gauge-action-btn:hover{opacity:1;transform:scale(1.1)}.gauge-config-btn{background:var(--color-secondary);color:var(--color-text-contrast)}.gauge-duplicate-btn{background:var(--color-primary);color:var(--color-text-contrast)}.gauge-remove-btn{background:var(--color-danger);color:var(--color-text-contrast)}.gauge-resize-grip{position:absolute;bottom:0;right:0;width:32px;height:32px;cursor:nwse-resize;pointer-events:all;touch-action:none;background:linear-gradient(135deg,transparent 50%,var(--color-edit-resize) 50%);border-radius:0 0 var(--radius-lg) 0}.gauge-resize-grip:after{content:"";position:absolute;bottom:5px;right:5px;width:10px;height:10px;border-right:2px solid var(--color-edit-resize-border);border-bottom:2px solid var(--color-edit-resize-border)}.dashboard-edit-toolbar{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:var(--color-toolbar-bg);color:var(--color-toolbar-text);border-radius:24px;padding:7px 18px;box-shadow:0 4px 20px #0006;z-index:200;user-select:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap;transition:opacity .2s ease}body:has(.gauge-dragging) .dashboard-edit-toolbar,body:has(.gauge-resizing) .dashboard-edit-toolbar{opacity:.15;pointer-events:none}.edit-toolbar-label{font-size:13px;font-weight:600;color:var(--color-toolbar-label);margin-right:4px}.edit-toolbar-btn{border:none;border-radius:16px;padding:5px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.edit-toolbar-btn:active{transform:scale(.96)}.edit-toolbar-btn.add-btn{background:var(--color-secondary-hover);color:var(--color-toolbar-text)}.edit-toolbar-btn.add-btn:hover{background:var(--color-secondary)}.edit-toolbar-btn.save-btn{background:var(--color-gauge-fill);color:var(--color-toolbar-text)}.edit-toolbar-btn.save-btn:hover{background:var(--color-gauge-fill-hover)}.edit-toolbar-btn.cancel-btn{background:var(--color-gauge-danger);color:var(--color-toolbar-text)}.edit-toolbar-btn.cancel-btn:hover{background:var(--color-gauge-danger-hover)}.dashboard-edit-btn{position:fixed;bottom:16px;right:16px;width:44px;height:44px;border-radius:50%;border:none;background:var(--color-primary, #007bff);color:var(--color-toolbar-text);font-size:20px;cursor:pointer;box-shadow:0 2px 8px #0000004d;display:flex;align-items:center;justify-content:center;z-index:150;transition:background .15s,transform .1s;user-select:none;pointer-events:all}.dashboard-edit-btn:hover{background:var(--color-primary-hover);transform:scale(1.08)}.no-gauges-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-text-lighter);padding:40px;font-size:var(--font-lg);pointer-events:none}.gauge-item.style-button{padding:0;border-radius:var(--radius-lg);overflow:hidden}.dash-btn{width:100%;height:100%;border:none;border-radius:var(--radius-lg);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--color-bg-light, var(--color-bg));color:var(--color-text);border:2px solid var(--color-border);transition:background .2s,transform .1s;user-select:none}.dash-btn:hover:not(:disabled){filter:brightness(1.15)}.dash-btn:active:not(:disabled){transform:scale(.95)}.dash-btn:disabled{opacity:.4;cursor:not-allowed}.dash-btn.recording{background:var(--color-gauge-recording);color:var(--color-toolbar-text);border-color:var(--color-gauge-recording-border);animation:dash-btn-pulse 1.2s ease-in-out infinite}@keyframes dash-btn-pulse{0%,to{box-shadow:0 0 #dc354580}50%{box-shadow:0 0 0 8px #dc354500}}.dash-btn-icon{font-size:18px}.indicator-grid{display:grid;gap:var(--spacing-sm)}.indicator{padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center;font-weight:600;transition:all var(--transition-base) ease;cursor:default;user-select:none}.gauge-customization-body{max-height:60vh;overflow-y:auto;padding:10px 0}.gauge-customization-field{margin-bottom:var(--spacing-lg)}.gauge-customization-select{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-base);background-color:var(--color-bg-white);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.gauge-customization-select:hover{border-color:var(--color-border-medium)}.add-gauge-popover{position:absolute;top:60px;left:50%;transform:translate(-50%);background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;padding:16px;z-index:300;min-width:260px;max-width:90vw}.add-gauge-popover label{display:block;font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted)}.add-gauge-popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.add-gauge-close-btn{border:none;background:none;cursor:pointer;font-size:16px;color:var(--color-text-muted);padding:2px 6px;border-radius:var(--radius-sm)}.add-gauge-close-btn:hover{background:var(--color-bg-light)}.graph-tab-container{height:100%;margin:0;border:none;box-shadow:none;background:transparent}.graph-layout{display:flex;gap:0;padding:0;height:100%;background:var(--color-bg-white);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.graph-sidebar{flex:0 0 180px;border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;background:var(--color-bg-light);overflow:hidden;transition:flex-basis .3s ease,min-width .3s ease}.graph-sidebar.collapsed{flex:0 0 32px;min-width:32px}.sidebar-header-row{display:flex;justify-content:flex-end;padding:4px;min-height:28px;align-items:center}.graph-sidebar.collapsed .sidebar-header-row{justify-content:center}.sidebar-toggle-btn{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:background .2s}.sidebar-toggle-btn:hover{background:var(--color-bg-light);color:var(--color-primary)}.toggle-icon{display:inline-block;font-size:10px;transition:transform .3s ease}.graph-sidebar.collapsed .toggle-icon{transform:rotate(180deg)}.sidebar-content{display:flex;flex-direction:column;flex:1;overflow:hidden;opacity:1;transition:opacity .2s}.graph-sidebar.collapsed .sidebar-content{opacity:0;pointer-events:none;display:none}.graph-controls-compact{display:flex;padding:var(--spacing-sm);gap:var(--spacing-xs);border-bottom:1px solid var(--color-border-light)}.graph-controls-compact button{flex:1;margin:0;padding:4px 8px;font-size:11px}#realtimeGraph{width:100%;flex:1;min-height:0}.graph-range-control{flex:0 0 50px;padding:5px 10px;display:flex;flex-direction:column;justify-content:center}.graph-main{flex:1;min-width:0;padding:0;background:var(--color-bg-white);display:flex;flex-direction:column;height:100%}.graph-range-slider-container{display:flex;align-items:center;gap:10px}.graph-range-slider{flex:1;margin:0}.graph-window-select{font-size:10px;padding:1px 2px;width:50px;height:20px}.graph-range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--color-text-light)}.graph-tooltip{position:absolute;background:#000000d9;color:#fff;padding:8px 12px;border-radius:var(--radius-md);font-size:11px;pointer-events:none;z-index:1000;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.1);min-width:120px}[data-theme=dark] .graph-tooltip{background:#1e1e1ef2;border-color:var(--color-border)}.tooltip-time{font-weight:700;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:4px;color:var(--color-primary)}.tooltip-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}.tooltip-dot{width:8px;height:8px;border-radius:50%}.tooltip-name{flex:1;color:#fffc}.tooltip-value{font-weight:600;text-align:right}.tooltip-unit{color:#ffffff80;font-size:9px;width:30px}.graph-channel-selectors{flex:1;overflow-y:auto;padding:var(--spacing-xs)}.channel-selector-item{display:flex;align-items:center;gap:6px;padding:6px var(--spacing-xs);border-radius:var(--radius-sm)}.graph-dropdown{flex:1;min-width:0;font-size:12px;padding:2px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-white);color:var(--color-text)}.channel-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.empty-state-small{text-align:center;color:var(--color-text-light);padding:15px;font-size:11px}@media(max-width:768px){.graph-sidebar{flex:0 0 140px}}@media(max-height:500px){.menu-section-label{padding:4px 8px 2px;font-size:10px}}#veAnalTab.active{display:flex;gap:var(--spacing-md);height:100%;overflow:hidden;position:relative}#veAnalWrapper{flex:1;min-width:0;height:100%;position:relative}#veAnalContainer{width:100%;height:100%;position:relative}#heatmap{width:100%;height:100%}#veAnalControls{flex:0 0 260px;width:260px;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}#veAnalControlsHeader,#veAnalDrawerToggle,#veAnalDrawerBackdrop{display:none}#veAnalControlsTable{width:100%}#veAnalControlsTable td{padding:6px;vertical-align:middle}#veAnalControlsTable input[type=number],#veAnalControlsTable select{width:100%;max-width:100%;box-sizing:border-box}#veAnalStats{margin:var(--spacing-md) 0;padding:var(--spacing-md);background:var(--color-bg-lighter);border-radius:var(--radius-md);border:1px solid var(--color-border-light);color:var(--color-text-muted)}#veAnalStats>div:first-child{font-weight:700;margin-bottom:var(--spacing-xs);color:var(--color-text-dark)}@media(max-width:1024px){#veAnalTab.active{flex-direction:row;gap:0}#veAnalWrapper{flex:1;min-width:0;width:100%;height:100%}#veAnalContainer{width:100%;height:100%}#veAnalControls{position:fixed;top:0;right:0;height:100%;width:280px;max-width:85vw;flex:none;z-index:200;background:var(--color-bg);box-shadow:-4px 0 20px #0006;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding:0 var(--spacing-md) var(--spacing-md);box-sizing:border-box}#veAnalControls.open{transform:translate(0)}#veAnalDrawerToggle{display:flex;align-items:center;justify-content:center;position:absolute;top:8px;right:8px;z-index:10;width:40px;height:40px;border-radius:50%;border:none;background:#0000008c;color:var(--color-tooltip-text);font-size:20px;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 2px 8px #0006;transition:transform .1s}#veAnalDrawerToggle:active{transform:scale(.92)}#veAnalDrawerBackdrop{display:block;position:fixed;inset:0;z-index:199;background:#00000073;opacity:0;pointer-events:none;transition:opacity .25s ease}#veAnalDrawerBackdrop.open{opacity:1;pointer-events:auto}#veAnalControlsHeader{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) 0 var(--spacing-sm);font-weight:600;font-size:15px;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-sm);position:sticky;top:0;background:var(--color-bg);z-index:1}#veAnalDrawerClose{background:none;border:none;font-size:22px;line-height:1;color:var(--color-text);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}#veAnalDrawerClose:hover{background:var(--color-bg-light)}}.diff-table td{padding:8px 10px;border-bottom:1px solid var(--color-border-light);vertical-align:top}.diff-row:hover{background-color:var(--color-bg-lighter)}.diff-array-container{font-family:monospace;font-size:12px;margin-top:5px;overflow-x:auto}.diff-delta-table{border-collapse:collapse;width:100%}.diff-delta-table td{padding:2px 4px;border:1px solid var(--color-border-light);text-align:right}.diff-delta-neg{color:var(--color-danger)}.diff-delta-pos{color:var(--color-success)}.diff-label{font-weight:700}.diff-1d-container{display:flex;flex-direction:column;gap:10px;min-width:500px}.diff-1d-chart{height:200px;width:100%}.diff-delta-header{font-weight:700}.scary-dialog{border:none;background:transparent;padding:0;max-width:600px;width:90%}.scary-dialog::backdrop{background:var(--scary-backdrop);backdrop-filter:blur(8px)}.scary-dialog .scary-content{background:var(--scary-bg);border:3px solid var(--scary-border);box-shadow:0 0 30px var(--scary-glow);color:var(--scary-text);border-radius:4px}.scary-header{background:var(--scary-header-bg);color:var(--scary-header-text);font-size:24px;font-weight:900;text-align:center;padding:20px;text-transform:uppercase;letter-spacing:2px;animation:scary-pulse 2s infinite}@keyframes scary-pulse{0%{background-color:var(--scary-header-bg)}50%{background-color:var(--scary-pulse-end)}to{background-color:var(--scary-header-bg)}}.scary-body{padding:20px}.scary-text{font-size:16px;margin-bottom:15px;line-height:1.5}.scary-text strong{color:var(--scary-highlight);text-transform:uppercase}.scary-list{margin:15px 0 20px 20px;color:var(--scary-list)}.scary-list li{margin-bottom:8px}.scary-button-container{position:relative;height:300px;background:#0000004d;border:1px dashed var(--scary-arena-border);margin-top:20px;border-radius:4px;overflow:hidden}.scary-btn{position:absolute;background:var(--scary-btn-bg);color:#fff;font-weight:700;text-transform:uppercase;border:2px solid var(--scary-arena-border);padding:15px 30px;cursor:pointer;box-shadow:0 4px 10px #00000080;transition:transform .1s ease;white-space:nowrap}.scary-btn:hover{background:var(--scary-btn-hover);box-shadow:0 0 15px var(--scary-border)}.scary-btn:active{background:var(--scary-btn-active)}.scary-counter{text-align:center;margin-top:10px;font-size:12px;color:var(--scary-counter);height:15px}.friendly-dialog{border:none;background:transparent;padding:0;max-width:600px;width:90%}.friendly-dialog::backdrop{background:var(--color-overlay);backdrop-filter:blur(4px)}.friendly-content{background:var(--color-bg-white);border:1px solid var(--color-border);box-shadow:0 10px 40px #0000001a;color:var(--color-text);border-radius:12px;overflow:hidden}.friendly-header{background:var(--color-bg-light);color:var(--color-text-dark);font-size:20px;font-weight:600;text-align:center;padding:24px;border-bottom:1px solid var(--color-border-light)}.friendly-body{padding:32px;max-height:70vh;overflow-y:auto}.friendly-text{font-size:16px;margin-bottom:16px;line-height:1.6;color:var(--color-text-muted)}.friendly-text strong{color:var(--color-text-dark);font-weight:600}.friendly-list{margin:16px 0 24px 20px;color:var(--color-text-muted)}.friendly-list li{margin-bottom:10px}.friendly-link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color .2s}.friendly-link:hover{color:var(--color-primary-hover);text-decoration:underline}.friendly-section{margin-top:20px}.friendly-section-title{font-size:16px;color:var(--color-text-dark);margin-bottom:10px}.friendly-footer{display:flex;justify-content:flex-end;padding:16px 32px;border-top:1px solid var(--color-border-light);background:var(--color-bg-light)}.friendly-btn-primary{background:var(--color-primary);color:#fff;border:none;padding:10px 25px;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.friendly-btn-primary:hover{background:var(--color-primary-hover)}.friendly-text-small{font-size:14px;margin-top:24px;font-style:italic}.friendly-text-large{font-size:18px;text-align:center;margin:20px 0}.signature-box{background:var(--color-bg-light);border:1px solid var(--color-border-light);border-radius:6px;padding:12px;font-family:Courier New,Courier,monospace;font-weight:700;color:var(--color-text-dark);text-align:center;margin:15px 0;word-break:break-all}.button-group-center{display:flex;justify-content:center;margin-top:30px}.friendly-button{background:var(--color-primary);color:#fff;border:none;padding:12px 30px;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.friendly-button:hover{background:var(--color-primary-hover)}.beginner-hidden{display:none!important}.beginner-info-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;margin:4px 8px 8px;border-radius:6px;background:var(--color-bg-light);border:1px solid var(--color-border);font-size:.8rem;color:var(--color-text-muted)}.beginner-info-icon{font-size:1.1rem;flex-shrink:0}.beginner-info-text{line-height:1.3}.beginner-connection-wizard{border:2px solid var(--color-primary, #4a9eff);border-radius:var(--radius-lg, 10px);background:var(--color-bg-light, #1e2a38);margin-bottom:var(--spacing-xl, 20px);padding:var(--spacing-xl, 20px) var(--spacing-2xl, 30px)}.beginner-wizard-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.beginner-wizard-icon{font-size:2.5rem;line-height:1}.beginner-wizard-icon.spinning{display:inline-block;animation:beginner-spin 1.5s linear infinite}@keyframes beginner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.beginner-wizard-title{margin:0;font-size:var(--font-xl, 22px);font-weight:700;color:var(--color-text, #222)}.beginner-wizard-status{margin:0;font-size:var(--font-base, 14px);color:var(--color-text-muted, #444)}.beginner-wizard-error{margin:0;font-size:var(--font-sm, 12px);color:var(--color-status-error-text, #721c24);background:var(--color-status-error-bg, #f8d7da);border:1px solid var(--color-status-error-border, #f5c6cb);border-radius:var(--radius-sm, 4px);padding:6px 12px;width:100%;box-sizing:border-box}.beginner-wizard-steps{text-align:left;margin:0;padding-left:1.4em;font-size:var(--font-base, 14px);color:var(--color-text-muted, #444);line-height:1.8}.beginner-wizard-btn{margin-top:4px;padding:10px 28px;font-size:var(--font-base, 14px)}.beginner-connection-gate{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg, #1a1a2e);z-index:10;padding:32px}.beginner-gate-inner{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:480px;gap:16px}.beginner-gate-icon{font-size:3rem;line-height:1}.beginner-gate-title{margin:0;font-size:var(--font-xl, 22px);font-weight:700;color:var(--color-text, #e0e0e0)}.beginner-gate-body{margin:0;font-size:var(--font-base, 14px);color:var(--color-text-muted);line-height:1.6}.beginner-gate-btn{margin-top:8px;padding:10px 24px;font-size:var(--font-base, 14px)}.beginner-mode-active #serialConnectionSection .setup-section-row,.beginner-mode-active #deviceControlSection,.beginner-mode-active #loggingSection,.beginner-mode-active #debugSettingsSection,.beginner-mode-active #loadIniBtn,.beginner-mode-active #loadMsqBtn,.beginner-mode-active #loadLogBtn,.beginner-mode-active #browseTunesBtn{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .beginner-info-banner{background:#4285f41f;border-color:#4285f440;color:#a8c8e8}}[data-theme=dark] .beginner-info-banner{background:#4285f41f;border-color:#4285f440;color:#a8c8e8}.beginner-category-help{padding:6px 14px 8px 28px;font-size:.75rem;color:var(--color-text-muted);line-height:1.4;font-style:italic}.beginner-help{padding:6px 10px;margin-top:4px;border-radius:4px;font-size:.78rem;line-height:1.5;border-left:3px solid transparent}.beginner-help-info{background:var(--color-bg-light);border-left-color:#4285f4;color:var(--color-text-muted)}.beginner-help-warning{background:#fffbf0;border-left-color:#f5a623;color:#7a5d1e}.beginner-help-critical{background:#fff5f5;border-left-color:#e53e3e;color:#822727}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .beginner-help-info{background:#4285f414;color:#a8c8e8}:root:not([data-theme=light]) .beginner-help-warning{background:#f5a6231a;color:#e6c97a}:root:not([data-theme=light]) .beginner-help-critical{background:#e53e3e1a;color:#f5a0a0}}[data-theme=dark] .beginner-help-info{background:#4285f414;color:#a8c8e8}[data-theme=dark] .beginner-help-warning{background:#f5a6231a;color:#e6c97a}[data-theme=dark] .beginner-help-critical{background:#e53e3e1a;color:#f5a0a0}.beginner-help-text{display:block}.beginner-common-mistake{margin-top:4px;padding-top:4px;border-top:1px dashed rgba(0,0,0,.1);font-size:.74rem;font-weight:500;color:#c05621}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .beginner-common-mistake{border-top-color:#ffffff1a;color:#f0b860}}[data-theme=dark] .beginner-common-mistake{border-top-color:#ffffff1a;color:#f0b860}.beginner-range-warning{margin-top:4px;font-size:.74rem;font-weight:600;color:#c53030}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .beginner-range-warning{color:#fc8181}}[data-theme=dark] .beginner-range-warning{color:#fc8181}.beginner-value-warning{border-color:#f5a623!important;box-shadow:0 0 0 1px #f5a6234d}.beginner-value-danger{border-color:#e53e3e!important;box-shadow:0 0 0 1px #e53e3e4d}.beginner-mode-toggle-section summary{font-weight:600}.config-health-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.cfg-health-modal{background:var(--color-bg-light);border:2px solid var(--color-primary, #4a9eff);border-radius:var(--radius-lg, 10px);width:100%;max-width:480px;box-shadow:0 8px 32px #00000080;overflow:hidden}.cfg-health-header{background:var(--color-bg-light, #243040);padding:18px 22px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;border-bottom:1px solid var(--color-border)}.cfg-health-header-icon{font-size:2rem;line-height:1}.cfg-health-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--color-text, #e0e0e0)}.cfg-health-progress{font-size:.75rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cfg-health-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cfg-health-critical{background:#e53e3e2e;color:#fc8181;border:1px solid rgba(229,62,62,.35)}.cfg-health-warning{background:#ed89362e;color:#f6ad55;border:1px solid rgba(237,137,54,.35)}.cfg-health-body{padding:18px 22px;display:flex;flex-direction:column;gap:10px}.cfg-health-summary,.cfg-health-description{margin:0;font-size:var(--font-base, 14px);color:var(--color-text, #e0e0e0);line-height:1.55}.cfg-health-current-value{margin:0;font-size:.85rem;color:var(--color-text-muted)}.cfg-health-current-value code{background:var(--color-bg, #151f2b);border-radius:3px;padding:1px 5px;font-size:.9em}.cfg-health-fix-hint{margin:0;font-size:.85rem;color:var(--color-text-muted)}.cfg-health-issue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cfg-health-issue-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:.9rem}.cfg-health-issue-row.cfg-health-critical{background:#e53e3e1a;border:1px solid rgba(229,62,62,.25);color:var(--color-text, #e0e0e0)}.cfg-health-issue-row.cfg-health-warning{background:#ed89361a;border:1px solid rgba(237,137,54,.25);color:var(--color-text, #e0e0e0)}.cfg-health-row-icon{flex-shrink:0;font-size:1rem}.cfg-health-row-name{flex:1;font-weight:500}.cfg-health-row-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.85;white-space:nowrap}.cfg-health-actions{padding:0 22px 18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.cfg-health-actions .primary-btn,.cfg-health-actions .secondary-btn{flex:1;min-width:120px}.cfg-health-text-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;padding:6px 12px;border-radius:var(--radius, 6px);width:100%;text-align:center;transition:color .15s}.cfg-health-text-btn:hover,.cfg-health-text-btn:focus-visible{color:var(--color-text, #e0e0e0);outline:none}.cfg-health-dots{display:flex;justify-content:center;gap:6px;padding-bottom:16px}.cfg-health-dot{width:8px;height:8px;border-radius:50%;background:var(--color-bg, #151f2b);border:2px solid var(--color-primary, #4a9eff);transition:background .2s,border-color .2s}.cfg-health-dot.active{background:var(--color-primary, #4a9eff)}.cfg-health-dot.done{background:var(--color-success, #48bb78);border-color:var(--color-success, #48bb78)}.start-doctor-panel{display:flex;flex-direction:column;gap:20px;padding:20px;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--color-text)}.sd-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.sd-header-left{display:flex;align-items:center;gap:10px}.sd-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.sd-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sd-btn{padding:8px 16px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-bg-light);color:var(--color-text);cursor:pointer;font-size:.85rem;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s}.sd-btn:hover:not(:disabled){background:var(--color-bg-lighter)}.sd-btn:disabled{opacity:.35;cursor:default}.sd-btn-start{border-color:var(--color-success);color:var(--color-success)}.sd-btn-start:hover:not(:disabled){background:#1e8e3e1f}.sd-btn-stop{border-color:var(--color-danger);color:var(--color-danger)}.sd-btn-stop:hover:not(:disabled){background:#d930251f}.sd-phase-badge{display:inline-block;padding:4px 14px;border-radius:12px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--sd-phase-idle-bg);color:var(--sd-phase-idle-text);transition:background .3s,color .3s}.sd-phase-idle{background:var(--sd-phase-idle-bg);color:var(--sd-phase-idle-text)}.sd-phase-cranking{background:var(--sd-phase-cranking-bg);color:var(--sd-phase-cranking-text)}.sd-phase-running{background:var(--sd-phase-running-bg);color:var(--sd-phase-running-text)}.sd-phase-failed{background:var(--sd-phase-failed-bg);color:var(--sd-phase-failed-text)}.sd-section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:10px}.sd-body{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sd-diagnostics{display:flex;flex-direction:column;min-width:0}.sd-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sd-card{border:1px solid var(--color-border);border-left:3px solid var(--color-border);border-radius:8px;padding:12px 14px;background:var(--color-bg-white);transition:border-color .3s,box-shadow .3s}.sd-card:hover{box-shadow:var(--shadow-sm)}.sd-card-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.sd-card-icon{font-size:1.05rem}.sd-card-label{font-weight:600;font-size:.88rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.sd-card-status-icon{font-size:1rem}.sd-card-message{font-size:.84rem;margin-bottom:3px;font-weight:500;line-height:1.35;color:var(--color-text)}.sd-card-detail{font-size:.76rem;color:var(--color-text-light);line-height:1.35;word-break:break-word}.sd-status-pending{border-left-color:var(--color-border)}.sd-status-ok{border-left-color:var(--color-success)}.sd-status-ok .sd-card-message{color:var(--sd-status-ok-text)}.sd-status-warn{border-left-color:var(--sd-status-warn-border)}.sd-status-warn .sd-card-message{color:var(--sd-status-warn-text);font-weight:600}.sd-status-fail{border-left-color:var(--color-danger)}.sd-status-fail .sd-card-message{color:var(--sd-status-fail-text);font-weight:600}.sd-vitals{display:flex;flex-direction:column;min-width:0}.sd-vitals-list{display:flex;flex-direction:column;gap:8px}.sd-vital{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-white);transition:border-color .2s}.sd-vital:hover{border-color:var(--color-border-lighter)}.sd-vital-info{display:flex;align-items:baseline;gap:5px;min-width:110px;flex-shrink:0}.sd-vital-name{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;min-width:54px}.sd-vital-value{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-dark);min-width:44px;text-align:right}.sd-vital-unit{font-size:.72rem;color:var(--color-text-lighter);font-weight:500}.sd-vital-spark{flex:1;height:52px;min-width:80px;position:relative;border-radius:4px;overflow:hidden;background:var(--color-bg-light)}.sd-graph-section{display:flex;flex-direction:column}.sd-graph-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.sd-graph-title{margin:0;font-size:.92rem;font-weight:600}.sd-graph-legend{display:flex;align-items:center;gap:12px}.sd-legend-chip{display:flex;align-items:center;gap:4px;font-size:.76rem;color:var(--color-text-light)}.sd-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.sd-graph-container{height:300px;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:var(--color-bg-light);position:relative}@media(max-width:720px){.sd-body,.sd-cards-grid{grid-template-columns:1fr}.sd-vital-info{min-width:90px}.sd-graph-container{height:220px}}.sd-diagnosis-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(3px);animation:sd-fade-in .25s ease-out}.sd-diagnosis-overlay.sd-hidden{display:none}@keyframes sd-fade-in{0%{opacity:0}to{opacity:1}}.sd-diagnosis-panel{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 32px #00000059;width:90%;max-width:620px;max-height:80vh;overflow-y:auto;padding:24px 28px;animation:sd-slide-up .3s ease-out}@keyframes sd-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.sd-diagnosis-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.sd-diagnosis-title{margin:0;font-size:1.25rem;font-weight:700}.sd-btn-dismiss{padding:6px 14px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-bg-light);color:var(--color-text);cursor:pointer;font-size:.82rem;font-weight:500;transition:background .15s}.sd-btn-dismiss:hover{background:var(--color-bg-lighter)}.sd-diagnosis-summary{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:8px;margin-bottom:16px;font-size:.95rem;font-weight:600;line-height:1.4}.sd-diagnosis-ok{background:#1e8e3e1a;border:1px solid rgba(30,142,62,.25);color:var(--color-success)}.sd-diagnosis-issues{background:#d9302514;border:1px solid rgba(217,48,37,.2);color:var(--color-danger)}.sd-diag-icon{font-size:1.35rem;flex-shrink:0}.sd-diagnosis-problems{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.sd-diagnosis-card{border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:8px;padding:14px 16px;background:var(--color-bg-white)}.sd-diagnosis-card.sd-diagnosis-fail{border-left-color:var(--color-danger)}.sd-diagnosis-card.sd-diagnosis-warn{border-left-color:var(--sd-status-warn-border)}.sd-diagnosis-card.sd-diagnosis-ok{border-left-color:var(--color-success)}.sd-diag-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.sd-diag-rank{font-size:.78rem;font-weight:700;color:var(--color-text-light);background:var(--color-bg-light);border-radius:10px;padding:2px 8px}.sd-diag-severity,.sd-diag-type{font-size:.78rem;font-weight:600}.sd-diag-card-title{font-size:.95rem;font-weight:700;margin-bottom:4px;color:var(--color-text)}.sd-diag-card-detail{font-size:.84rem;color:var(--color-text-light);line-height:1.45;margin-bottom:4px}.sd-diag-card-advice{font-size:.82rem;font-style:italic;color:var(--color-text-lighter);line-height:1.4;margin-bottom:6px}.sd-diag-card-advice:empty{display:none}.sd-diag-card-action{margin-top:6px}.sd-diag-fix-link{display:inline-block;padding:5px 14px;border:1px solid var(--color-primary);border-radius:5px;background:transparent;color:var(--color-primary);cursor:pointer;font-size:.82rem;font-weight:600;transition:background .15s}.sd-diag-fix-link:hover{background:#1976d21a}.sd-diagnosis-footer{font-size:.8rem;color:var(--color-text-lighter);padding-top:8px;border-top:1px solid var(--color-border);text-align:center}[data-theme=dark] .sd-status-ok .sd-card-message,:root:not([data-theme=light]) .sd-status-ok .sd-card-message{color:var(--color-success)}[data-theme=dark] .sd-status-warn .sd-card-message,:root:not([data-theme=light]) .sd-status-warn .sd-card-message{color:var(--sd-status-warn-text)}[data-theme=dark] .sd-status-fail .sd-card-message,:root:not([data-theme=light]) .sd-status-fail .sd-card-message{color:var(--color-danger)}.sd-thresholds-drawer{border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-white);padding:0;overflow:hidden;animation:sd-drawer-open .2s ease-out}.sd-thresholds-drawer.sd-hidden{display:none}@keyframes sd-drawer-open{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.sd-thresh-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--color-border);background:var(--color-bg-light)}.sd-thresh-title{margin:0;font-size:1rem;font-weight:700}.sd-thresh-actions{display:flex;gap:6px}.sd-thresh-hint{padding:8px 18px;font-size:.78rem;color:var(--color-text-lighter);background:var(--color-bg-light);border-bottom:1px solid var(--color-border)}.sd-thresh-body{padding:14px 18px;max-height:460px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.sd-thresh-group{display:flex;flex-direction:column;gap:6px}.sd-thresh-group-header{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);padding-bottom:4px;border-bottom:1px solid var(--color-border)}.sd-thresh-group-icon{margin-right:4px}.sd-thresh-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}@media(max-width:720px){.sd-thresh-grid{grid-template-columns:1fr}}.sd-thresh-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}.sd-thresh-label{font-size:.8rem;color:var(--color-text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-thresh-input-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0}.sd-thresh-input{width:72px;padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-white);color:var(--color-text);font-size:.82rem;font-variant-numeric:tabular-nums;text-align:right;transition:border-color .15s,box-shadow .15s}.sd-thresh-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #1976d226}.sd-thresh-input.sd-thresh-modified{border-color:var(--sd-status-warn-border);background:#e3a0000f}.sd-thresh-unit{font-size:.72rem;color:var(--color-text-lighter);min-width:28px}.sd-btn-thresholds{border-color:var(--color-text-lighter);color:var(--color-text-light)}.sd-btn-thresholds:hover:not(:disabled){background:#6464641a}.sd-btn-thresh-reset,.sd-btn-thresh-close{padding:4px 10px;font-size:.78rem}#sidebarAuthLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-dialog{border:none;border-radius:var(--radius-xl);padding:0;box-shadow:0 8px 32px #00000080;background:var(--color-bg-light);color:var(--color-text);max-width:380px;width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);overflow:hidden}.auth-dialog[open]{display:flex;flex-direction:column}.auth-dialog::backdrop{background:#0009;backdrop-filter:blur(2px)}.auth-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--color-border))}.auth-header h2{margin:0;font-size:1.1rem;font-weight:600}.auth-close-btn{background:none;border:none;color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px;line-height:1}.auth-close-btn:hover{color:var(--color-text);background:var(--color-bg-light))}.auth-tabs{display:flex;border-bottom:1px solid var(--color-border))}.auth-tab-btn{flex:1;background:none;border:none;padding:.65rem 0;font-size:.875rem;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;margin-bottom:-1px}.auth-tab-btn:hover{color:var(--color-text)}.auth-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.auth-body{padding:1.25rem;overflow-y:auto;flex:1;min-height:0}.auth-panel{display:none}.auth-panel.active{display:block}.auth-form-group{margin-bottom:.9rem}.auth-form-group label{display:block;font-size:.8rem;color:var(--color-text-muted);margin-bottom:.3rem}.auth-input{width:100%;background:var(--color-bg-lighter);border:1px solid var(--color-border));border-radius:var(--radius-md);color:var(--color-text);padding:.5rem .75rem;font-size:.875rem;box-sizing:border-box;transition:border-color .15s}.auth-input:focus{outline:none;border-color:var(--color-primary)}.auth-submit-btn{width:100%;padding:.6rem;background:var(--color-primary);color:var(--color-text-contrast);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;margin-top:.25rem;transition:opacity .15s}.auth-submit-btn:hover:not(:disabled){opacity:.9}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-message{font-size:.8rem;padding:.5rem .65rem;border-radius:var(--radius-md);margin-top:.75rem;display:none}.auth-message.error{display:block;background:#f38ba826;color:#f38ba8;border:1px solid rgba(243,139,168,.3)}.auth-message.success{display:block;background:#a6e3a126;color:#a6e3a1;border:1px solid rgba(166,227,161,.3)}.auth-hint{margin:.75rem 1.25rem 0;padding:.5rem .65rem;border-radius:var(--radius-md);font-size:.8rem;background:#89b4fa1f;color:var(--color-primary);border:1px solid rgba(137,180,250,.25)}.auth-hint[hidden]{display:none}#authButton{background:none;border:1px solid var(--color-border));border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.75rem;padding:.2rem .55rem;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;height:24px}#authButton:hover{color:var(--color-text);border-color:var(--color-primary)}.subscription-status{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.subscription-status-label{font-size:.8rem;color:var(--color-text-muted)}.subscription-status-value{font-size:.8rem;font-weight:600}.subscription-status-value.sub-active,.subscription-badge.sub-active{color:#a6e3a1}.subscription-status-value.sub-none,.subscription-badge.sub-none{color:var(--color-text-muted)}.subscription-status-value.sub-warning,.subscription-badge.sub-warning{color:#fab387}.subscription-action-btn{background:var(--color-primary)!important;color:var(--color-text-contrast)!important}.auth-subscription-row{display:flex;align-items:center}.auth-divider{display:flex;align-items:center;gap:.65rem;margin:1rem 0 .75rem;color:var(--color-text-muted);font-size:.75rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border))}.auth-oauth-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.55rem 1rem;background:var(--color-bg-lighter);color:var(--color-text);border:1px solid var(--color-border));border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.auth-oauth-btn:hover{background:var(--color-bg-light);border-color:#ffffff38}.auth-oauth-icon{width:18px;height:18px;flex-shrink:0}body .hidden{display:none}.flex-container{display:flex}.margin-left-auto{margin-left:auto}.flex-grow{flex-grow:1}.hidden-container{display:none}body .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}.status-indicator{margin-left:10px;align-self:center}
