:root{--primary-color: #2196F3;--primary-hover: #1976D2;--success-color: #4CAF50;--danger-color: #f44336;--warning-color: #ff9800;--derived-color: #c97420}.theme-light{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e0e0e0;--text-primary: #212121;--text-secondary: #757575;--border-color: #cccccc;--sidebar-bg: #fafafa;--hover-bg: #e8e8e8;--drop-zone-bg: #f9f9f9;--drop-zone-border: #cccccc;--drop-zone-drag-overlay: rgba(219, 238, 255, .68);--drop-zone-drag-card-bg: #eaf5ff;--drop-zone-drag-card-border: #3b9cff;--notice-privacy-color: #2e7d32}.theme-dark{--bg-primary: #1e1e1e;--bg-secondary: #2d2d2d;--bg-tertiary: #3d3d3d;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--border-color: #444444;--sidebar-bg: #252525;--hover-bg: #353535;--drop-zone-bg: #2a2a2a;--drop-zone-border: #555555;--drop-zone-drag-overlay: rgba(12, 41, 68, .72);--drop-zone-drag-card-bg: #132f4a;--drop-zone-drag-card-border: #4aa3ff;--notice-privacy-color: #81c784}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh;display:flex;flex-direction:column}.top-bar{--top-bar-control-height: 42px;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:60px;flex-shrink:0;position:relative;z-index:1300}.top-bar-left{display:flex;align-items:center;gap:.8rem;min-width:0;flex:1 1 auto}.app-brand{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:clamp(13rem,28vw,26rem)}.top-bar-left h1{font-size:1.25rem;font-weight:600;line-height:1.1;white-space:nowrap}.app-subtitle{display:flex;align-items:baseline;column-gap:.24em;margin-top:.12rem;color:var(--text-secondary);font-size:.72rem;font-weight:500;line-height:1.15;min-width:0;white-space:nowrap}.app-subtitle-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-subtitle-more-prefix,.app-subtitle-link{flex:0 0 auto}.app-subtitle-link{margin:0;padding:0;border:0;background:none;color:var(--primary-color);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.app-subtitle-link:hover,.app-subtitle-link:focus-visible{color:var(--primary-hover)}.app-subtitle-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:3px}.runtime-badge{display:inline-flex;align-items:center;height:24px;padding:0 .55rem;border:1px solid color-mix(in srgb,var(--primary-color) 45%,var(--border-color));border-radius:999px;background:color-mix(in srgb,var(--primary-color) 10%,var(--bg-primary));color:var(--text-primary);font-size:.76rem;font-weight:700;white-space:nowrap}body[data-omv-runtime=full-desktop] .runtime-badge{border-color:color-mix(in srgb,var(--success-color) 55%,var(--border-color));background:color-mix(in srgb,var(--success-color) 14%,var(--bg-primary))}.top-bar-right{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.language-selector{display:flex;gap:.25rem;margin-right:1rem;background-color:var(--bg-tertiary);padding:.25rem;border-radius:8px}.lang-btn{padding:.4rem .8rem;border:none;background-color:transparent;color:var(--text-primary);cursor:pointer;font-size:.85rem;transition:all .2s;border-radius:6px}.lang-btn:hover{background-color:var(--hover-bg)}.lang-btn.active{background-color:var(--primary-color);color:#fff;box-shadow:0 2px 4px #0003}.icon-btn{height:var(--top-bar-control-height);min-height:var(--top-bar-control-height);padding:.5rem .75rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:8px;font-size:1.1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.extra-menu-btn{width:var(--top-bar-control-height);padding:0}.menu-icon svg{width:1.25rem;height:1.25rem;display:block}.menu-icon path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.reset-layout-icon .reset-layout-glyph{width:1.3rem;height:1.3rem;display:block}.icon-btn:hover:not(:disabled){background-color:var(--hover-bg);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.icon-btn.active:not(:disabled){border-color:var(--primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 16%,transparent)}.icon-btn:active:not(:disabled){transform:translateY(0)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.open-file-split{position:relative;display:inline-flex;align-items:stretch;transition:all .2s;z-index:1}.open-file-main{border-top-right-radius:0;border-bottom-right-radius:0;position:relative}.open-file-menu-btn{width:28px;padding:.5rem 0;border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;font-size:.85rem}.open-file-split:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a;z-index:1400}.open-file-split:hover .icon-btn:not(:disabled){background-color:var(--hover-bg);border-color:var(--primary-color)}.open-file-split .icon-btn:hover:not(:disabled){transform:none;box-shadow:none}.open-file-split:active{transform:translateY(0)}.open-file-menu{min-width:260px;z-index:1500}.reload-mode-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;height:var(--top-bar-control-height);min-height:var(--top-bar-control-height);width:24px;min-width:24px;margin-left:0;padding:.15rem 0;border:1px solid var(--border-color);border-left:none;border-radius:0 8px 8px 0;background-color:var(--bg-primary);cursor:pointer;transition:all .2s}.reload-mode-switch:hover{background-color:var(--hover-bg)}.reload-mode-switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.reload-mode-slider{position:relative;width:8px;height:26px;border-radius:999px;background-color:#b8bcc4;transition:background-color .2s}.reload-mode-slider:after{content:"";position:absolute;left:50%;top:12px;width:12px;height:12px;transform:translate(-50%);border-radius:50%;background-color:#fff;box-shadow:0 1px 3px #00000047;transition:top .2s}.reload-mode-switch input:checked+.reload-mode-slider{background-color:var(--primary-color)}.reload-mode-switch input:checked+.reload-mode-slider:after{top:2px}.reload-mode-switch.active{border-color:var(--primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 18%,transparent)}.reload-mode-switch.disabled{opacity:.32;cursor:not-allowed;border-color:var(--border-color);box-shadow:none;background-color:var(--bg-primary)}.reload-mode-switch.disabled:hover{background-color:var(--bg-primary)}.reload-mode-switch.disabled.active{border-color:var(--border-color);box-shadow:none}.reload-mode-switch.disabled .reload-mode-slider,.reload-mode-switch.disabled input:checked+.reload-mode-slider{background-color:#b8bcc4!important}.reload-mode-switch.disabled .reload-mode-slider:after,.reload-mode-switch.disabled input:checked+.reload-mode-slider:after{background-color:#fff!important}.reload-mode-switch.disabled input,.reload-mode-switch.disabled .reload-mode-slider,.reload-mode-switch.disabled .reload-mode-slider:after{cursor:not-allowed}.reload-file-split:hover .reload-mode-switch:not(.disabled){border-color:var(--primary-color)}#reload-file.reload-as-new:after{content:attr(data-mode-label);position:absolute;right:4px;top:3px;font-size:.46rem;line-height:1;letter-spacing:.04em;font-weight:700;color:var(--primary-color);background-color:color-mix(in srgb,var(--bg-primary) 88%,transparent);padding:.08rem .16rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary-color) 30%,transparent);pointer-events:none}.live-update-topbar-wrap{display:inline-flex;align-items:center;gap:2px}.live-update-file-btn,.live-update-menu-btn{min-height:var(--top-bar-control-height);height:var(--top-bar-control-height)}.live-update-file-btn{min-width:2.65rem;padding-inline:.48rem}.live-update-file-btn .icon{width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center}.live-update-svg{width:1.35rem;height:1.35rem;display:block}.live-update-refresh{fill:currentColor}.live-update-clock-face{fill:var(--bg-primary);stroke:#00c853;stroke-width:1.7}.live-update-clock-hand{fill:none;stroke:#00a843;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#live-update-file.live-update-file-btn.active{border-color:#00c853;background-color:color-mix(in srgb,#00c853 20%,var(--bg-primary));color:#008c3a;box-shadow:0 0 0 2px color-mix(in srgb,#00c853 26%,transparent)}#live-update-file.live-update-file-btn.active .live-update-clock-face{fill:#00e676;stroke:#008c3a}#live-update-file.live-update-file-btn.active .live-update-clock-hand{stroke:#064e3b}.theme-dark .live-update-file-btn.active{color:#69f0ae}.theme-dark .live-update-clock-face{fill:var(--bg-secondary)}.theme-dark #live-update-file.live-update-file-btn.active .live-update-clock-face{fill:#00c853;stroke:#b9f6ca}.live-update-menu-btn{width:1.8rem;min-width:1.8rem;padding-inline:0}.example-menu.live-update-topbar-menu{width:min(720px,calc(100vw - 1rem));min-width:min(360px,calc(100vw - 1rem));max-width:calc(100vw - 1rem);max-height:calc(100vh - 76px);overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.6rem}.live-update-menu-section{display:flex;flex-direction:column;gap:.38rem;padding:.55rem;border:1px solid color-mix(in srgb,var(--border-color) 72%,transparent);border-radius:6px;background-color:color-mix(in srgb,var(--bg-secondary) 54%,var(--bg-primary))}.live-update-menu-section:first-child{grid-column:1 / -1}.live-update-menu-heading{color:var(--text-primary);font-size:.82rem;font-weight:800}.live-update-menu-description{color:var(--text-secondary);font-size:.74rem;line-height:1.25}.live-update-menu-row{padding:0;min-height:auto;color:var(--text-secondary);font-size:.78rem;white-space:normal}.live-update-menu-file{color:var(--text-primary);font-weight:700}.live-update-command-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.live-update-command{min-height:2rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-weight:700;cursor:pointer}.live-update-command.start:not(:disabled){border-color:#2e7d32;color:#1b5e20}.theme-dark .live-update-command.start:not(:disabled){color:#9ad89d}.live-update-command.stop:not(:disabled){border-color:var(--danger-color);color:var(--danger-color)}.live-update-command:hover:not(:disabled){background-color:var(--hover-bg)}.live-update-command:disabled{opacity:.42;cursor:not-allowed}@media (max-width: 720px){.example-menu.live-update-topbar-menu{grid-template-columns:1fr}}.live-update-menu-action.active{background-color:color-mix(in srgb,var(--primary-color) 14%,var(--bg-primary));color:var(--primary-color);font-weight:700}.live-update-menu-interval{gap:.5rem}.live-update-slider-control{display:flex;flex-direction:column;gap:.24rem}.live-update-slider-selected{min-height:1.2rem;color:var(--primary-color);font-size:.82rem;font-weight:800}.live-update-slider-control input[type=range]{width:100%;accent-color:var(--primary-color)}.live-update-slider-control input[type=range]:disabled{opacity:.45}.live-update-custom-row{display:none;align-items:center;gap:.4rem}.live-update-custom-row.standalone{display:flex;padding-left:1.55rem}.live-update-slider-control.custom-selected .live-update-custom-row{display:flex}.live-update-nested-options{display:flex;flex-direction:column;gap:.32rem;margin-left:1.55rem;padding-left:.35rem}.live-update-custom-row input[type=number],.live-update-menu-interval input{width:4rem;padding:.2rem .3rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.live-update-custom-row input[type=number]::-webkit-outer-spin-button,.live-update-custom-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.live-update-custom-row input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.live-update-custom-unit{color:var(--text-secondary);font-size:.78rem}.live-update-radio-row{display:grid;grid-template-columns:1rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:1.45rem;color:var(--text-primary);font-size:.82rem;cursor:pointer}.live-update-radio-row input[type=radio]{width:.95rem;height:.95rem;margin:0;accent-color:var(--primary-color)}.live-update-radio-row:has(input:disabled){opacity:.55;cursor:not-allowed}.live-update-menu-status{padding-top:.1rem;color:var(--text-secondary);font-size:.74rem;white-space:normal}.live-update-menu-status.ok{color:#2e7d32}.theme-dark .live-update-menu-status.ok{color:#9ad89d}.live-update-menu-status.error{color:var(--danger-color)}.example-menu-wrap{position:relative;display:inline-flex}.example-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:4px;z-index:1000;display:flex;flex-direction:column}.example-menu[hidden]{display:none}.example-menu-item{background:none;border:none;color:var(--text-primary);text-align:left;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.example-menu-item-row{justify-content:space-between;gap:.65rem}.example-menu-item-row.disabled{opacity:.6}.example-load-btn{display:inline-flex;align-items:center;gap:.45rem;min-width:0;flex:1;background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left}.example-load-btn:before{content:"▶";font-size:.78rem;opacity:.75}.example-load-btn:disabled{cursor:not-allowed}.example-menu-actions{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}.example-action-btn{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:.45rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.9rem;line-height:1;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}.example-action-btn:hover{background:var(--hover-bg)}.example-action-btn svg{width:1rem;height:1rem;display:block;fill:currentColor}.example-action-btn.action-feedback{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 24%,transparent)}.transient-status{position:fixed;top:74px;right:18px;z-index:2400;padding:.55rem .8rem;border-radius:.6rem;background:color-mix(in srgb,var(--bg-primary) 90%,var(--primary-color));color:var(--text-primary);border:1px solid color-mix(in srgb,var(--primary-color) 35%,var(--border-color));box-shadow:0 10px 24px #00000029;font-size:.84rem;font-weight:600;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s,transform .18s}.transient-status.show{opacity:1;transform:translateY(0)}.dismissible-notice{position:fixed;top:74px;right:18px;z-index:2450;display:flex;align-items:flex-start;gap:.75rem;width:min(520px,calc(100vw - 36px));padding:.85rem .9rem;border:1px solid color-mix(in srgb,var(--primary-color) 35%,var(--border-color));border-radius:8px;background:var(--bg-primary);color:var(--text-primary);box-shadow:0 12px 26px #0000002e;opacity:0;transform:translateY(-6px);transition:opacity .18s,transform .18s}.dismissible-notice.show{opacity:1;transform:translateY(0)}.dismissible-notice-content{min-width:0;flex:1}.dismissible-notice-title{font-size:.9rem;font-weight:700;margin-bottom:.25rem}.dismissible-notice-body{font-size:.82rem;line-height:1.4;color:var(--text-secondary);margin-bottom:.45rem}.dismissible-notice-code{display:block;max-width:100%;padding:.42rem .5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-family:Consolas,Courier New,monospace;font-size:.78rem;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.dismissible-notice-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.dismissible-notice-action{min-height:2.15rem;padding:.45rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.82rem;font-weight:650;cursor:pointer}.dismissible-notice-action.primary{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.dismissible-notice-action:disabled{cursor:progress;opacity:.7}.dismissible-notice-status{margin-top:.45rem;font-size:.78rem;line-height:1.35;color:var(--text-secondary)}.dismissible-notice-status.error{color:var(--danger-color)}.dismissible-notice-status.success{color:var(--success-color)}.dismissible-notice-close{width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:1.15rem;line-height:1}.dismissible-notice-close:hover{background:var(--hover-bg)}.example-menu-item:hover:not(:disabled){background-color:var(--hover-bg)}.example-menu-item:disabled{opacity:.5;cursor:not-allowed}.example-menu-item .example-name{flex:1}.example-menu-item .example-badge{font-size:.7rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1px 6px}.extra-menu{min-width:250px}.extra-menu-item,.extra-menu-static{gap:.65rem}.extra-menu-icon{width:1.5rem;min-width:1.5rem;text-align:center;font-size:1rem;opacity:.9}.extra-menu-icon img{width:1.2rem;height:1.2rem;display:block;margin:0 auto;object-fit:contain;border-radius:.2rem}.extra-menu-icon-settings{color:#8b5cf6;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:600;line-height:1;opacity:1}.extra-menu-static{color:var(--text-primary);cursor:default}.extra-version-badge{color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 30%,var(--border-color));font-weight:600}.extra-version-row{flex-wrap:wrap}.extra-zoom-controls{display:flex;align-items:center;gap:.25rem;margin-left:auto}.extra-zoom-btn{min-width:1.75rem;height:1.6rem;padding:0 .35rem;background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);font:inherit;font-size:.85rem;line-height:1;cursor:pointer}.extra-zoom-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.extra-zoom-btn:disabled{opacity:.4;cursor:default}.extra-zoom-value{min-width:3.1rem;font-variant-numeric:tabular-nums;font-weight:600;color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 30%,var(--border-color))}.extra-version-build{flex-basis:100%;margin-left:2.15rem;font-size:.7rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.main-container{display:flex;flex:1;overflow:hidden}.sidebar{width:320px;background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--text-secondary) 45%,transparent) var(--sidebar-bg);transition:width .3s ease,min-width .3s ease;position:relative;min-width:200px;max-width:600px;flex-shrink:0}.sidebar::-webkit-scrollbar{width:18px}.sidebar::-webkit-scrollbar-track{background:var(--sidebar-bg)}.sidebar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-secondary) 38%,transparent);border:3px solid var(--sidebar-bg);border-radius:999px;background-clip:content-box}.sidebar:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary-color) 58%,var(--text-secondary));border:3px solid var(--sidebar-bg);background-clip:content-box}.sidebar.resizing{transition:none}.sidebar.hidden{width:0!important;min-width:0!important}.sidebar-resize-handle{position:absolute;top:0;right:0;width:0;height:100%;cursor:ew-resize;background-color:transparent;z-index:60;transition:background-color .2s;touch-action:none}.sidebar-resize-proxy{position:fixed;width:8px;cursor:ew-resize;z-index:1200;background:transparent;touch-action:none}.sidebar-resize-proxy:hover,.sidebar-resize-proxy.resizing{background:linear-gradient(to right,var(--primary-color) 0,var(--primary-color) 3px,transparent 3px,transparent 8px)}.sidebar-section{padding:1rem;border-bottom:1px solid var(--border-color)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.sidebar-section h3{font-size:.95rem;font-weight:600;margin-bottom:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.section-count{color:var(--text-muted);font-weight:600}.tree-controls{display:flex;gap:.25rem}.tree-control-btn{width:24px;height:24px;padding:0;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:4px;font-size:.85rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.tree-control-btn:hover{background-color:var(--hover-bg);border-color:var(--primary-color)}.tree-control-btn:active{transform:scale(.95)}.tree-control-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.variable-filter-wrap{position:relative;margin-bottom:.6rem}.variable-filter{width:100%;padding:.4rem .6rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;font-size:.85rem;margin-bottom:.6rem;transition:border-color .2s;box-sizing:border-box}.variable-filter-wrap .variable-filter{padding-right:2rem;margin-bottom:0}.variable-filter:focus{outline:none;border-color:var(--primary-color)}.variable-filter::placeholder{color:var(--text-secondary);opacity:.7}.variable-filter-clear{position:absolute;right:5px;top:50%;width:24px;height:24px;transform:translateY(-50%);border:0;border-radius:4px;background-color:transparent;color:var(--text-secondary);font-size:1.1rem;line-height:1;cursor:pointer}.variable-filter-clear:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.variable-filter-clear:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.variable-filter-clear[hidden]{display:none}.tree-param-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:.5rem .5rem .15rem;margin-top:.25rem;border-top:1px dashed var(--border-color)}.variables-tree{font-size:.9rem}.tree-node{margin-left:0}.tree-item{padding:.4rem .5rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;border-radius:6px;-webkit-user-select:none;user-select:none;transition:background-color .2s}.tree-item:hover{background-color:var(--hover-bg)}.tree-item.tree-item-nonplottable{cursor:default}.tree-item.tree-item-nonplottable .tree-icon,.tree-item.tree-item-nonplottable .tree-info{opacity:.78}.tree-item.selected{background-color:#2196f324;box-shadow:inset 3px 0 var(--primary-color)}.tree-item.selected:hover{background-color:#2196f333}.tree-item.dragging{opacity:.5}.tree-item-content{display:flex;align-items:flex-start;flex-direction:column;flex:1;gap:.25rem}.tree-description{font-size:.75rem;color:var(--text-secondary);line-height:1.3;padding:.25rem .5rem .5rem 2.5rem;margin-top:-.25rem;display:none}.tree-description.show{display:block}.tree-toggle{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-secondary);transition:transform .2s}.tree-toggle.expanded{transform:rotate(90deg)}.tree-icon{font-size:1rem}.tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-info{font-size:.75rem;color:var(--text-secondary)}.tree-sign-toggle{width:20px;height:20px;flex:0 0 20px;padding:0;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:700;line-height:1}.tree-matrix-transpose{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;padding:0;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer}.tree-matrix-transpose:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--hover-bg)}.tree-matrix-transpose:disabled{cursor:wait;opacity:.55}.tree-matrix-transpose svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tree-sign-toggle svg{width:16px;height:13px;display:block;margin:auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.tree-sign-toggle:hover{background:var(--hover-bg);color:var(--primary-color)}.tree-sign-toggle.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.tree-time-axis-inspect{width:20px;height:20px;flex:0 0 20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;font-size:.78rem;line-height:1;opacity:.65}.tree-time-axis-inspect:hover{border-color:var(--border-color);background:var(--hover-bg);opacity:1}.tree-children{margin-left:1.25rem;border-left:1px solid var(--border-color);padding-left:.5rem}.tree-children.collapsed{display:none}.derived-section .section-header{margin-bottom:.5rem}.derived-section{position:relative}.derived-header-controls{display:flex;align-items:center;gap:.25rem}.derived-help-toggle{font-weight:600;background-color:#fff3b0;border-color:#e3c55a;color:#5f4b00}.derived-help-toggle:hover{background-color:#ffe680;border-color:#d3ad2f}.derived-help-toggle.active{background-color:#f4cf4f;border-color:#b98f13;color:#3f3100}.theme-dark .derived-help-toggle{background-color:#6a560d;border-color:#8a721b;color:#ffe9a3}.theme-dark .derived-help-toggle:hover{background-color:#7a6410;border-color:#a18420}.theme-dark .derived-help-toggle.active{background-color:#8f7513;border-color:#c39b25;color:#fff0b8}.derived-help-popover{position:absolute;top:2.85rem;right:1rem;width:min(300px,calc(100% - 2rem));padding:.65rem .7rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 22px #0003;color:var(--text-primary);z-index:28}.derived-help-popover.data-tool-help-wide{width:min(600px,calc(100vw - 2rem));max-width:none;overflow-y:auto}.filter-help-equation{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;font-size:.78rem;white-space:nowrap;overflow-x:auto;padding-bottom:.15rem;margin-bottom:.1rem}.derived-help-title{font-size:.8rem;font-weight:600;margin-bottom:.45rem}.derived-help-row{display:flex;flex-direction:column;gap:.16rem;padding:.35rem 0;border-top:1px solid var(--border-color);font-size:.75rem;line-height:1.35}.derived-help-row:first-of-type{border-top:0}.derived-help-label{color:var(--text-secondary);font-size:.68rem;font-weight:600;text-transform:uppercase}.derived-help-popover code{color:var(--text-primary);background-color:var(--hover-bg);border-radius:4px;padding:.08rem .22rem;white-space:normal;word-break:break-word}.derived-form{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem}.derived-form.collapsed{display:none}.derived-input{width:100%;padding:.4rem .55rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;font-size:.82rem;box-sizing:border-box;text-overflow:ellipsis}.derived-input:focus{outline:none;border-color:var(--primary-color)}.derived-formula-wrap{position:relative}.derived-suggestions{position:absolute;left:0;right:0;top:calc(100% + 3px);max-height:160px;overflow-y:auto;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 6px 18px #0000002e;z-index:25}.derived-suggestions.open-up{top:auto;bottom:calc(100% + 3px)}.derived-suggestion{width:100%;border:0;background:transparent;color:var(--text-primary);display:flex;align-items:center;gap:.45rem;padding:.38rem .5rem;cursor:pointer;text-align:left;font-size:.78rem}.derived-suggestion:hover,.derived-suggestion.active{background-color:var(--hover-bg)}.derived-suggestion-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.derived-suggestion-kind{color:var(--text-secondary);font-size:.7rem}.derived-message{min-height:1rem;color:var(--text-secondary);font-size:.74rem;line-height:1.3}.derived-message.error{color:var(--danger-color)}.derived-message.ok{color:var(--success-color)}.derived-actions{display:flex;gap:.4rem}.data-tools-section{position:relative}.data-tool-panel,.data-tool-form,.data-tool-output-wrap{display:flex;flex-direction:column;gap:.45rem}.data-tool-form.collapsed,.data-tool-output-wrap.collapsed,.data-tool-controls.collapsed,#outlier-method-wrap.collapsed,#outlier-replacement-wrap.collapsed,#interpolate-window-wrap.collapsed,#filter-init-level-wrap.collapsed,#filter-init-past-wrap.collapsed,#detrend-order-wrap.collapsed,#detrend-window-wrap.collapsed,.resample-grid-controls.collapsed,.outlier-method-controls.collapsed{display:none}.data-tool-select{width:100%;padding:.4rem .55rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;font-size:.82rem;box-sizing:border-box}.data-tool-select:focus{outline:none;border-color:var(--primary-color)}.data-tool-select option.data-tool-modified{color:#8b1e1e;font-weight:700}.theme-dark .data-tool-select option.data-tool-modified{color:#ff8a80}.data-tool-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:stretch}.data-tool-actions button{min-width:0;white-space:nowrap;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;min-height:1.9rem;line-height:1.15}.data-tool-actions #data-tool-clear{flex:0 0 auto}.data-tools-section [hidden]{display:none!important}.data-tool-name-row{display:flex;gap:.35rem;align-items:center}.data-tool-name-row .derived-input{flex:1 1 auto;min-width:0}.data-tool-rename-btn{flex:0 0 auto}.data-tool-rename-btn.active{background-color:var(--bg-primary);border-color:var(--success-color, var(--primary-color));color:var(--success-color, var(--primary-color))}.data-tool-name-hint{font-size:.72rem;color:var(--error-color, #c62828);margin-top:-.25rem}#filter-init-level-hint,#filter-init-past-hint{margin-top:0}.data-tool-input-invalid{border-color:var(--error-color, #c62828)}.data-tool-editing-banner{padding:.3rem .5rem;border-left:3px solid var(--primary-color);background-color:var(--bg-tertiary, var(--bg-secondary));font-size:.78rem;color:var(--text-secondary);border-radius:0 4px 4px 0}.data-tool-live-chain{font-size:.78rem}.data-tool-table-wrap{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.data-tool-table-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.data-tool-table{display:flex;flex-direction:column;gap:.3rem;max-height:13rem;overflow-y:auto}.data-tool-row{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .45rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary)}.data-tool-row.editing{border-color:var(--primary-color)}.data-tool-row-flow{font-size:.78rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-tool-row-bottom{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.data-tool-row-tool{font-size:.74rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-tool-row-actions{display:flex;gap:.2rem;flex:0 0 auto}.data-tool-row-btn{padding:.1rem .3rem;font-size:.75rem;line-height:1.2;width:auto;min-width:24px}.data-tool-row.confirming{border-color:var(--error-color, #c62828)}.data-tool-row-question{font-size:.74rem;color:var(--error-color, #c62828);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-tool-row-yes{border-color:var(--error-color, #c62828);color:var(--error-color, #c62828)}.data-tool-row-yes:hover{background-color:var(--error-color, #c62828);color:#fff}.data-tool-actions button:disabled,.data-tool-select:disabled,.data-tools-section input:disabled{cursor:not-allowed;opacity:.55}.data-tool-message{min-height:2rem}.data-tool-label-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.data-tool-help-toggle{width:1.45rem;height:1.45rem;flex:0 0 auto}.data-tool-help-popover{top:6.6rem}.outlier-method-controls,.data-tool-controls,.resample-grid-controls,#interpolate-window-wrap,#filter-init-level-wrap,#filter-init-past-wrap,#detrend-order-wrap,#detrend-window-wrap{display:flex;flex-direction:column;gap:.4rem}.data-tool-count{font-size:.73rem;line-height:1.35;font-weight:600;color:#2e7d32}.theme-dark .data-tool-count{color:#81c784}.data-tool-count:empty{display:none}.data-tool-count.idle{font-weight:500;color:var(--text-secondary)}.data-tool-count.warn{font-weight:500;color:color-mix(in srgb,var(--text-primary) 72%,#d97706)}.data-tool-axis-note{border-style:solid;border-color:color-mix(in srgb,#d97706 55%,transparent);color:color-mix(in srgb,var(--text-primary) 78%,#d97706)}.data-tool-input-overflow{position:relative}.data-tool-input-overflow:before,.data-tool-input-overflow:after{content:"…";position:absolute;top:1px;bottom:1px;display:none;align-items:center;pointer-events:none;color:var(--text-secondary);font-size:.82rem}.data-tool-input-overflow.overflow-left:before,.data-tool-input-overflow.overflow-right:after{display:flex}.data-tool-input-overflow:before{left:1px;padding:0 .5rem 0 .3rem;border-radius:5px 0 0 5px;background:linear-gradient(to left,transparent,var(--bg-primary) 55%)}.data-tool-input-overflow:after{right:1px;padding:0 .3rem 0 .5rem;border-radius:0 5px 5px 0;background:linear-gradient(to right,transparent,var(--bg-primary) 55%)}.data-tool-coefficients{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;font-variant-numeric:tabular-nums}.filter-coefficient-label{margin-bottom:-.2rem}.data-tool-unit-suffix{color:var(--text-secondary);font-size:.78rem;align-self:center}.data-tool-slider-row.unit-row{grid-template-columns:4.8rem minmax(0,1fr)}.data-tool-step-row{display:flex;align-items:center;gap:.4rem}.data-tool-step-row .data-tool-number-input{flex:1 1 auto;min-width:0}.data-tool-detected-tag{flex:0 0 auto;font-size:.68rem;padding:.1rem .4rem;border-radius:999px;background-color:var(--hover-bg);color:var(--text-secondary);white-space:nowrap}.data-tool-reset-btn{flex:0 0 auto}.data-tool-resample-info{color:var(--text-secondary);font-size:.73rem;line-height:1.35;padding:.35rem .5rem;border:1px dashed var(--border-color);border-radius:6px;white-space:pre-line}.data-tool-resample-info:empty{display:none}.data-tool-resample-info.invalid{color:#8b1e1e;border-style:solid}.data-tool-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.9rem,1fr));gap:.45rem}.data-tool-input-grid label{display:flex;flex-direction:column;gap:.22rem;color:var(--text-secondary);font-size:.73rem;font-weight:600}.data-tool-input-grid .derived-input{font-size:.78rem}.data-tool-slider-row{display:grid;grid-template-columns:minmax(0,1fr) 4.8rem;align-items:center;gap:.5rem}.data-tool-slider-row.single{grid-template-columns:minmax(0,1fr)}.data-tool-slider{width:100%;accent-color:var(--primary-color)}.data-tool-slider-value{color:var(--text-secondary);font-size:.78rem;text-align:right;font-variant-numeric:tabular-nums}.data-tool-number-input{box-sizing:border-box;min-width:4.8rem;padding-left:.35rem;padding-right:0;text-align:right;font-variant-numeric:tabular-nums;color-scheme:light}.data-tool-number-input::-webkit-inner-spin-button,.data-tool-number-input::-webkit-outer-spin-button{height:100%;margin:0;align-self:stretch;opacity:1;cursor:pointer}.data-tool-slider-row.unit-row .data-tool-number-input{border-top-right-radius:0;border-bottom-right-radius:0}.theme-dark .data-tool-number-input{color-scheme:dark}.data-tool-radio-group{display:flex;flex-direction:column;gap:.25rem}.derived-create-btn,.derived-cancel-btn{padding:.38rem .6rem;border-radius:6px;border:1px solid var(--border-color);cursor:pointer;font-size:.8rem}.derived-create-btn{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.derived-create-btn:hover{background-color:var(--primary-hover)}.derived-cancel-btn{background-color:var(--bg-primary);color:var(--text-primary)}.derived-cancel-btn:hover{background-color:var(--hover-bg)}.derived-tree-header,.derived-tree-header .tree-label,.derived-tree-header .tree-icon,.derived-tree-header .tree-info,.tree-item-derived .tree-label,.tree-item-derived .tree-icon{color:var(--derived-color)}.tree-item-modified .tree-label,.tree-item-modified .tree-icon{color:#8b1e1e;font-weight:700}.theme-dark .tree-item-modified .tree-label,.theme-dark .tree-item-modified .tree-icon{color:#ff8a80}.tree-derived-remove{width:20px;height:20px;flex:0 0 20px;border-radius:4px;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:.75rem;line-height:1}.tree-derived-remove:hover{background-color:var(--hover-bg);color:var(--danger-color)}.layout-hint{font-size:.78rem;color:var(--text-secondary);margin:.25rem 0 0;line-height:1.4}.layout-config{display:flex;flex-direction:column;gap:.75rem}.layout-config label{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.layout-config input[type=number]{width:60px;padding:.35rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;transition:border-color .2s}.layout-config input[type=number]:focus{outline:none;border-color:var(--primary-color)}.layout-config button{padding:.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500}.layout-config button:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 6px #2196f34d}.layout-config button:active{transform:translateY(0)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;padding:.4rem 0}.checkbox-label input[type=checkbox]{cursor:pointer}.options-group{margin-top:.6rem;display:flex;flex-direction:column;gap:.1rem;position:relative}.options-group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.options-group-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.options-subgroup-label{font-size:.8rem;font-weight:600;color:var(--text-primary);margin:.15rem 0 .25rem}.data-tool-group-row{border-top:1px solid var(--border-color);margin-top:.55rem;padding-top:.6rem}.data-tool-controls>.data-tool-group-row:first-child,.data-tool-group-row.first{border-top:none;margin-top:0;padding-top:0}.data-tool-sublabel{font-size:.74rem;font-weight:500;color:var(--text-secondary)}.options-help-toggle{flex:0 0 auto}.options-help-popover{top:1.85rem;right:0;width:min(320px,100%)}.options-help-text{font-size:.76rem;line-height:1.35;color:var(--text-secondary);margin-bottom:.35rem}.radio-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer;padding:.25rem 0}.radio-label input[type=radio]{cursor:pointer}.legend-overlay-row{display:flex;align-items:center;gap:.5rem}.legend-overlay-option{flex:1;min-width:0}.legend-corner-picker{display:grid;grid-template-columns:repeat(2,12px);gap:3px;padding:3px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary)}.legend-corner-picker.disabled{opacity:.45}.legend-corner-btn{width:12px;height:12px;padding:0;border:1px solid var(--border-color);border-radius:3px;background:var(--bg-secondary);cursor:pointer}.legend-corner-btn:hover{border-color:var(--primary-color)}.legend-corner-btn.active{background:var(--primary-color);border-color:var(--primary-color)}.content-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.drop-zone{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background-color:var(--drop-zone-bg);border:2px dashed var(--drop-zone-border);z-index:10}.drop-zone.active{display:flex}.drop-zone.dragging{background-color:var(--drop-zone-bg);border-color:var(--primary-color);box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--primary-color) 28%,transparent)}.drop-zone-content{text-align:center;padding:2rem;width:min(1040px,calc(100vw - 3rem));max-width:1040px}.drop-zone-content .icon{font-size:4rem;display:block;margin-bottom:1rem}.drop-zone-content h2{font-size:1.5rem;margin-bottom:.5rem}.drop-zone-content p{color:var(--text-secondary);margin-bottom:1rem}.drop-zone-status{color:var(--text-secondary);font-size:.95rem;margin-top:1rem}.drop-zone-status:before{content:"";display:inline-block;width:.75rem;height:.75rem;margin-right:.5rem;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;vertical-align:-.12rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary-btn{padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:1rem;cursor:pointer;transition:all .2s;font-weight:500}.primary-btn:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2196f366}.primary-btn:active{transform:translateY(0)}.light-version-notice{width:min(920px,calc(100vw - 7rem));max-width:920px;max-height:min(56vh,520px);overflow:auto;margin:1.25rem auto 0;padding:1.15rem 1.3rem;border:1px solid color-mix(in srgb,var(--primary-color) 32%,var(--border-color));border-radius:8px;background:color-mix(in srgb,var(--primary-color) 7%,var(--bg-primary));color:var(--text-primary);text-align:left;box-shadow:0 10px 24px #00000014;box-sizing:border-box}.light-version-notice[hidden]{display:none}.light-notice-kicker{margin-bottom:.25rem;color:var(--primary-color);font-size:.76rem;font-weight:800;text-transform:uppercase}.light-version-notice h3{margin:0 0 .55rem;font-size:1.08rem}.light-version-notice p{margin:0 0 .62rem;color:var(--text-primary);line-height:1.42}.light-version-notice .light-notice-privacy{color:var(--notice-privacy-color);font-weight:700}.light-version-notice ul{margin:.25rem 0 0 1.1rem;color:var(--text-secondary);line-height:1.4;columns:2;column-gap:2rem}.light-version-notice li+li{margin-top:.28rem}@media (min-height: 760px) and (min-width: 900px){.light-version-notice{max-height:none;overflow:visible}}@media (max-width: 760px){.drop-zone-content{width:min(100%,calc(100vw - 1rem));padding:1rem}.light-version-notice{width:min(100%,calc(100vw - 2rem));max-height:min(48vh,420px);padding:1rem}.light-version-notice ul{columns:1}}.plots-area{flex:1;display:flex;overflow:hidden;min-height:0}.plots-area.plots-area-scrollable{overflow-x:hidden;overflow-y:auto;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--text-secondary) 45%,transparent) transparent}.plots-area.plots-area-scrollable::-webkit-scrollbar{width:18px}.plots-area.plots-area-scrollable::-webkit-scrollbar-track{background:transparent}.plots-area.plots-area-scrollable::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-secondary) 38%,transparent);border:3px solid transparent;border-radius:999px;background-clip:content-box}.plots-area.plots-area-scrollable:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary-color) 58%,var(--text-secondary));border:3px solid transparent;background-clip:content-box}.plots-area.plots-area-scrollable>.layout-split,.plots-area.plots-area-scrollable>.layout-panel{flex:0 0 auto;position:relative;width:100%}.layout-scroll-resize-handle{position:absolute;left:0;right:0;bottom:0;height:10px;z-index:30;cursor:ns-resize;opacity:0;transition:opacity .15s,background-color .15s}.layout-scroll-resize-handle:before{content:"";position:absolute;left:50%;bottom:3px;width:58px;height:4px;transform:translate(-50%);border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 35%,transparent)}.plots-area.plots-area-scrollable:hover .layout-scroll-resize-handle,.plots-area.plots-area-scrollable .scroll-resizing>.layout-scroll-resize-handle{opacity:1}.layout-scroll-resize-handle:hover:before,.scroll-resizing>.layout-scroll-resize-handle:before{background:var(--primary-color)}.layout-split{display:flex;flex:1;min-width:0;min-height:0}.layout-split-v{flex-direction:row}.layout-split-h{flex-direction:column}.layout-split-child{display:flex;min-width:0;min-height:0;overflow:hidden}.layout-resize-handle{background-color:var(--border-color);flex-shrink:0;transition:background-color .15s;z-index:1}.layout-resize-handle-v{width:4px;cursor:ew-resize}.layout-resize-handle-h{height:4px;cursor:ns-resize}.layout-resize-handle:hover,.layout-split.resizing .layout-resize-handle{background-color:var(--primary-color)}.layout-panel{flex:1;display:flex;flex-direction:column;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;margin:3px;min-width:0;min-height:0;overflow:hidden;position:relative}.layout-panel-toolbar{display:flex;align-items:center;gap:4px;padding:4px 6px 7px;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);opacity:1;transition:opacity .15s;flex-shrink:0;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-secondary) 42%,transparent) transparent}.layout-panel-toolbar::-webkit-scrollbar{height:6px}.layout-panel-toolbar::-webkit-scrollbar-track{background:transparent}.layout-panel-toolbar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-secondary) 38%,transparent);border-radius:999px;border:1px solid transparent;background-clip:content-box}.layout-panel-toolbar:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary-color) 62%,var(--text-secondary))}.layout-panel-toolbar.is-scrollable{cursor:ew-resize}.layout-panel-toolbar.can-scroll-left,.layout-panel-toolbar.can-scroll-right{box-shadow:none}.compare-files-btn{margin-left:auto;font-size:1rem;line-height:1}.files-list,.file-list-item{display:flex;flex-direction:column;gap:3px}.file-entry{display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:5px;border:1px solid transparent;cursor:pointer;font-size:.78rem;color:var(--text-secondary);transition:background .15s;min-width:0}.file-entry:hover{background:var(--hover-bg)}.file-entry.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.file-entry.transformed:not(.active){border-color:#d32f2f}.file-entry-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file-entry-type{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;padding:.05rem .35rem;border:1px solid color-mix(in srgb,var(--primary-color) 38%,var(--border-color));border-radius:999px;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 9%,var(--bg-primary));font-size:.68rem;font-weight:600}.file-entry.active .file-entry-type{color:#fff;border-color:#ffffff8c;background:#ffffff29}.file-entry-type[hidden]{display:none}.file-entry-type.file-entry-type-warning{border-color:color-mix(in srgb,var(--warning-color) 48%,var(--border-color));color:color-mix(in srgb,var(--warning-color) 82%,var(--text-primary));background:color-mix(in srgb,var(--warning-color) 13%,var(--bg-primary))}.file-entry.active .file-entry-type.file-entry-type-warning{color:#fff;border-color:#ffffffad;background:#ffffff38}.file-entry-memory{border-color:color-mix(in srgb,var(--warning-color) 45%,var(--border-color));color:color-mix(in srgb,var(--warning-color) 80%,var(--text-primary));background:color-mix(in srgb,var(--warning-color) 12%,var(--bg-primary));cursor:help}.file-entry.active .file-entry-memory{color:#fff;border-color:#ffffffad;background:#ffffff38}.file-entry-memory[hidden]{display:none}.file-entry-lazy-indicator{width:1.25rem;height:1.25rem;flex:0 0 1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;cursor:help;font-size:.9rem;line-height:1}.file-entry-lazy-indicator[hidden]{display:none}.file-entry.active .file-entry-lazy-indicator{background:transparent;box-shadow:none}.file-entry-live-indicator{width:1.25rem;height:1.25rem;flex:0 0 1.25rem;display:inline-flex;align-items:center;justify-content:center;color:#166534;cursor:help;border-radius:999px}.file-entry-live-indicator svg{width:.95rem;height:.95rem;display:block;fill:currentColor}.theme-dark .file-entry-live-indicator{color:#4ade80}.file-entry.active .file-entry-live-indicator{background:#bbf7d0;color:#166534;box-shadow:0 0 0 1px #16653459}.file-entry-transform,.file-entry-csv-parsing,.file-entry-mat-arrays,.file-entry-save,.file-entry-close{flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.55;font-size:.7rem;padding:0 2px;line-height:1}.file-entry-transform{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.45rem;padding:0 .2rem;border:1px solid transparent;border-radius:.4rem;background:color-mix(in srgb,var(--bg-secondary) 78%,var(--border-color));color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1;opacity:1;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.file-entry-transform[aria-expanded=true]{background:color-mix(in srgb,var(--primary-color) 12%,var(--bg-primary));border-color:color-mix(in srgb,var(--primary-color) 48%,var(--border-color));color:var(--text-primary)}.file-entry.transformed .file-entry-transform{background:color-mix(in srgb,#d32f2f 18%,var(--bg-primary));border-color:#d32f2f;color:#d32f2f}.file-entry-close:hover{opacity:1}.file-entry-save{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.45rem;padding:0 .2rem;border:1px solid color-mix(in srgb,var(--warning-color) 62%,var(--border-color));border-radius:.4rem;background:color-mix(in srgb,var(--warning-color) 16%,var(--bg-primary));color:color-mix(in srgb,var(--warning-color) 78%,var(--text-primary));opacity:1;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.file-entry-save svg{width:.85rem;height:.85rem;display:block;fill:currentColor}.file-entry.active .file-entry-save{border-color:#ffffffb3;background:#ffffff38;color:#fff}.file-entry-save:hover{border-color:var(--warning-color);background:color-mix(in srgb,var(--warning-color) 28%,var(--bg-primary));color:color-mix(in srgb,var(--warning-color) 92%,var(--text-primary));transform:translateY(-1px)}.file-entry.active .file-entry-save:hover{border-color:#fff;background:#ffffff52;color:#fff}.file-entry-save[hidden]{display:none}.file-entry-transform:hover{background:color-mix(in srgb,var(--hover-bg) 70%,var(--bg-primary));border-color:color-mix(in srgb,var(--text-secondary) 30%,transparent);color:var(--text-primary);transform:translateY(-1px)}.file-entry-transform[aria-expanded=true]:hover{background:color-mix(in srgb,var(--primary-color) 18%,var(--bg-primary));border-color:color-mix(in srgb,var(--primary-color) 65%,var(--border-color));color:var(--text-primary)}.file-entry.transformed .file-entry-transform:hover{background:color-mix(in srgb,#d32f2f 24%,var(--bg-primary));border-color:#b71c1c;color:#b71c1c}.live-update-path-input{width:100%;margin:.4rem 0 .2rem;padding:.45rem .55rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary)}.file-transform-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary)}.file-transform-panel-active{background:#e9f1fc;border-color:#b7d0ef}.theme-dark .file-transform-panel-active{background:#223247;border-color:#3a5170}.file-transform-title{grid-column:1 / -1;margin-top:2px;font-size:.68rem;font-weight:700;color:var(--text-primary)}.file-transform-field{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:.68rem;color:var(--text-secondary)}.file-transform-field-wide{grid-column:1 / -1}.file-transform-hint{grid-column:1 / -1;margin-top:-3px;color:var(--text-secondary);font-size:.68rem;line-height:1.25}.file-transform-wide-action{grid-column:1 / -1;padding:5px 7px;border:1px solid color-mix(in srgb,#2e7d6f 52%,var(--border-color));border-radius:4px;background:color-mix(in srgb,#2e7d6f 14%,var(--bg-primary));color:var(--text-primary);cursor:pointer;font-size:.72rem;text-align:left}.file-transform-wide-action:hover{background:color-mix(in srgb,#2e7d6f 22%,var(--bg-primary))}.file-entry-csv-parsing{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;border:1px solid transparent;border-radius:.35rem;background:color-mix(in srgb,#2e7d6f 14%,var(--bg-primary));color:var(--text-primary);font-size:.9rem;opacity:1}.file-entry-csv-parsing:hover{border-color:color-mix(in srgb,#2e7d6f 62%,var(--border-color));background:color-mix(in srgb,#2e7d6f 22%,var(--bg-primary))}.file-entry-csv-parsing[hidden]{display:none}.file-entry-mat-arrays{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.45rem;padding:.15rem;border:1px solid transparent;border-radius:.35rem;background:color-mix(in srgb,#7c3aed 13%,var(--bg-primary));color:var(--text-primary);opacity:1}.file-entry-mat-arrays svg{display:block;width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.file-entry-mat-arrays:hover{border-color:color-mix(in srgb,#7c3aed 62%,var(--border-color));background:color-mix(in srgb,#7c3aed 22%,var(--bg-primary))}.file-entry.active .file-entry-mat-arrays{color:#fff;border-color:#ffffff6b;background:#ffffff24}.file-entry.active .file-entry-mat-arrays:hover{border-color:#ffffffb8;background:#ffffff3d}.file-entry-mat-arrays[hidden]{display:none}.datetime-axis-warning-hint{padding:6px 7px;border:1px solid rgba(220,76,76,.45);border-radius:4px;background:#dc4c4c1a;color:#ff9b9b}.file-transform-field input,.file-transform-field select{width:100%;min-width:0;padding:4px 5px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.72rem}.file-transform-field input.invalid{border-color:#d32f2f}.file-transform-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:6px}.file-transform-error{grid-column:1 / -1;min-width:0;color:#d32f2f;font-size:.68rem;line-height:1.2}.file-transform-box{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px;border:1px solid var(--border-color);border-radius:6px}.file-transform-crop-actions button{flex:1}.file-transform-actions button{padding:4px 7px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:.7rem}.file-transform-actions button:hover{background:var(--hover-bg);color:var(--text-primary)}.help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080f1e94;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);z-index:3500;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:help-backdrop-enter .15s ease-out both}.help-modal{background:var(--bg-primary);border:1px solid color-mix(in srgb,var(--border-color) 78%,var(--primary-color));border-radius:18px;box-shadow:0 28px 80px #00000061,0 4px 18px #0000002e;width:min(1180px,calc(100vw - 3rem));height:min(820px,calc(100vh - 3rem));height:min(820px,calc(100dvh - 3rem));min-height:min(560px,calc(100vh - 3rem));min-height:min(560px,calc(100dvh - 3rem));display:flex;flex-direction:column;overflow:hidden;animation:help-modal-enter .18s cubic-bezier(.2,.8,.2,1) both}@keyframes help-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes help-modal-enter{0%{opacity:0;transform:translateY(8px) scale(.988)}to{opacity:1;transform:translateY(0) scale(1)}}.help-modal-header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:.85rem 1.1rem .85rem 1.35rem;border-bottom:1px solid var(--border-color);flex-shrink:0;background:color-mix(in srgb,var(--bg-primary) 94%,var(--primary-color))}.help-modal-heading{display:flex;align-items:center;gap:.8rem;min-width:0}.help-modal-heading-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#3b82f6,#6366f1);box-shadow:0 7px 18px color-mix(in srgb,#3b82f6 35%,transparent)}.help-modal-heading-svg{width:23px;height:23px}.help-modal-header h2{margin:0;font-size:1.22rem;font-weight:700;letter-spacing:-.015em;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-modal-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;background:transparent;border:1px solid transparent;cursor:pointer;color:var(--text-secondary);padding:0;border-radius:10px;transition:color .14s ease,background .14s ease,border-color .14s ease}.help-modal-close svg{width:20px;height:20px}.help-modal-close:hover{background:var(--hover-bg);border-color:var(--border-color);color:var(--text-primary)}.help-modal-close:focus-visible,.help-topic-button:focus-visible,.help-section:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.help-modal-main{display:flex;flex:1 1 auto;min-width:0;min-height:0}.help-topic-sidebar{width:286px;flex:0 0 286px;overflow-y:auto;padding:.9rem;border-right:1px solid var(--border-color);background:color-mix(in srgb,var(--sidebar-bg) 88%,var(--primary-color));display:flex;flex-direction:column;gap:.32rem;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--text-secondary) 45%,transparent) transparent}.help-topic-sidebar::-webkit-scrollbar{width:16px}.help-topic-sidebar::-webkit-scrollbar-track{background:transparent}.help-topic-sidebar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-secondary) 42%,transparent);border:3px solid transparent;border-radius:999px;background-clip:content-box}.help-topic-sidebar:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary-color) 58%,var(--text-secondary));border:3px solid transparent;background-clip:content-box}.help-topic-button{--help-topic-color: var(--primary-color);position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:.72rem;width:100%;min-height:52px;padding:.42rem .65rem;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text-secondary);text-align:left;font:inherit;cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease,transform .14s ease}.help-topic-button:hover{color:var(--text-primary);background:color-mix(in srgb,var(--help-topic-color) 8%,var(--bg-primary));border-color:color-mix(in srgb,var(--help-topic-color) 20%,var(--border-color))}.help-topic-button.active{color:var(--text-primary);background:color-mix(in srgb,var(--help-topic-color) 13%,var(--bg-primary));border-color:color-mix(in srgb,var(--help-topic-color) 36%,var(--border-color));box-shadow:0 4px 14px color-mix(in srgb,var(--help-topic-color) 10%,transparent)}.help-topic-button.active:before{content:"";position:absolute;left:-1px;top:11px;bottom:11px;width:3px;border-radius:0 4px 4px 0;background:var(--help-topic-color)}.help-topic-icon,.help-section-icon{display:grid;place-items:center;color:var(--help-topic-color);background:color-mix(in srgb,var(--help-topic-color) 12%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--help-topic-color) 24%,var(--border-color))}.help-topic-icon{width:38px;height:38px;border-radius:10px}.help-topic-button.active .help-topic-icon{color:#fff;background:var(--help-topic-color);border-color:var(--help-topic-color);box-shadow:0 5px 13px color-mix(in srgb,var(--help-topic-color) 28%,transparent)}.help-topic-icon-svg{width:21px;height:21px}.help-topic-label{min-width:0;font-size:.88rem;font-weight:600;line-height:1.22}.help-modal-body{flex:1 1 auto;min-width:0;overflow-y:auto;padding:clamp(1.6rem,3vw,3rem);background:var(--bg-primary);scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.help-section{--help-topic-color: var(--primary-color);width:min(100%,790px);margin:0 auto}.help-section[hidden]{display:none}.help-section-heading{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.15rem;border-bottom:1px solid color-mix(in srgb,var(--help-topic-color) 24%,var(--border-color))}.help-section-icon{width:52px;height:52px;flex:0 0 52px;border-radius:14px}.help-section-icon svg{width:28px;height:28px}.help-section h3{margin:0;font-size:clamp(1.35rem,2vw,1.72rem);font-weight:720;letter-spacing:-.025em;line-height:1.15;color:var(--text-primary)}.help-section-content{margin:0;font-size:1.02rem;line-height:1.72;color:var(--text-primary)}.help-section-content p,.help-section-content ul,.help-section-content ol{margin:0 0 1rem}.help-section-content ul,.help-section-content ol{padding-left:1.35rem;margin-top:.7rem}.help-section-content h4{margin:1.45rem 0 .45rem;color:var(--text-primary);font-size:1.02rem;line-height:1.35}.help-section-content h4:first-child{margin-top:0}.help-callout{margin:1.25rem 0;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--help-topic-color) 26%,var(--border-color));border-left:4px solid var(--help-topic-color);border-radius:9px;background:color-mix(in srgb,var(--help-topic-color) 7%,var(--bg-primary))}.help-callout>:last-child{margin-bottom:0}.help-section li{margin-bottom:.55rem;padding-left:.18rem}.help-section li::marker{color:var(--help-topic-color)}.help-section code{font-family:Consolas,Courier New,monospace;font-size:.89em;background:color-mix(in srgb,var(--help-topic-color) 7%,var(--hover-bg));border:1px solid color-mix(in srgb,var(--help-topic-color) 18%,var(--border-color));border-radius:5px;padding:.08em .34em}.help-section-content a{color:color-mix(in srgb,var(--help-topic-color) 82%,var(--text-primary));text-decoration-thickness:1px;text-underline-offset:.18em}.help-section-content a:hover{color:var(--help-topic-color)}@media (max-width: 760px){.help-backdrop{padding:.65rem}.help-modal{width:calc(100vw - 1.3rem);height:calc(100vh - 1.3rem);height:calc(100dvh - 1.3rem);min-height:0;border-radius:14px}.help-modal-main{flex-direction:column}.help-topic-sidebar{width:100%;flex:0 0 auto;flex-direction:row;gap:.4rem;overflow-x:auto;overflow-y:hidden;padding:.62rem;border-right:0;border-bottom:1px solid var(--border-color);scroll-snap-type:x proximity}.help-topic-button{flex:0 0 min(205px,58vw);min-height:48px;grid-template-columns:35px minmax(0,1fr);scroll-snap-align:start}.help-topic-button.active:before{left:12px;right:12px;top:auto;bottom:-1px;width:auto;height:3px;border-radius:4px 4px 0 0}.help-topic-icon{width:34px;height:34px;border-radius:9px}.help-topic-icon-svg{width:19px;height:19px}.help-modal-body{padding:1.35rem}.help-section-heading{margin-bottom:1.15rem}}@media (prefers-reduced-motion: reduce){.help-backdrop,.help-modal{animation:none}.help-topic-button,.help-modal-close{transition:none}}@media (max-width: 430px){.help-modal-header{min-height:62px;padding:.65rem .7rem .65rem .85rem}.help-modal-heading-icon{width:35px;height:35px;flex-basis:35px;border-radius:10px}.help-modal-header h2{font-size:1.02rem}.help-topic-button{flex-basis:min(178px,67vw)}.help-modal-body{padding:1.1rem}.help-section-icon{width:44px;height:44px;flex-basis:44px;border-radius:12px}.help-section-icon svg{width:24px;height:24px}.help-section-content{font-size:.96rem;line-height:1.65}}.trash-panel-btn:hover{background-color:#e53935!important;border-color:#e53935!important;color:#fff!important}.close-panel-btn{order:999}.close-panel-btn:hover{background-color:#e53935!important;border-color:#e53935!important;color:#fff!important}.layout-toolbar-btn{flex:0 0 auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.7rem;padding:2px 6px;line-height:1.4;white-space:nowrap;transition:background-color .15s,border-color .15s}.panel-autoscale-axis-btn{display:inline-flex;align-items:center;justify-content:center}.panel-autoscale-axis-btn svg{width:15px;height:15px;display:block}.panel-export-btn{display:inline-flex;align-items:center;justify-content:center}.panel-export-btn svg{width:15px;height:15px;display:block}.layout-toolbar-btn:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.phase2d-tools-group{display:flex;align-items:center;gap:6px;flex:0 0 auto}.phase2d-display-select{border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.7rem;padding:2px 4px;cursor:pointer}.phase2d-marker-controls{display:flex;align-items:center;gap:8px}.phase2d-marker-controls[hidden]{display:none}.phase2d-marker-field{display:flex;align-items:center;gap:4px;font-size:.66rem;color:var(--text-secondary);white-space:nowrap}.phase2d-marker-input{width:58px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.7rem;padding:2px 0 2px 5px}.phase2d-marker-input::-webkit-inner-spin-button,.phase2d-marker-input::-webkit-outer-spin-button{margin:0;opacity:1}.phase2d-analysis-group{display:flex;flex:0 0 auto;gap:2px;margin-left:8px;border-left:3px solid color-mix(in srgb,#9c27b0 62%,var(--border-color));padding-left:8px}.phase2d-fit-field{display:flex;align-items:center;gap:6px;margin:8px 0 2px}.phase2d-fit-field-label{flex:0 0 auto;font-size:.72rem;color:var(--text-secondary)}.phase2d-fit-pair-select,.phase2d-fit-type-select{flex:1 1 auto;min-width:0;max-width:100%;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.72rem;padding:3px 4px;cursor:pointer;text-overflow:ellipsis}.phase2d-fit-type-field .fft-help-btn{flex:0 0 auto}.phase2d-fit-results-head{display:flex;align-items:center;gap:6px;margin:10px 0 4px}.phase2d-fit-drawer-title{margin:0;font-size:.8rem;font-weight:600}.phase2d-fit-result{border-top:1px solid var(--border-color);padding:6px 0}.phase2d-fit-result-head{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:4px}.phase2d-fit-swatch{width:10px;height:10px;border-radius:2px;flex:0 0 auto}.phase2d-fit-result-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase2d-fit-equation{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;font-weight:600;margin-bottom:4px;word-break:break-word;color:var(--text-primary)}.phase2d-fit-coeffs{display:grid;grid-template-columns:auto 1fr;gap:1px 8px;margin-bottom:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.phase2d-fit-coeff{display:contents}.phase2d-fit-coeff-k{color:var(--text-secondary);font-style:italic}.phase2d-fit-coeff-v{font-variant-numeric:tabular-nums}.phase2d-fit-stats{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;margin:0;font-size:.62rem}.phase2d-fit-stats dt{color:var(--text-secondary)}.phase2d-fit-stats dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.phase2d-fit-warning{margin-top:4px;color:#e53935;font-size:.66rem}.phase2d-fit-empty{color:var(--text-secondary);font-size:.68rem}.phase2d-fit-help-modal{font-size:.85rem;line-height:1.5;text-align:left}.phase2d-fit-help-modal dt{font-weight:700;margin-top:8px}.phase2d-fit-help-modal dd{margin:0 0 4px;color:var(--text-secondary)}.layout-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.layout-panel-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;color:var(--text-secondary);font-size:.85rem;padding:1rem;text-align:center;border:2px dashed transparent;border-radius:4px;transition:border-color .2s,background-color .2s;margin:6px}.layout-panel-placeholder small{font-size:.72rem;line-height:1.35;opacity:.82}.layout-panel-placeholder-hint{color:color-mix(in srgb,var(--primary-color) 48%,var(--text-secondary));opacity:1}.layout-panel-placeholder-hint strong{color:color-mix(in srgb,var(--primary-color) 78%,var(--text-primary));font-weight:800}.layout-panel-placeholder.drag-over{border-color:var(--primary-color);background-color:#2196f30f}.mode-btn-group,.timeseries-tools-group,.view-btn-group{display:flex;flex:0 0 auto;gap:2px}.mode-btn-group{margin-left:8px;border-left:3px solid color-mix(in srgb,var(--success-color) 70%,var(--border-color));padding-left:8px}.timeseries-tools-group,.view-btn-group{margin-left:8px;border-left:3px solid color-mix(in srgb,var(--primary-color) 68%,var(--border-color));padding-left:8px}.mode-btn.active,.view-btn.active,.panel-action-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.panel-toggle-btn{font-weight:400}.panel-toggle-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary-color) 8%,var(--bg-primary));border-color:color-mix(in srgb,var(--primary-color) 68%,var(--border-color));color:var(--text-primary)}.panel-toggle-btn.active,.panel-toggle-btn.active:hover:not(:disabled){background:color-mix(in srgb,var(--primary-color) 16%,var(--bg-primary));border-color:var(--primary-color);color:var(--primary-color);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--primary-color) 20%,transparent)}.view-btn{font-size:.65rem;padding:2px 5px}.mode-change-warning-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;align-items:flex-start;justify-content:center;padding:42px 10px 10px;background-color:#0000000a;pointer-events:auto}.mode-change-warning{display:flex;align-items:center;justify-content:space-between;gap:10px;width:min(680px,100%);padding:9px 10px;background-color:color-mix(in srgb,#f59e0b 18%,var(--bg-primary));border:1px solid color-mix(in srgb,#f59e0b 52%,var(--border-color));border-radius:6px;color:var(--text-primary);font-size:.82rem;line-height:1.35;box-shadow:0 8px 22px #00000029}.mode-change-warning-text{min-width:0}.mode-change-warning-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.mode-change-warning-btn{height:28px;padding:0 10px;border:1px solid var(--border-color);border-radius:5px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.78rem;font-weight:700;cursor:pointer}.mode-change-warning-btn:hover{border-color:color-mix(in srgb,var(--primary-color) 70%,var(--border-color))}.mode-change-warning-btn.confirm{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background-color:#2196f31f;border:2px dashed var(--primary-color);border-radius:4px;pointer-events:none;opacity:0;transition:opacity .15s ease;font-size:.9rem;font-weight:500;color:var(--primary-color);text-align:center;padding:1rem}.drop-overlay>span{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;max-width:min(520px,calc(100% - 2rem));padding:9px 12px;background-color:color-mix(in srgb,var(--primary-color) 13%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--primary-color) 46%,var(--border-color));border-radius:6px;box-shadow:0 8px 22px #00000029;color:var(--text-primary);line-height:1.35}.drop-overlay.active{opacity:1}.drop-overlay.timeseries-y2-drop{overflow:hidden}.drop-overlay.timeseries-y2-drop:before{content:"";position:absolute;top:0;bottom:0;width:50%;background-color:color-mix(in srgb,var(--primary-color) 18%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary-color) 72%,transparent)}.drop-overlay.timeseries-y2-drop.axis-left:before{left:0}.drop-overlay.timeseries-y2-drop.axis-right:before{right:0}.drop-overlay.timeseries-y2-drop>span{position:absolute;top:50%;max-width:calc(50% - 2rem);transform:translate(-50%,-50%)}.drop-overlay.timeseries-y2-drop.axis-left>span{left:25%}.drop-overlay.timeseries-y2-drop.axis-right>span{left:75%}.drop-overlay.pending{opacity:.7;background-color:#2196f30f;animation:pending-pulse 2s ease-in-out infinite}.timeseries-axis-menu{position:fixed;z-index:5200;display:grid;grid-template-columns:max-content;width:auto;min-width:0;max-width:calc(100vw - 16px);padding:4px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 22px #0000002e}.timeseries-axis-menu button{width:auto;border:0;border-radius:4px;padding:6px 8px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:.78rem;text-align:left;white-space:nowrap}.timeseries-axis-menu button:hover{background-color:var(--hover-bg)}.timeseries-axis-menu button:disabled{opacity:.45;cursor:default}.timeseries-axis-menu-divider{margin-top:4px;border-top:1px solid var(--border-color)!important;border-radius:0 0 4px 4px!important}@keyframes pending-pulse{0%,to{opacity:.55}50%{opacity:.85}}.hover-info-box{position:absolute;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-size:.78rem;line-height:1.6;color:var(--text-primary);pointer-events:none;z-index:15;display:none;box-shadow:0 2px 8px #00000026;max-width:260px}.hover-info-box.hover-corner-tl{top:42px;left:10px;right:auto;bottom:auto}.hover-info-box.hover-corner-tr{top:42px;right:10px;bottom:auto;left:auto}.hover-info-box.hover-corner-bl{bottom:28px;left:10px;top:auto;right:auto}.hover-info-box.hover-corner-br{right:10px;bottom:28px;top:auto;left:auto}.cursor-info-box{position:absolute;top:42px;right:10px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:7px 10px;font-size:.74rem;line-height:1.5;color:var(--text-primary);pointer-events:auto;z-index:16;display:none;box-shadow:0 2px 10px #0000002e;max-width:min(320px,calc(100% - 20px))}.cursor-info-title{font-weight:700;color:var(--text-primary);display:inline-flex;align-items:center;gap:5px}.cursor-info-move-icon{color:var(--text-secondary);flex-shrink:0;vertical-align:middle}.cursor-info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;cursor:move;-webkit-user-select:none;user-select:none}.cursor-close-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer}.cursor-close-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.cursor-trace-select{display:flex;align-items:center;gap:5px;margin-bottom:6px;color:var(--text-secondary)}.cursor-trace-select select{min-width:0;flex:1;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.72rem;padding:2px 4px}.cursor-extremum-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--border-color);border-radius:3px;background:var(--bg-primary);cursor:pointer;line-height:0}.cursor-extremum-btn:hover{background:var(--bg-secondary, rgba(127,127,127,.15))}.cursor-extremum-btn svg{pointer-events:none}.cursor-info-hint{margin:-1px 0 6px;color:var(--text-secondary);font-size:.68rem;line-height:1.2;white-space:normal}.cursor-info-hint div+div{margin-top:2px}.cursor-secant-toggle{display:flex;align-items:center;gap:6px;margin:2px 0 6px;color:var(--text-secondary);font-size:.72rem;line-height:1.2;-webkit-user-select:none;user-select:none}.cursor-secant-toggle input{flex:0 0 auto;width:13px;height:13px;margin:0}.cursor-info-values{pointer-events:none}.cursor-spectrum-period-row{padding-left:16px;color:var(--text-secondary)}.cursor-spectrum-period-row+.cursor-spectrum-frequency-row{margin-top:2px}body.cursor-dragging{cursor:ew-resize;-webkit-user-select:none;user-select:none}body.cursor-box-dragging{cursor:move;-webkit-user-select:none;user-select:none}.layout-panel.cursor-near,.layout-panel.cursor-near .plotly-container,.layout-panel.cursor-near .plotly-container *{cursor:ew-resize!important}.plotly-container{flex:1;min-height:0;min-width:0;position:relative}.plotly-container .plotly{height:100%!important}.fft-container{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg-secondary);--fft-split: 50%}.fft-topbar{flex:0 0 auto;min-height:32px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 7px;border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-tertiary) 74%,var(--bg-secondary));font-size:.76rem;color:var(--text-secondary);overflow:hidden}.fft-topbar-group{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.fft-tool-btn{height:24px;min-width:28px;padding:0 7px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-primary);font-size:.72rem;font-weight:400;cursor:pointer}.fft-tool-btn:hover{border-color:color-mix(in srgb,var(--primary-color) 68%,var(--border-color))}.fft-tool-btn.active{background:color-mix(in srgb,var(--primary-color) 16%,var(--bg-primary));border-color:var(--primary-color);color:var(--primary-color)}.fft-status{margin-left:auto;flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.fft-status-warning{color:var(--warning-color)}.fft-status-ready{color:color-mix(in srgb,#16a34a 78%,var(--text-primary))}.fft-status-loading{color:var(--primary-color)}.fft-workspace{flex:1;min-width:0;min-height:0;display:flex}.fft-plot-area{flex:1;min-width:0;min-height:0;display:grid;overflow:hidden;position:relative}.fft-layout-horizontal .fft-plot-area{grid-template-columns:minmax(0,var(--fft-split)) 7px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.fft-layout-vertical .fft-plot-area{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,var(--fft-split)) 7px minmax(0,1fr)}.fft-container.fft-time-series-hidden .fft-plot-area{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.fft-time-series-hidden .fft-time-pane,.fft-time-series-hidden .fft-splitter{display:none}.fft-time-series-hidden .fft-spectrum-pane{grid-column:1;grid-row:1}.fft-pane{min-width:0;min-height:0;display:flex}.fft-spectrum-pane{position:relative}.fft-computing-indicator{top:10px}.fft-splitter{background:color-mix(in srgb,var(--border-color) 72%,transparent);position:relative;z-index:2}.fft-layout-horizontal .fft-splitter{cursor:col-resize}.fft-layout-vertical .fft-splitter{cursor:row-resize}.fft-splitter:hover{background:color-mix(in srgb,var(--primary-color) 42%,var(--border-color))}.fft-options{flex:0 0 286px;width:286px;max-width:min(42vw,320px);min-width:230px;padding:9px;border-left:1px solid var(--border-color);background:var(--bg-primary);overflow:auto;color:var(--text-primary)}.fft-options[hidden]{display:none}.fft-options-title,.fft-options-subtitle{font-size:.78rem;font-weight:800;color:var(--text-primary);margin:2px 0 8px}.fft-options-subtitle{margin-top:12px;color:var(--text-secondary)}.fft-message{margin:0 0 9px;padding:7px 8px;border-radius:5px;font-size:.73rem;line-height:1.3;overflow-wrap:anywhere}.fft-message[hidden]{display:none}.fft-message-warning{color:color-mix(in srgb,var(--warning-color) 88%,var(--text-primary));border:1px solid color-mix(in srgb,var(--warning-color) 48%,var(--border-color));background:color-mix(in srgb,var(--warning-color) 12%,var(--bg-primary))}.fft-message-loading{color:var(--primary-color);border:1px solid color-mix(in srgb,var(--primary-color) 38%,var(--border-color));background:color-mix(in srgb,var(--primary-color) 9%,var(--bg-primary))}.fft-option-row{display:grid;grid-template-columns:minmax(82px,.8fr) minmax(0,1.2fr);align-items:center;gap:7px;min-height:30px;margin-bottom:6px;font-size:.74rem}.fft-option-row>span{min-width:0;overflow-wrap:anywhere;color:var(--text-secondary)}.fft-number-input,.fft-select{width:100%;min-width:0;height:26px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-secondary);color:var(--text-primary);padding:0 6px;font-size:.74rem}.fft-number-input{max-width:92px;justify-self:end}.fft-number-input:disabled,.fft-range-input:disabled{opacity:.45}.fft-number-input[type=datetime-local]{max-width:none;font-size:.72rem;padding:0 4px}.fft-range-bound.fft-range-bound-datetime .fft-option-row{grid-template-columns:minmax(0,1fr);row-gap:2px;min-height:0}.fft-segmented{display:inline-flex;justify-self:end}.fft-segmented button{height:26px;padding:0 10px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:.72rem;cursor:pointer}.fft-segmented button:first-child{border-radius:5px 0 0 5px}.fft-segmented button:last-child{border-radius:0 5px 5px 0;margin-left:-1px}.fft-segmented button:hover{color:var(--text-primary)}.fft-segmented button.active{background:color-mix(in srgb,var(--primary-color) 16%,var(--bg-primary));border-color:var(--primary-color);color:var(--primary-color);position:relative;z-index:1}.fft-option-row>.fft-select{width:118px;justify-self:end}.fft-checkbox{justify-self:start}.fft-control-help{display:flex;align-items:center;gap:5px;min-width:0;width:118px;justify-self:end}.fft-control-help .fft-select{flex:1;min-width:0}.fft-auto-amplitude-btn,.fft-auto-xrange-btn{display:block;width:100%;margin-top:2px;height:26px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-primary);font-size:.74rem;cursor:pointer}.fft-auto-amplitude-btn:hover,.fft-auto-xrange-btn:hover{border-color:color-mix(in srgb,var(--primary-color) 68%,var(--border-color))}.fft-help-btn{flex:0 0 auto;width:20px;height:20px;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-secondary);color:var(--text-secondary);font-size:.7rem;font-weight:700;line-height:1;cursor:pointer;padding:0}.fft-help-btn:hover,.fft-help-btn[aria-expanded=true]{border-color:var(--primary-color);color:var(--primary-color)}.fft-help-popover{margin:0 0 8px;padding:8px 9px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);font-size:.72rem;line-height:1.45;color:var(--text-secondary)}.fft-help-popover[hidden]{display:none}.file-transform-label-with-help{display:flex;align-items:center;gap:4px;min-width:0}.file-transform-help-btn{width:15px;height:15px;font-size:.6rem;background-color:#fff3b0;border-color:#e3c55a;color:#5f4b00}.file-transform-help-btn:hover,.file-transform-help-btn[aria-expanded=true]{background-color:#ffe680;border-color:#d3ad2f;color:#3f3100}.theme-dark .file-transform-help-btn{background-color:#6a560d;border-color:#8a721b;color:#ffe9a3}.theme-dark .file-transform-help-btn:hover,.theme-dark .file-transform-help-btn[aria-expanded=true]{background-color:#7d6712;border-color:#a2861f}.file-transform-warning-btn{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:6px;padding:0;font-size:0;background-color:#ffe0b0;border-color:#e39a5a;color:#7a3d00}.file-transform-warning-btn:before{content:"";width:12px;height:12px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M1%2021h22L12%202%201%2021zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M1%2021h22L12%202%201%2021zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E") center / contain no-repeat}.file-transform-warning-btn:hover,.file-transform-warning-btn[aria-expanded=true]{background-color:#ffd08a;border-color:#d3822f;color:#5a2d00}.theme-dark .file-transform-warning-btn{background-color:#6a3d0d;border-color:#8a5a1b;color:#ffcfa3}.theme-dark .file-transform-warning-btn:hover,.theme-dark .file-transform-warning-btn[aria-expanded=true]{background-color:#7d4712;border-color:#a26a1f}.file-transform-help-popover{position:fixed;z-index:10000;max-width:320px;margin:0;box-shadow:0 6px 20px #00000040}.file-transform-help-title{font-weight:700;color:var(--text-primary);margin-bottom:4px}.file-transform-help-popover ul{margin:4px 0 0;padding-left:1.1em}.file-transform-help-popover li+li{margin-top:3px}.file-transform-step-row{display:flex;align-items:center;gap:6px;min-width:0}.file-transform-step-row input{width:auto;flex:1 1 0;min-width:5rem}.drop-zone-drag-card{display:none}.drop-zone.subsequent-drop{border:0;background:var(--drop-zone-drag-overlay);box-shadow:none;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.drop-zone.subsequent-drop .drop-zone-content{display:none}.drop-zone.subsequent-drop .drop-zone-drag-card{position:relative;z-index:1;display:block;text-align:center;width:min(420px,calc(100vw - 3rem));padding:2rem 2.5rem;border:2px dashed var(--drop-zone-drag-card-border);border-radius:18px;background:var(--drop-zone-drag-card-bg);box-shadow:0 18px 55px #0003,0 0 0 5px color-mix(in srgb,var(--primary-color) 12%,transparent)}.drop-zone.subsequent-drop .drop-zone-drag-card .icon{display:block;font-size:3.25rem;margin-bottom:.65rem}.drop-zone.subsequent-drop .drop-zone-drag-card h2{margin:0;font-size:1.5rem}.drop-zone.subsequent-drop.initial-file-drop{background:var(--drop-zone-bg);backdrop-filter:none;-webkit-backdrop-filter:none}.drop-zone.subsequent-drop.initial-file-drop .drop-zone-content{display:block;position:absolute;filter:blur(3px)}.drop-zone.subsequent-drop.initial-file-drop .drop-zone-drag-card{background:var(--drop-zone-drag-card-bg)}.file-transform-step-row select{width:5.25rem;flex:0 0 5.25rem}.fft-range-grid,.fft-axis-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-bottom:8px}.fft-range-bound,.fft-axis-bound{min-width:0}.fft-range-bound .fft-option-row,.fft-axis-bound .fft-option-row{margin-bottom:2px;grid-template-columns:minmax(0,1fr) 92px}.fft-range-input{width:100%;min-width:0;display:block}body.fft-selection-dragging,body.fft-split-dragging{-webkit-user-select:none;user-select:none}body.fft-selection-dragging{cursor:ew-resize}body.fft-selection-dragging.fft-selection-moving{cursor:grabbing}.plotly-mode-fft-time.fft-cursor-ew .nsewdrag,.plotly-mode-hist-time.fft-cursor-ew .nsewdrag,.plotly-mode-profile-time.fft-cursor-ew .nsewdrag,.plotly-mode-integral-time.fft-cursor-ew .nsewdrag,.plotly-mode-correlation-time.fft-cursor-ew .nsewdrag,.plotly-mode-phase2d-fit-time.fft-cursor-ew .nsewdrag,body.fft-selection-dragging:not(.fft-selection-moving) .plotly-mode-fft-time .nsewdrag,body.fft-selection-dragging:not(.fft-selection-moving) .plotly-mode-hist-time .nsewdrag,body.fft-selection-dragging:not(.fft-selection-moving) .plotly-mode-profile-time .nsewdrag,body.fft-selection-dragging:not(.fft-selection-moving) .plotly-mode-integral-time .nsewdrag,body.fft-selection-dragging:not(.fft-selection-moving) .plotly-mode-correlation-time .nsewdrag,body.fft-selection-dragging:not(.fft-selection-moving) .plotly-mode-phase2d-fit-time .nsewdrag{cursor:ew-resize!important}.plotly-mode-fft-time.fft-cursor-grab .nsewdrag,.plotly-mode-hist-time.fft-cursor-grab .nsewdrag,.plotly-mode-profile-time.fft-cursor-grab .nsewdrag,.plotly-mode-integral-time.fft-cursor-grab .nsewdrag,.plotly-mode-correlation-time.fft-cursor-grab .nsewdrag,.plotly-mode-phase2d-fit-time.fft-cursor-grab .nsewdrag{cursor:grab!important}body.fft-selection-dragging.fft-selection-moving .plotly-mode-fft-time .nsewdrag,body.fft-selection-dragging.fft-selection-moving .plotly-mode-hist-time .nsewdrag,body.fft-selection-dragging.fft-selection-moving .plotly-mode-profile-time .nsewdrag,body.fft-selection-dragging.fft-selection-moving .plotly-mode-integral-time .nsewdrag,body.fft-selection-dragging.fft-selection-moving .plotly-mode-correlation-time .nsewdrag,body.fft-selection-dragging.fft-selection-moving .plotly-mode-phase2d-fit-time .nsewdrag{cursor:grabbing!important}body.fft-split-dragging{cursor:col-resize}.cursor-info-values .cursor-help-btn,.cursor-info-values .cursor-help-popover{pointer-events:auto}.cursor-inverse-spacing-note{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.68rem;margin-top:-2px}.cursor-inverse-spacing-note .cursor-help-btn{width:16px;height:16px;font-size:.62rem}.cursor-info-box .cursor-help-popover{position:fixed;z-index:40;width:300px;max-width:calc(100vw - 16px);margin:0;white-space:normal;background:var(--bg-primary);box-shadow:0 4px 16px #00000040}body.cursor-dragging .plotly-mode-fft-time .nsewdrag,body.cursor-dragging .plotly-mode-fft-spectrum .nsewdrag,.layout-panel.cursor-near .plotly-mode-fft-time .nsewdrag,.layout-panel.cursor-near .plotly-mode-fft-spectrum .nsewdrag{cursor:ew-resize!important}@media (max-width: 760px){.fft-workspace{flex-direction:column}.fft-options{flex:0 0 auto;width:auto;max-width:none;max-height:42%;border-left:0;border-top:1px solid var(--border-color)}.fft-topbar{gap:4px}}.cursor-plot-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;display:none}.hover-plot-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;display:none}.lazy-detail-indicator{position:absolute;left:50%;top:46px;transform:translate(-50%);z-index:8;min-width:128px;min-height:34px;padding:0 12px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:0 4px 14px #00000038;display:none;align-items:center;justify-content:center;gap:8px;pointer-events:none;font-size:12px;font-weight:600;line-height:1}.lazy-detail-indicator.active{display:flex}.lazy-detail-spinner{width:14px;height:14px;flex:0 0 auto;border-radius:999px;border:2px solid var(--border-color);border-top-color:var(--accent-color);animation:lazy-detail-spin .8s linear infinite}.lazy-detail-text{white-space:nowrap}.missing-dense-indicator{background:linear-gradient(#ffc1072e,#ffc1072e),var(--bg-primary);border-color:#e69100bf}.layout-panel:has(.missing-dense-indicator.active) .lazy-data-detail-indicator.active{top:88px}@keyframes lazy-detail-spin{to{transform:rotate(360deg)}}.hover-overlay-line{position:absolute;width:0;border-left:1px dotted rgba(120,120,120,.75);transform:translate(-.5px)}.hover-overlay-dot{position:absolute;width:9px;height:9px;border:1.5px solid #fff;border-radius:999px;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000047}.cursor-overlay-line{position:absolute;width:0;border-left:2px solid;transform:translate(-1px)}.cursor-secant-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.cursor-secant-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:10 5 2 5;opacity:.9;vector-effect:non-scaling-stroke}.cursor-overlay-dot{position:absolute;width:11px;height:11px;border:2px solid;border-radius:999px;transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--bg-primary),0 1px 4px #00000040}.hist-container{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg-secondary);--hist-split: 50%}.hist-topbar{flex:0 0 auto;min-height:32px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 7px;border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-tertiary) 74%,var(--bg-secondary));font-size:.76rem;color:var(--text-secondary);overflow:hidden}.hist-topbar-group{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.hist-tool-btn{height:24px;min-width:28px;padding:0 7px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-primary);font-size:.72rem;font-weight:400;cursor:pointer}.hist-tool-btn:hover{border-color:color-mix(in srgb,var(--primary-color) 68%,var(--border-color))}.hist-tool-btn.active{background:color-mix(in srgb,var(--primary-color) 16%,var(--bg-primary));border-color:var(--primary-color);color:var(--primary-color)}.hist-status{margin-left:auto;flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.hist-status-warning{color:var(--warning-color)}.hist-status-error{color:var(--danger-color, #dc2626)}.hist-status-ready{color:color-mix(in srgb,#16a34a 78%,var(--text-primary))}.hist-status-loading{color:var(--primary-color)}.hist-workspace{flex:1;min-width:0;min-height:0;display:flex}.hist-plot-area{flex:1;min-width:0;min-height:0;display:grid;overflow:hidden;position:relative}.hist-layout-horizontal .hist-plot-area{grid-template-columns:minmax(0,var(--hist-split)) 7px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.hist-layout-vertical .hist-plot-area{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,var(--hist-split)) 7px minmax(0,1fr)}.hist-container.hist-time-series-hidden .hist-plot-area{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.hist-time-series-hidden .hist-time-pane,.hist-time-series-hidden .hist-splitter{display:none}.hist-time-series-hidden .hist-hist-pane{grid-column:1;grid-row:1}.temporal-profile-container .hist-hist-pane{position:relative}.temporal-profile-computing-indicator{top:10px}.hist-pane{min-width:0;min-height:0;display:flex}.hist-splitter{background:color-mix(in srgb,var(--border-color) 72%,transparent);position:relative;z-index:2}.hist-layout-horizontal .hist-splitter{cursor:col-resize}.hist-layout-vertical .hist-splitter{cursor:row-resize}.hist-splitter:hover{background:color-mix(in srgb,var(--primary-color) 42%,var(--border-color))}.hist-option-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0;font-size:.74rem;color:var(--text-secondary)}.hist-option-row .fft-number-input{width:96px}.hist-segmented{display:inline-flex;gap:0;margin:2px 0 6px;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;flex-wrap:wrap}.hist-seg-btn{padding:3px 9px;border:none;border-right:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.72rem;font-weight:600;cursor:pointer}.hist-seg-btn:last-child{border-right:none}.hist-seg-btn.active{background:color-mix(in srgb,var(--primary-color) 18%,var(--bg-primary));color:var(--primary-color)}.hist-seg-btn:disabled{opacity:.4;cursor:not-allowed}.hist-summary{font-size:.71rem;color:var(--text-secondary)}.hist-summary-row{margin:4px 0;line-height:1.35}.temporal-profile-summary{max-height:180px;overflow:auto}.temporal-profile-options.temporal-profile-controls-disabled>:not(.temporal-profile-message){opacity:.58}.temporal-profile-options.temporal-profile-controls-disabled button:disabled,.temporal-profile-options.temporal-profile-controls-disabled input:disabled,.temporal-profile-options.temporal-profile-controls-disabled select:disabled{cursor:not-allowed}.integral-result-area{flex:1;min-width:0;min-height:0;display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.integral-pane{min-width:0;min-height:0;display:flex}.integral-pie-pane,.integral-splitter{display:none}.integral-pie-visible .integral-pie-pane{display:flex}.integral-pie-visible .integral-splitter{display:block}.integral-pie-visible.hist-layout-vertical .integral-result-area{grid-template-columns:minmax(0,var(--integral-pie-split)) 7px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.integral-pie-visible.hist-layout-horizontal .integral-result-area{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,var(--integral-pie-split)) 7px minmax(0,1fr)}.integral-splitter{background:color-mix(in srgb,var(--border-color) 72%,transparent);position:relative;z-index:2}.integral-splitter:hover{background:color-mix(in srgb,var(--primary-color) 42%,var(--border-color))}.integral-pie-visible.hist-layout-vertical .integral-splitter{cursor:col-resize}.integral-pie-visible.hist-layout-horizontal .integral-splitter{cursor:row-resize}.integral-container .integral-bars-pane{position:relative}.integral-computing-indicator{top:10px}.integral-unit-hint{margin:-2px 0 8px;font-size:.66rem;line-height:1.35;color:var(--text-secondary);word-break:break-word}.integral-unit-input{font-variant-numeric:normal}.integral-note{color:var(--text-secondary)}.integral-message>.integral-note:not(:first-child){margin-top:5px}.integral-summary{max-height:240px;overflow:auto;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--text-secondary) 55%,transparent) transparent;padding-bottom:6px;margin-bottom:14px}.integral-summary::-webkit-scrollbar{height:14px;width:14px}.integral-summary::-webkit-scrollbar-track{background:color-mix(in srgb,var(--border-color) 40%,transparent);border-radius:999px}.integral-summary::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-secondary) 55%,transparent);border:3px solid transparent;border-radius:999px;background-clip:content-box}.integral-summary::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary-color) 70%,var(--text-secondary));border:3px solid transparent;background-clip:content-box}.integral-summary-table{width:100%;border-collapse:collapse;font-size:.68rem;color:var(--text-secondary)}.integral-summary-table th,.integral-summary-table td{padding:2px 4px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.integral-summary-table th{font-weight:600;color:var(--text-primary)}.integral-summary-table td.integral-num,.integral-summary-table th.integral-num{text-align:right;font-variant-numeric:tabular-nums}.integral-summary-table td.integral-group-end,.integral-summary-table th.integral-group-end{border-right:1px solid var(--border-color);padding-right:6px}.integral-summary-table td.integral-num{padding-right:3px}.integral-summary-table td.integral-group-end+td.integral-num,.integral-summary-table th.integral-group-end+th{padding-left:6px}.integral-swatch{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:middle}.hist-range-bound{margin:2px 0 8px}.hist-range-bound .fft-range-input{width:100%;margin-top:2px}.hist-range-bound.hist-range-bound-datetime .hist-option-row{flex-direction:column;align-items:stretch;gap:2px}.hist-range-bound.hist-range-bound-datetime .hist-option-row .fft-number-input[type=datetime-local]{width:100%;max-width:none;font-size:.72rem;padding:0 4px}.heatmap-container{--heatmap-split: 50%;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg-secondary)}.heatmap-topbar{flex:0 0 auto;min-height:32px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 7px;border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-tertiary) 74%,var(--bg-secondary));color:var(--text-secondary);font-size:.76rem;overflow:hidden}.heatmap-topbar-group{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.heatmap-tool-btn{height:24px;min-width:28px;padding:0 7px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-primary);font-size:.72rem;font-weight:400;cursor:pointer}.heatmap-tool-btn:hover:not(:disabled),.heatmap-tool-btn:focus-visible{border-color:color-mix(in srgb,var(--primary-color) 68%,var(--border-color));outline:none}.heatmap-tool-btn.active{background:color-mix(in srgb,var(--primary-color) 16%,var(--bg-primary));border-color:var(--primary-color);color:var(--primary-color);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--primary-color) 20%,transparent)}.heatmap-tool-btn:disabled{opacity:.42;cursor:not-allowed}.heatmap-refresh-btn{color:var(--primary-color)}.heatmap-status{margin-left:auto;flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.heatmap-status-muted{color:var(--text-secondary)}.heatmap-status-loading{color:var(--primary-color)}.heatmap-status-ready{color:color-mix(in srgb,#16a34a 78%,var(--text-primary))}.heatmap-status-warning,.heatmap-status-dirty{color:var(--warning-color)}.heatmap-status-error,.heatmap-status-blocked{color:var(--danger-color, #dc2626)}.heatmap-workspace{flex:1;min-width:0;min-height:0;display:flex}.heatmap-plot-area{flex:1;min-width:0;min-height:0;display:grid;overflow:hidden;position:relative}.heatmap-layout-horizontal .heatmap-plot-area{grid-template-columns:minmax(0,var(--heatmap-split)) 7px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.heatmap-layout-vertical .heatmap-plot-area{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,var(--heatmap-split)) 7px minmax(0,1fr)}.heatmap-container.heatmap-time-series-hidden .heatmap-plot-area{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.heatmap-time-series-hidden .heatmap-time-pane,.heatmap-time-series-hidden .heatmap-splitter{display:none}.heatmap-time-series-hidden .heatmap-analysis-pane{grid-column:1;grid-row:1}.heatmap-pane{min-width:0;min-height:0;display:flex}.heatmap-analysis-pane{overflow:auto;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--text-secondary) 45%,transparent) transparent}.heatmap-analysis-pane::-webkit-scrollbar{width:14px;height:14px}.heatmap-analysis-pane::-webkit-scrollbar-track{background:transparent}.heatmap-analysis-pane::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-secondary) 38%,transparent);border:3px solid transparent;border-radius:999px;background-clip:content-box}.heatmap-analysis-pane:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary-color) 58%,var(--text-secondary));border:3px solid transparent;background-clip:content-box}.heatmap-splitter{position:relative;z-index:2;background:color-mix(in srgb,var(--border-color) 72%,transparent)}.heatmap-layout-horizontal .heatmap-splitter{cursor:col-resize}.heatmap-layout-vertical .heatmap-splitter{cursor:row-resize}.heatmap-splitter:hover,.heatmap-splitter:focus-visible{background:color-mix(in srgb,var(--primary-color) 42%,var(--border-color));outline:1px solid var(--primary-color)}.heatmap-options{flex:0 0 286px;width:286px;max-width:min(42vw,320px);min-width:230px;padding:9px;border-left:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);overflow:auto}.heatmap-options[hidden]{display:none}.heatmap-options-subtitle{margin:12px 0 7px;color:var(--text-secondary);font-size:.78rem;font-weight:800}.heatmap-options-subtitle:first-child{margin-top:2px}.heatmap-option-row{min-height:30px;margin:4px 0;display:grid;grid-template-columns:minmax(82px,.9fr) minmax(0,1.1fr);align-items:center;gap:7px;color:var(--text-secondary);font-size:.74rem}.heatmap-option-row>span{min-width:0;overflow-wrap:anywhere}.heatmap-option-row-disabled{opacity:.5}.heatmap-option-row-disabled input{cursor:not-allowed}.heatmap-select,.heatmap-number-input,.heatmap-datetime-input,.heatmap-text-input{width:100%;min-width:0;height:27px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:5px;padding:0 6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.72rem}.heatmap-select:focus-visible,.heatmap-number-input:focus-visible,.heatmap-datetime-input:focus-visible,.heatmap-range-input:focus-visible,.heatmap-segmented-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--primary-color) 68%,transparent);outline-offset:1px}.heatmap-number-input{max-width:100px;justify-self:end}.heatmap-text-input:disabled,.heatmap-datetime-input:disabled,.heatmap-range-input:disabled{opacity:.46}.heatmap-segmented{display:inline-flex;max-width:100%;margin:2px 0 6px;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.heatmap-segmented-btn{min-height:26px;padding:3px 9px;border:0;border-right:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:.72rem;font-weight:400;cursor:pointer}.heatmap-segmented-btn:last-child{border-right:0}.heatmap-segmented-btn:hover{background:var(--hover-bg)}.heatmap-segmented-btn.active{position:relative;background:color-mix(in srgb,var(--primary-color) 16%,var(--bg-primary));color:var(--primary-color)}.heatmap-range-bound{min-width:0;margin:2px 0 8px}.heatmap-range-bound .heatmap-option-row{grid-template-columns:minmax(0,1fr);row-gap:2px;min-height:0}.heatmap-datetime-input{font-size:.7rem;padding:0 4px}.heatmap-range-input{display:block;width:100%;min-width:0}.heatmap-help,.heatmap-summary{color:var(--text-secondary);font-size:.71rem;line-height:1.4}.heatmap-help{margin:12px 0 7px;padding:7px 8px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-secondary)}.heatmap-aggregation-hint{margin:2px 0 7px}.heatmap-summary{white-space:pre-line}body.heatmap-selection-dragging,body.heatmap-split-dragging{-webkit-user-select:none;user-select:none}body.heatmap-selection-dragging{cursor:ew-resize}body.heatmap-selection-dragging.heatmap-selection-moving{cursor:grabbing}.plotly-mode-heatmap-time.heatmap-cursor-ew .nsewdrag,body.heatmap-selection-dragging:not(.heatmap-selection-moving) .plotly-mode-heatmap-time .nsewdrag{cursor:ew-resize!important}.plotly-mode-heatmap-time.heatmap-cursor-grab .nsewdrag{cursor:grab!important}body.heatmap-selection-dragging.heatmap-selection-moving .plotly-mode-heatmap-time .nsewdrag{cursor:grabbing!important}body.cursor-dragging .plotly-mode-heatmap-time .nsewdrag,.layout-panel.cursor-near .plotly-mode-heatmap-time .nsewdrag{cursor:ew-resize!important}@media (max-width: 760px){.heatmap-workspace{flex-direction:column}.heatmap-options{flex:0 0 auto;width:auto;max-width:none;min-width:0;max-height:42%;border-left:0;border-top:1px solid var(--border-color)}.heatmap-topbar{gap:4px}}.correlation-options .fft-options-section{margin-bottom:12px}.correlation-options .fft-options-section h4{margin:0 0 6px;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.corr-math{font-size:1.35em;margin:6px 0 14px;overflow-x:auto;color:var(--text-primary)}.correlation-help-modal{text-align:left;line-height:1.55}.correlation-help-modal p{margin:0 0 10px}.correlation-pending-hint{margin:6px 0;padding:5px 8px;font-size:11px;color:var(--text-primary);background:var(--bg-tertiary);border-radius:4px}.correlation-warning{margin-bottom:6px;font-size:11px;color:var(--warning-color)}.correlation-message{margin-bottom:10px;padding:6px 8px;font-size:11px;line-height:1.4;color:var(--warning-color);background:color-mix(in srgb,var(--warning-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--warning-color) 40%,transparent);border-radius:4px}.correlation-message div+div{margin-top:3px}.correlation-empty{font-size:12px;color:var(--text-secondary)}.correlation-pair-list{list-style:none;margin:0;padding:0;counter-reset:corr-pair}.correlation-pair-item{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--border-color);font-size:12px}.correlation-pair-item:before{counter-increment:corr-pair;content:"P" counter(corr-pair);flex:0 0 auto;color:var(--text-secondary);font-variant-numeric:tabular-nums}.correlation-pair-swatch{flex:0 0 auto;width:10px;height:10px;border-radius:2px}.correlation-pair-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.correlation-pair-r{flex:0 0 auto;color:var(--text-secondary);font-variant-numeric:tabular-nums}.correlation-pair-btn{flex:0 0 auto;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:3px;line-height:1}.correlation-pair-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:5200;opacity:0;transition:opacity .25s ease}.modal-overlay.show{opacity:1}.modal-dialog{background-color:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color);box-shadow:none;overflow:hidden;max-width:400px;width:90%;transform:translateY(-12px);transition:transform .25s ease,opacity .25s ease;opacity:0}.modal-dialog-choice{width:min(620px,calc(100vw - 32px));max-width:none}.modal-dialog-mat-too-large{width:clamp(400px,50vw,900px);max-width:calc(100vw - 32px)}.modal-dialog-wide{width:min(calc(100vw - 32px),max(52vw,480px));max-width:none}.modal-dialog-wide .modal-content{text-align:left}.modal-dialog-wide .modal-message{text-align:left;color:var(--text-secondary)}.modal-dialog-wide .modal-message p{margin:0 0 8px}.modal-dialog-wide .modal-message ul{margin:4px 0 12px;padding-left:1.2em}.modal-dialog-wide .modal-message li{margin:2px 0}.modal-dialog-wide .modal-message ul ul{margin:2px 0 8px}.modal-dialog-compare-summary{width:max-content;min-width:min(484px,calc(100vw - 32px));max-width:min(80vw,calc(100vw - 32px));max-height:85vh;display:flex}.modal-dialog-compare-summary .modal-content{display:flex;flex-direction:column;width:100%;min-height:0}.modal-dialog-compare-summary .modal-message{flex:0 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-gutter:stable}.modal-dialog-compare-summary .modal-icon{font-size:2.25rem;line-height:1;color:var(--text-primary);margin-bottom:.85rem}.modal-dialog-netcdf-partial{max-height:85vh;display:flex}.modal-dialog-netcdf-partial .modal-content{display:flex;flex-direction:column;width:100%;min-height:0}.modal-dialog-netcdf-partial .modal-message{flex:0 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-gutter:stable;text-align:left}.modal-dialog.correlation-help-dialog{width:min(880px,calc(100vw - 32px));max-width:none}.modal-dialog.correlation-help-dialog .modal-message{text-align:left}.modal-dialog-choice .modal-message{text-align:left;color:var(--text-secondary)}.modal-overlay.show .modal-dialog{transform:translateY(0);opacity:1}.modal-content{padding:2rem;text-align:center}.modal-icon{font-size:3rem;margin-bottom:1rem}.modal-icon img{display:block;width:3rem;height:3rem;margin:0 auto;object-fit:contain}.modal-icon .reset-layout-glyph{display:block;width:3rem;height:3rem;margin:0 auto}.modal-title{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.modal-message{font-size:1rem;line-height:1.5;color:var(--text-primary);margin-bottom:1.5rem;white-space:pre-line}.modal-alert-highlight{margin:-.6rem 0 1.4rem;padding:.5rem .85rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary, rgba(127, 127, 127, .12));color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;text-align:center;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.modal-alert-tip{display:flex;align-items:center;gap:.7rem;margin:0 0 1.25rem;padding-top:.9rem;border-top:1px solid var(--border-color);text-align:left;font-size:.85rem;line-height:1.45;color:var(--text-secondary, #888)}.modal-alert-tip-glyph{flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:1rem;line-height:1}.modal-dialog-version-notice{width:min(520px,calc(100vw - 32px));max-width:none}.modal-alert-checkbox{display:inline-flex;align-items:center;gap:.5rem;margin:-.5rem 0 1.25rem;font-size:.88rem;line-height:1.3;color:var(--text-secondary, #888);cursor:pointer;-webkit-user-select:none;user-select:none}.modal-alert-checkbox:hover{color:var(--text-primary)}.modal-alert-checkbox input{margin:0;cursor:pointer;flex:none}.modal-details{text-align:left;margin:-.75rem 0 1.25rem;font-size:.85rem}.modal-details>summary{cursor:pointer;color:var(--text-secondary, #888);-webkit-user-select:none;user-select:none}.modal-details>summary:hover{color:var(--text-primary)}.modal-details-text{margin:.5rem 0 0;padding:.6rem .75rem;max-height:9rem;overflow:auto;background:var(--bg-secondary, rgba(127, 127, 127, .12));border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary, #888)}.modal-dialog-checklist .modal-content{max-height:calc(100vh - 32px);overflow-y:auto}.modal-checklist{display:flex;flex-direction:column;gap:.5rem;margin:0 0 1.5rem;text-align:left}.modal-checklist-item{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);cursor:pointer}.modal-checklist-item:hover{background:var(--hover-bg)}.modal-checklist-box{margin-top:.2rem;flex:0 0 auto;cursor:pointer}.modal-checklist-text{min-width:0}.modal-checklist-label{font-weight:600;color:var(--text-primary)}.modal-checklist-code{margin-left:.5rem;padding:.05rem .35rem;border-radius:4px;background:var(--bg-primary);font-family:Consolas,Courier New,monospace;font-size:.9em;font-weight:400;color:var(--text-primary)}.modal-checklist-note{margin-left:.5rem;font-size:.85em;font-weight:400;color:var(--text-secondary)}.modal-checklist-description{margin-top:.2rem;font-size:.9rem;line-height:1.4;color:var(--text-secondary)}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-dialog-time-axis{width:min(1000px,calc(100vw - 32px));max-width:none}@media (min-width: 860px){.modal-dialog-time-axis .modal-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1.5rem;align-items:start}.modal-dialog-time-axis .modal-icon,.modal-dialog-time-axis .modal-title,.modal-dialog-time-axis .modal-message,.modal-dialog-time-axis .modal-buttons{grid-column:1 / -1}.modal-dialog-time-axis .time-axis-diag{margin-bottom:0}}.modal-section-title{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--text-primary);text-align:left}.modal-checklist-section{min-width:0;text-align:left}.modal-checklist-footer{margin:-.75rem 0 1.5rem;font-size:.85rem;line-height:1.45;color:var(--text-secondary)}.modal-checklist-footer code{padding:.05rem .3rem;border-radius:4px;background:var(--bg-secondary);font-family:Consolas,Courier New,monospace}.time-axis-diag{margin:0 0 1.25rem;text-align:left}.time-axis-diag-footnote{margin-top:.4rem;font-size:.82rem;line-height:1.4;color:var(--text-secondary)}.time-axis-diag-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:.7rem .85rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);font-size:.9rem}.time-axis-diag-key{color:var(--text-secondary)}.time-axis-diag-value{color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right}.time-axis-diag-verdict{margin-top:.5rem;font-weight:600;color:var(--text-secondary)}.time-axis-diag-verdict.ok{color:#2e7d6f}.time-axis-diag-verdict.warn{color:#b26a00}.theme-dark .time-axis-diag-verdict.ok{color:#6fc7b6}.theme-dark .time-axis-diag-verdict.warn{color:#e0a44a}.time-axis-diag-notice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;padding:.45rem .7rem;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.88rem}.time-axis-diag-action{flex:0 0 auto;padding:.15rem .55rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.82rem}.time-axis-diag-action:hover{background:var(--hover-bg)}.time-axis-diag-lazy-note{margin:.5rem 0 0;font-size:.85rem;color:var(--text-secondary)}.modal-dialog-temp-path{width:min(820px,94vw);max-width:none}.modal-dialog-temp-path .modal-message{white-space:pre-line;overflow-wrap:normal;word-break:normal;text-align:left}.modal-dialog-temp-path .modal-content,.modal-dialog-temp-path .modal-icon,.modal-dialog-temp-path .modal-title{text-align:left}.modal-dialog-temp-path .modal-openmodelica-icon{margin:0}.modal-dialog-temp-path .modal-message p{margin:0 0 .9rem}.modal-dialog-temp-path .modal-message p:last-child{margin-bottom:0}.modal-dialog-temp-path .modal-inline-code{display:inline-block;max-width:100%;padding:.35rem .5rem;margin:.15rem 0;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-family:Consolas,Courier New,monospace;font-size:.93rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.plot-settings-dialog{width:min(1180px,calc(100vw - 3rem));height:min(820px,calc(100vh - 3rem));height:min(820px,calc(100dvh - 3rem));min-height:min(560px,calc(100vh - 3rem));min-height:min(560px,calc(100dvh - 3rem));max-width:none;max-height:none;border-radius:18px;border-color:color-mix(in srgb,var(--border-color) 78%,var(--primary-color));box-shadow:0 28px 80px #00000061,0 4px 18px #0000002e}.plot-settings-content{position:relative;display:flex;flex-direction:column;width:100%;height:100%;max-height:none;overflow:hidden;text-align:left;padding:0}.plot-settings-header{display:flex;align-items:center;justify-content:space-between;min-height:72px;flex:0 0 auto;padding:.85rem 1.1rem .85rem 1.35rem;border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-primary) 94%,var(--primary-color))}.plot-settings-heading{display:flex;align-items:center;gap:.8rem;min-width:0}.plot-settings-heading-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#6366f1,#8b5cf6);box-shadow:0 7px 18px color-mix(in srgb,#6366f1 34%,transparent)}.plot-settings-heading-icon-svg{width:23px;height:23px}.plot-settings-title{margin:0;color:var(--text-primary);font-size:1.22rem;font-weight:700;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plot-settings-header-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.plot-settings-header-close svg{width:20px;height:20px}.plot-settings-header-close:hover{color:var(--text-primary);background:var(--hover-bg);border-color:var(--border-color)}.plot-settings-header-close:focus-visible,.plot-settings-topic-button:focus-visible,.plot-settings-panel:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.plot-settings-main{display:flex;flex:1 1 auto;min-width:0;min-height:0}.plot-settings-sidebar{width:270px;flex:0 0 270px;display:flex;flex-direction:column;gap:.38rem;padding:.9rem;overflow-y:auto;border-right:1px solid var(--border-color);background:color-mix(in srgb,var(--sidebar-bg) 88%,var(--primary-color));scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.plot-settings-topic-button{--settings-topic-color: var(--primary-color);position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:.72rem;width:100%;min-height:54px;padding:.45rem .65rem;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text-secondary);text-align:left;font:inherit;cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.plot-settings-topic-button:hover{color:var(--text-primary);background:color-mix(in srgb,var(--settings-topic-color) 8%,var(--bg-primary));border-color:color-mix(in srgb,var(--settings-topic-color) 20%,var(--border-color))}.plot-settings-topic-button.active{color:var(--text-primary);background:color-mix(in srgb,var(--settings-topic-color) 13%,var(--bg-primary));border-color:color-mix(in srgb,var(--settings-topic-color) 36%,var(--border-color));box-shadow:0 4px 14px color-mix(in srgb,var(--settings-topic-color) 10%,transparent)}.plot-settings-topic-button.active:before{content:"";position:absolute;left:-1px;top:11px;bottom:11px;width:3px;border-radius:0 4px 4px 0;background:var(--settings-topic-color)}.plot-settings-topic-icon,.plot-settings-panel-icon{display:grid;place-items:center;color:var(--settings-topic-color);background:color-mix(in srgb,var(--settings-topic-color) 12%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--settings-topic-color) 24%,var(--border-color))}.plot-settings-topic-icon{width:38px;height:38px;border-radius:10px}.plot-settings-topic-button.active .plot-settings-topic-icon{color:#fff;background:var(--settings-topic-color);border-color:var(--settings-topic-color);box-shadow:0 5px 13px color-mix(in srgb,var(--settings-topic-color) 28%,transparent)}.plot-settings-topic-icon-svg{width:21px;height:21px}.plot-settings-topic-label{min-width:0;color:inherit;font-size:.9rem;font-weight:650;line-height:1.22}.plot-settings-panels{flex:1 1 auto;min-width:0;overflow-y:auto;padding:clamp(1.5rem,2.5vw,2.5rem);scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.plot-settings-panel{width:min(100%,820px);margin:0 auto}.plot-settings-panel[hidden]{display:none}.plot-settings-panel-header{--settings-topic-color: var(--primary-color);display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem;padding-bottom:1.15rem;border-bottom:1px solid color-mix(in srgb,var(--settings-topic-color) 24%,var(--border-color))}.plot-settings-panel-icon{width:52px;height:52px;flex:0 0 52px;border-radius:14px}.plot-settings-panel-icon-svg{width:28px;height:28px}.plot-settings-panel-heading-copy{min-width:0}.plot-settings-panel-heading-copy h3{margin:0 0 .28rem;color:var(--text-primary);font-size:clamp(1.3rem,2vw,1.65rem);font-weight:720;letter-spacing:-.025em;line-height:1.15}.plot-settings-help-wrap{position:relative;flex:0 0 auto}.plot-settings-help-btn{width:22px;height:22px}.plot-settings-help-popover{position:absolute;top:calc(100% + .45rem);left:0;width:min(360px,calc(100vw - 64px));margin:0;z-index:8;box-shadow:0 8px 22px #00000029}.plot-settings-help-title{color:var(--text-primary);font-size:.78rem;font-weight:800;margin-bottom:.35rem}.plot-settings-help-row{padding:.42rem 0;border-top:1px solid color-mix(in srgb,var(--border-color) 72%,transparent)}.plot-settings-help-row:first-of-type{border-top:0}.plot-settings-help-row span{display:block;color:var(--text-primary);font-size:.72rem;font-weight:800;margin-bottom:.12rem}.plot-settings-help-row p{margin:0}.plot-settings-intro{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.48}.plot-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.plot-settings-section{margin:0;padding:0;border:0}.downsampling-settings{padding-top:0;border-top:0}.plot-settings-section-header{display:flex;align-items:center;gap:.45rem;margin-bottom:.72rem}.plot-settings-section-title{color:var(--text-primary);font-size:1rem;font-weight:800}.plot-settings-section-intro{margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.38}.plot-settings-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,12rem);align-items:start;gap:.3rem .85rem}.plot-settings-form-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.plot-settings-form-compact .plot-settings-field{display:flex;flex-direction:column;gap:.38rem;padding:.9rem;border:1px solid var(--border-color);border-radius:12px;background:color-mix(in srgb,var(--bg-secondary) 62%,var(--bg-primary))}.plot-settings-label{color:var(--text-primary);font-size:.9rem;font-weight:700}.plot-settings-select{width:100%;min-height:2.35rem;padding:.4rem .58rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.86rem}.plot-settings-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 18%,transparent)}.plot-settings-help{grid-column:1 / -1;color:var(--text-secondary);font-size:.79rem;line-height:1.42}.file-limit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.file-limit-field{display:flex;flex-direction:column;gap:.38rem;min-width:0;padding:.9rem;border:1px solid var(--border-color);border-radius:12px;background:color-mix(in srgb,var(--bg-secondary) 62%,var(--bg-primary))}.file-limit-input-wrap{display:flex;align-items:center;gap:.35rem}.file-limit-input{width:8rem;min-height:2.25rem;padding:.38rem .52rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.86rem;font-variant-numeric:tabular-nums}.file-limit-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 18%,transparent)}.file-limit-unit{color:var(--text-secondary);font-size:.8rem;font-weight:700}.compact-format-limit-field{grid-column:span 2}.compact-format-label-wrap{position:relative;display:inline-flex;align-items:center;gap:.4rem;width:fit-content}.compact-format-help-popover{position:absolute;top:calc(100% + .45rem);left:0;width:min(390px,calc(100vw - 64px));margin:0;z-index:5;box-shadow:0 8px 22px #00000029}.plot-settings-buttons{flex:0 0 auto;justify-content:flex-end;margin:0;padding:.85rem 1.1rem;border-top:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-primary) 94%,var(--primary-color))}.plot-settings-reset{margin-right:auto}@media (max-width: 760px){.plot-settings-dialog{width:calc(100vw - 1.3rem);height:calc(100vh - 1.3rem);height:calc(100dvh - 1.3rem);min-height:0;border-radius:14px}.plot-settings-main{flex-direction:column}.plot-settings-sidebar{width:100%;flex:0 0 auto;flex-direction:row;gap:.4rem;overflow-x:auto;overflow-y:hidden;padding:.62rem;border-right:0;border-bottom:1px solid var(--border-color);scroll-snap-type:x proximity}.plot-settings-topic-button{flex:0 0 min(210px,60vw);min-height:48px;grid-template-columns:35px minmax(0,1fr);scroll-snap-align:start}.plot-settings-topic-button.active:before{left:12px;right:12px;top:auto;bottom:-1px;width:auto;height:3px;border-radius:4px 4px 0 0}.plot-settings-topic-icon{width:34px;height:34px;border-radius:9px}.plot-settings-panels{padding:1.3rem}.plot-settings-form-compact,.file-limit-grid{grid-template-columns:1fr}.compact-format-limit-field{grid-column:auto}}@media (max-width: 430px){.plot-settings-header{min-height:62px;padding:.65rem .7rem .65rem .85rem}.plot-settings-heading-icon{width:35px;height:35px;flex-basis:35px;border-radius:10px}.plot-settings-title{font-size:1.02rem}.plot-settings-topic-button{flex-basis:min(178px,67vw)}.plot-settings-panels{padding:1rem}.plot-settings-panel-icon{width:44px;height:44px;flex-basis:44px;border-radius:12px}.plot-settings-field,.plot-settings-form,.file-limit-grid{grid-template-columns:1fr}.compact-format-limit-field{grid-column:auto}.plot-settings-buttons{align-items:stretch}.plot-settings-buttons .modal-btn{flex:1 1 auto}}@media (prefers-reduced-motion: reduce){.plot-settings-topic-button,.plot-settings-header-close{transition:none}}.modal-dialog-session-missing{width:fit-content;min-width:min(520px,calc(100vw - 32px));max-width:min(820px,calc(100vw - 32px))}.modal-dialog-excel-sheets{min-width:min(420px,calc(100vw - 32px));max-width:min(560px,calc(100vw - 32px))}.excel-sheet-list{max-height:46vh;overflow-y:auto;margin:0 0 1rem;border:1px solid var(--border-color);border-radius:8px;text-align:left}.excel-sheet-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;cursor:pointer}.excel-sheet-row+.excel-sheet-row{border-top:1px solid var(--border-color)}.excel-sheet-row:hover{background:var(--bg-secondary)}.excel-sheet-row-empty{cursor:default;opacity:.55}.excel-sheet-name{flex:1;min-width:0;overflow-wrap:anywhere}.excel-sheet-detail{color:var(--text-secondary);font-size:.85rem;white-space:nowrap}.modal-dialog-session-missing .modal-message{text-align:center}.session-missing-intro{max-width:680px;margin:0 auto .75rem}.session-missing-files{display:inline-block;max-width:100%;margin:0;padding-left:1.25rem;text-align:left}.session-missing-files li{white-space:normal;overflow-wrap:break-word;word-break:normal}.modal-dialog-stats{width:min(1120px,94vw);max-width:none;max-height:88vh}.modal-dialog-stats .modal-content{padding:1.5rem}.modal-dialog-stats .modal-message{margin-bottom:1rem}.stats-table-wrap{width:100%;max-height:62vh;overflow:auto}.stats-table{width:100%;border-collapse:collapse;font-size:.85rem}.stats-table th,.stats-table td{border-bottom:1px solid var(--border-color);padding:.35rem .5rem;text-align:right;white-space:nowrap}.stats-table th:first-child,.stats-table td:first-child{text-align:left}.modal-dialog-csv-pattern-help{width:min(980px,94vw);max-width:none;max-height:88vh}.modal-dialog-csv-pattern-help .modal-content{padding:1.5rem;text-align:left}.modal-dialog-csv-pattern-help .modal-icon{width:2.4rem;height:2.4rem;margin:0 0 .75rem;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:1.25rem;font-weight:800}.modal-dialog-csv-pattern-help .modal-title{text-align:left}.modal-dialog-csv-pattern-help .modal-message{max-height:62vh;margin-bottom:1.15rem;overflow:auto;color:var(--text-primary);text-align:left}.modal-dialog-supported-formats{width:min(1180px,94vw);max-width:none;max-height:88vh}.modal-dialog-supported-formats .modal-content{padding:1.5rem;text-align:left}.modal-dialog-supported-formats .modal-icon{width:2.4rem;height:2.4rem;margin:0 0 .75rem;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:.78rem;font-weight:800;letter-spacing:0}.supported-formats-icon{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.modal-dialog-supported-formats .modal-title{text-align:left}.modal-dialog-supported-formats .modal-message{max-height:62vh;margin-bottom:1.15rem;overflow:auto;color:var(--text-primary);text-align:left}.supported-formats-help{font-size:.9rem;line-height:1.45}.supported-formats-table-wrap{overflow:auto;border:1px solid var(--border-color);border-radius:8px}.supported-formats-table{width:100%;border-collapse:collapse;min-width:700px}.supported-formats-table th,.supported-formats-table td{padding:.58rem .7rem;border-bottom:1px solid var(--border-color);vertical-align:top;text-align:left}.supported-formats-table th{position:sticky;top:0;background:var(--bg-secondary);color:var(--text-primary);font-size:.78rem;text-transform:uppercase}.supported-formats-table tr:last-child td{border-bottom:0}.supported-formats-table code{padding:.1rem .26rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-family:Consolas,Courier New,monospace;font-size:.86em}.feedback-dialog{width:min(92vw,1120px);height:min(92vh,920px);max-width:none;max-height:calc(100vh - 24px)}.feedback-content{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;height:100%;max-height:min(92vh,920px);overflow:hidden;padding:0;text-align:left}.feedback-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.85rem;align-items:start;padding:1.35rem 1.35rem 0}.feedback-icon{width:2.4rem;height:2.4rem;display:grid;place-items:center;margin:0;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);font-size:1.25rem}.feedback-title-wrap{min-width:0}.feedback-title-wrap .modal-title{margin:0}.feedback-intro{margin:.3rem 0 0;color:var(--text-secondary);font-size:.88rem;line-height:1.45}.feedback-draft-note{margin:.35rem 0 0;color:#2e7d32;font-size:.82rem;font-weight:700;line-height:1.4}.theme-dark .feedback-draft-note{color:#81c784}.feedback-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.feedback-body{display:grid;align-content:start;gap:1rem;min-height:0;overflow:auto;padding:1rem 1.35rem}.feedback-field{display:grid;gap:.35rem;color:var(--text-secondary);font-size:.78rem;font-weight:700}.feedback-field:nth-child(3),.feedback-field:nth-child(4),.feedback-field:nth-child(5){grid-column:1 / -1}.feedback-control{width:100%;min-width:0;padding:.58rem .68rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-weight:500}textarea.feedback-control{resize:vertical;min-height:7rem;line-height:1.4}.feedback-control:focus,.feedback-paste-zone:focus,.feedback-file-button:focus-visible{outline:2px solid color-mix(in srgb,var(--primary-color) 45%,transparent);outline-offset:2px}.feedback-attachments{display:grid;gap:.65rem;align-content:start}.feedback-paste-zone{display:grid;place-items:center;min-height:5rem;width:100%;box-sizing:border-box;padding:.9rem;border:1px dashed color-mix(in srgb,var(--primary-color) 48%,var(--border-color));border-radius:8px;background:color-mix(in srgb,var(--primary-color) 5%,var(--bg-primary));color:var(--text-secondary);text-align:center;cursor:default}.feedback-paste-zone.is-dragover{background:color-mix(in srgb,var(--primary-color) 12%,var(--bg-primary));color:var(--text-primary)}.feedback-file-input{display:none}.feedback-file-button{justify-self:start;padding:.58rem .85rem;font-size:.9rem}.feedback-file-list{min-height:1.4rem;color:var(--text-secondary);font-size:.84rem}.feedback-file-list ul{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.feedback-file-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:0;padding:.45rem .55rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.feedback-file-preview,.feedback-file-generic{width:3.4rem;height:2.55rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary)}.feedback-file-preview{display:block;object-fit:cover}.feedback-file-generic{display:grid;place-items:center;color:var(--text-secondary);font-size:.62rem;font-weight:800;letter-spacing:0}.feedback-file-meta{display:grid;gap:.12rem;min-width:0}.feedback-file-name{overflow-wrap:anywhere;color:var(--text-primary);font-weight:600}.feedback-file-size{color:var(--text-secondary);font-size:.78rem}.feedback-file-list li button{flex-shrink:0;border:none;background:transparent;color:var(--primary-color);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}.feedback-total{margin-top:.45rem;font-weight:700}.feedback-total.is-too-large{color:var(--danger-color, #dc2626)}.feedback-safety{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.4}.feedback-next-steps{display:grid;gap:.45rem;padding:.75rem .85rem;border:1px solid color-mix(in srgb,var(--primary-color) 28%,var(--border-color));border-radius:8px;background:color-mix(in srgb,var(--primary-color) 5%,var(--bg-primary))}.feedback-next-steps h3{margin:0;color:var(--text-primary);font-size:.9rem;font-weight:800}.feedback-next-steps p{margin:0;color:var(--text-secondary);font-size:.84rem;line-height:1.42}.feedback-actions{margin-top:0;padding:1rem 1.35rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-primary);justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.feedback-clear-btn{margin-right:auto}@media (max-width: 700px){.feedback-dialog{width:calc(100vw - 16px);height:calc(100vh - 16px);max-height:calc(100vh - 16px)}.feedback-content{max-height:calc(100vh - 16px)}.feedback-header{padding:1rem 1rem 0}.feedback-body{padding:.9rem 1rem}.feedback-actions{padding:.9rem 1rem 1rem}.feedback-fields{grid-template-columns:1fr}.feedback-header{grid-template-columns:auto minmax(0,1fr)}.feedback-close{grid-column:2;grid-row:1;justify-self:end}.feedback-clear-btn{margin-right:0}}.csv-pattern-help{display:grid;gap:1rem;font-size:.9rem;line-height:1.45}.csv-pattern-help p{margin:0}.csv-pattern-help-table-wrap{overflow:auto;border:1px solid var(--border-color);border-radius:8px}.csv-pattern-help-table{width:100%;border-collapse:collapse;min-width:760px}.csv-pattern-help-table th,.csv-pattern-help-table td{padding:.58rem .7rem;border-bottom:1px solid var(--border-color);vertical-align:top;text-align:left}.csv-pattern-help-table th{position:sticky;top:0;background:var(--bg-secondary);color:var(--text-primary);font-size:.78rem;text-transform:uppercase}.csv-pattern-help-table tr:last-child td{border-bottom:0}.csv-pattern-help code{padding:.1rem .26rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-family:Consolas,Courier New,monospace;font-size:.86em}.csv-pattern-help ul{margin:0;padding-left:1.15rem}.csv-pattern-help li{margin:.25rem 0}.modal-buttons{display:flex;gap:.75rem;justify-content:center}.modal-buttons-choice{flex-wrap:wrap}.modal-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.csv-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3600;display:flex;align-items:center;justify-content:center;padding:3vh 3vw;background:#00000094;opacity:0;transition:opacity .22s ease}.csv-preview-overlay.show{opacity:1}.csv-preview-dialog{width:min(1320px,94vw);height:min(860px,90vh);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary)}.csv-preview-header,.csv-preview-toolbar,.csv-preview-footer{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.csv-preview-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto}.csv-preview-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.95rem;line-height:1;cursor:pointer}.csv-preview-close:hover{border-color:var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.csv-preview-title{font-size:1rem;font-weight:700}.csv-preview-subtitle,.csv-preview-confidence{min-width:0;color:var(--text-secondary);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-preview-toolbar{flex-wrap:wrap;background:var(--bg-secondary)}.csv-preview-field{display:inline-flex;align-items:center;gap:.45rem;min-width:0;color:var(--text-secondary);font-size:.78rem}.csv-preview-field select,.csv-preview-field input{min-width:5rem;max-width:15rem;padding:.35rem .45rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.csv-preview-custom-lines{display:inline-flex;align-items:center;gap:.35rem}.csv-preview-custom-lines[hidden]{display:none}.csv-preview-custom-lines input{width:5.8rem;min-width:5.8rem;padding:.35rem .45rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.78rem}.csv-preview-custom-lines-ok{padding:.4rem .65rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.78rem;cursor:pointer}.csv-preview-custom-lines-ok:hover{background:var(--bg-tertiary)}.csv-preview-custom-lines input:disabled,.csv-preview-custom-lines-ok:disabled{opacity:.55;cursor:default}.csv-preview-body{display:grid;grid-template-columns:minmax(0,1fr) .5rem minmax(338px,var(--csv-preview-side-width, 416px));min-height:0}.csv-preview-grid-wrap{min-width:0;min-height:0;overflow:auto}.csv-preview-resizer{min-width:0;min-height:0;cursor:col-resize;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);background:var(--bg-secondary)}.csv-preview-resizer:hover,.csv-preview-resizer:focus-visible,.csv-preview-resizer.is-active{background:color-mix(in srgb,var(--primary-color) 18%,var(--bg-secondary));outline:none}.csv-preview-grid{border-collapse:separate;border-spacing:0;min-width:100%;table-layout:fixed;font-size:.76rem}.csv-preview-grid th,.csv-preview-grid td{width:11rem;max-width:11rem;padding:.32rem .45rem;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-preview-grid thead th{position:sticky;top:0;z-index:2;background:var(--bg-secondary);color:var(--text-secondary);font-weight:700;text-align:center}.csv-preview-grid thead th:first-child,.csv-preview-row-head{position:sticky;left:0;z-index:4;width:3.2rem;min-width:3.2rem;max-width:3.2rem;background:var(--bg-secondary);color:var(--text-secondary);text-align:right;cursor:default}.csv-preview-grid thead th:first-child{z-index:5;text-align:center}.csv-preview-grid .csv-preview-parsed-head,.csv-preview-grid .csv-preview-parsed-cell{position:sticky;left:3.2rem;width:13.5rem;max-width:13.5rem;font-variant-numeric:tabular-nums}.csv-preview-grid .csv-preview-parsed-head{z-index:3}.csv-preview-grid .csv-preview-parsed-cell{z-index:2;background:color-mix(in srgb,#1976d2 8%,var(--bg-primary))}.csv-preview-grid tr.is-skipped td{background:color-mix(in srgb,var(--text-secondary) 8%,var(--bg-primary))}.csv-preview-grid tr.is-header-row td{background:color-mix(in srgb,#1976d2 18%,var(--bg-primary))}.csv-preview-grid tr.is-units-row td{background:color-mix(in srgb,#00897b 18%,var(--bg-primary))}.csv-preview-grid tr.is-detected-units-row th,.csv-preview-grid tr.is-detected-units-row td,.csv-preview-grid tr.is-new-names-row th,.csv-preview-grid tr.is-new-names-row td{background:color-mix(in srgb,#1976d2 14%,var(--bg-primary));color:var(--text-secondary);font-weight:700;font-style:italic}.csv-preview-grid tr.is-empty-row td{background:color-mix(in srgb,var(--text-secondary) 5%,var(--bg-primary))}.csv-preview-grid tr.csv-preview-message-row td{padding:1.25rem;color:var(--text-primary);background:var(--bg-primary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);text-align:center;font-style:italic;white-space:normal}.csv-preview-grid tr.csv-preview-message-row.is-hidden-message td{background:color-mix(in srgb,var(--warning-color) 18%,var(--bg-primary));border-color:color-mix(in srgb,var(--warning-color) 45%,var(--border-color))}.csv-preview-grid tr.csv-preview-message-row.is-load-more-message td{background:color-mix(in srgb,var(--primary-color) 16%,var(--bg-primary));border-color:color-mix(in srgb,var(--primary-color) 42%,var(--border-color))}.csv-preview-grid tr.is-filtered-row td{color:var(--text-secondary);background:color-mix(in srgb,#b45309 10%,var(--bg-primary))}.csv-preview-grid tr.is-invalid-row td,.csv-preview-grid tr.is-invalid-row th{background:color-mix(in srgb,#d32f2f 18%,var(--bg-primary))}.csv-preview-grid td.is-time-column{background:color-mix(in srgb,#2e7d32 18%,var(--bg-primary))}.csv-preview-grid td.is-invalid-cell{background:color-mix(in srgb,#d32f2f 24%,var(--bg-primary))}.csv-preview-grid tr.is-invalid-row td.is-time-column,.csv-preview-grid tr.is-invalid-row td.is-invalid-cell{background:color-mix(in srgb,#d32f2f 26%,var(--bg-primary))}.csv-preview-side{min-width:0;min-height:0;overflow:auto;padding:.85rem;background:var(--bg-secondary)}.csv-preview-side-title{margin:.2rem 0 .55rem;color:var(--text-primary);font-size:.78rem;font-weight:700}.csv-preview-side-note{margin:-.25rem 0 .65rem;color:var(--text-secondary);font-size:.72rem;line-height:1.35}.csv-preview-column-actions{display:flex;justify-content:flex-end;margin:-.35rem 0 .65rem}.csv-preview-small-button{border:1px solid var(--border-color);border-radius:4px;padding:.28rem .55rem;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:.72rem;cursor:pointer}.csv-preview-small-button:hover,.csv-preview-small-button:focus-visible{border-color:var(--accent);color:var(--accent)}.csv-preview-side .csv-preview-field{width:100%;display:grid;grid-template-columns:minmax(6.4rem,.78fr) minmax(12.5rem,1.22fr);justify-content:normal;margin-bottom:.55rem}.csv-preview-side .csv-preview-field select,.csv-preview-side .csv-preview-field input{width:100%;max-width:none;min-width:0}.csv-preview-field select:disabled,.csv-preview-field input:disabled,.csv-preview-field select.is-empty-disabled,.csv-preview-field input.is-empty-disabled{border-color:color-mix(in srgb,var(--border-color) 70%,var(--text-secondary));background:color-mix(in srgb,var(--bg-secondary) 82%,var(--text-secondary));color:var(--text-secondary);opacity:.72;cursor:not-allowed}.csv-preview-field input.is-empty-disabled::placeholder{color:transparent}.csv-preview-pattern-control{display:grid;grid-template-columns:minmax(0,1fr) 2rem;gap:.35rem;min-width:0}.csv-preview-mode-control,.csv-preview-date-order-control,.csv-preview-format-control{display:grid;grid-template-columns:minmax(0,1fr) 2rem;gap:.35rem;min-width:0;position:relative}.csv-preview-pattern-control input,.csv-preview-mode-control select,.csv-preview-date-order-control select,.csv-preview-format-control select{min-width:0}.csv-preview-pattern-help,.csv-preview-date-order-help,.csv-preview-mode-help{display:grid;place-items:center;width:2rem;min-width:2rem;height:2rem;padding:0;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;font-weight:800;cursor:help}.csv-preview-pattern-help,.csv-preview-date-order-help,.csv-preview-mode-help{background:#fff3b0;border-color:#e3c55a;color:#5f4b00}.csv-preview-pattern-help:hover,.csv-preview-pattern-help:focus-visible,.csv-preview-date-order-help:hover,.csv-preview-date-order-help:focus-visible,.csv-preview-date-order-help.active,.csv-preview-mode-help:hover,.csv-preview-mode-help:focus-visible{border-color:var(--primary-color);background:var(--bg-tertiary);outline:none}.csv-preview-date-order-popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:8;width:min(18rem,80vw);padding:.65rem .7rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);box-shadow:0 8px 22px #0003}.csv-preview-date-order-title{margin-bottom:.4rem;font-size:.78rem;font-weight:700}.csv-preview-date-order-row{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:.45rem;padding:.32rem 0;border-top:1px solid var(--border-color);font-size:.74rem;line-height:1.35}.csv-preview-date-order-row:first-of-type{border-top:0}.csv-preview-date-order-row code{align-self:start;padding:.08rem .22rem;border-radius:4px;background:var(--hover-bg);color:var(--text-primary);font-weight:700}.csv-preview-mode-help:hover,.csv-preview-mode-help:focus-visible{background:#ffe680;border-color:#d3ad2f}.csv-preview-check{display:flex;align-items:center;gap:.45rem;margin-bottom:.55rem;color:var(--text-secondary);font-size:.78rem}.csv-preview-check.is-disabled{opacity:.7;cursor:not-allowed}.csv-preview-check input:disabled{cursor:not-allowed}.csv-preview-column-list{display:grid;gap:.4rem;margin-bottom:.75rem}.csv-preview-column-control{display:grid;grid-template-columns:1.2rem minmax(0,1fr);gap:.35rem .45rem;align-items:center}.csv-preview-column-control.is-protected-column{opacity:.72}.csv-preview-column-control input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed;accent-color:var(--text-secondary)}.csv-preview-column-control input[type=text]{min-width:0;width:100%;padding:.32rem .4rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.76rem}.csv-preview-column-raw{grid-column:2;min-width:0;color:var(--text-secondary);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-preview-status{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color);font-size:.76rem;line-height:1.35}.csv-preview-status-ok{color:#2e7d32;font-weight:700}.csv-preview-status-error,.csv-preview-warning{color:#b45309}.csv-preview-warning,.csv-preview-note{margin-top:.4rem}.csv-preview-note{color:var(--text-secondary)}.csv-preview-footer{justify-content:space-between;border-top:1px solid var(--border-color);border-bottom:0}.csv-preview-footer-left,.csv-preview-footer-right{display:flex;align-items:center;gap:.55rem}.csv-preview-footer-left button{padding:.55rem .8rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.csv-preview-footer-left button:hover,.csv-preview-footer-left button:focus-visible{background:var(--bg-tertiary);border-color:var(--primary-color);outline:none}.csv-preview-footer-left button:active{transform:translateY(1px)}@media (max-width: 760px){.csv-preview-dialog{width:96vw;height:94vh}.csv-preview-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.csv-preview-grid-wrap{border-bottom:1px solid var(--border-color)}.csv-preview-resizer{display:none}.csv-preview-side{max-height:38vh}.csv-preview-side .csv-preview-field{grid-template-columns:minmax(6rem,1fr) minmax(10rem,1.25fr)}}.modal-buttons-choice .modal-btn{flex:1 1 11rem}.modal-btn-cancel{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.modal-btn-cancel:hover{background-color:var(--bg-tertiary)}.modal-btn-confirm{background-color:var(--primary-color);color:#fff}.modal-btn-confirm:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2196f366}.modal-btn-secondary-confirm{background-color:color-mix(in srgb,var(--primary-color) 16%,var(--bg-secondary));color:var(--text-primary);border:1px solid color-mix(in srgb,var(--primary-color) 45%,var(--border-color))}.modal-btn-secondary-confirm:hover{background-color:color-mix(in srgb,var(--primary-color) 24%,var(--bg-secondary));transform:translateY(-1px)}.modal-btn-confirm:active,.modal-btn-cancel:active{transform:translateY(0)}.example-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3200;display:flex;align-items:center;justify-content:center;background-color:#0000007a;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;transition:opacity .2s ease;pointer-events:all}.example-loading-overlay.show{opacity:1}.example-loading-dialog{width:min(360px,calc(100vw - 32px));padding:1.5rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);text-align:center}.modal-dialog-mat-variables{width:min(980px,calc(100vw - 32px));max-width:none;height:min(90vh,920px);max-height:90vh}.modal-dialog-mat-variables .modal-content{box-sizing:border-box;height:100%;padding:clamp(1rem,2.2vh,2rem);display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto;overflow:hidden}.modal-dialog-mat-variables .modal-buttons{padding-top:.65rem}.modal-dialog-mat-variables .modal-icon{margin-bottom:.35rem}.modal-dialog-mat-variables .modal-title{margin-bottom:.45rem}.modal-dialog-mat-variables .modal-message{margin-bottom:.75rem}.mat-picker-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.mat-picker-toolbar .modal-btn{padding:.35rem .7rem}.mat-picker-toolbar .mat-picker-filter-wrap{flex:1 1 16rem;min-width:10rem;margin:0 0 0 .2rem}.mat-variable-table-wrap{min-height:0;max-height:none;overflow:auto;border:1px solid var(--border-color);border-radius:8px}.mat-variable-table{width:100%;border-collapse:collapse;font-size:.84rem;text-align:left}.mat-variable-table th,.mat-variable-table td{padding:.45rem .6rem;border-bottom:1px solid var(--border-color);vertical-align:top}.mat-variable-table th{position:sticky;top:0;z-index:1;background:var(--bg-secondary);color:var(--text-secondary)}.mat-variable-name{min-width:160px;overflow-wrap:anywhere}.mat-variable-name-wrap{display:inline-flex;align-items:flex-start;gap:.4rem}.mat-matrix-disclosure,.mat-matrix-transpose{flex:0 0 auto;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.mat-matrix-disclosure{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;padding:0;line-height:1}.mat-matrix-disclosure svg{display:block;width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .12s ease}.mat-matrix-disclosure[aria-expanded=true] svg{transform:rotate(90deg)}.mat-matrix-controls{display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin-top:.35rem}.mat-matrix-orientation{font-size:.76rem;color:var(--text-secondary)}.mat-matrix-transpose{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;min-height:1.8rem;padding:.1rem .35rem;font-size:1rem}.mat-matrix-transpose svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mat-matrix-transpose:disabled{cursor:not-allowed;opacity:.42}.mat-variable-matrix-row{background:color-mix(in srgb,var(--accent-color, #3b82f6) 5%,transparent)}.mat-variable-child-row td{background:var(--bg-secondary);color:var(--text-secondary)}.mat-variable-child-row .mat-variable-name{padding-left:2.55rem}.mat-variable-preview{max-width:320px;color:var(--text-secondary);overflow-wrap:anywhere}.mat-variable-unsupported{opacity:.55}.mat-picker-time-row{display:grid;grid-template-columns:max-content minmax(180px,1fr);align-items:center;gap:.75rem;margin-top:.75rem;text-align:left}.mat-picker-validation{margin-top:.65rem;color:var(--danger-color, #c0392b);font-size:.82rem;text-align:left}#file-loading-overlay .example-loading-dialog{width:clamp(22rem,65vw,48rem);max-width:calc(100vw - 2rem);box-sizing:border-box}#file-loading-hint{overflow-wrap:anywhere}.example-loading-spinner{width:36px;height:36px;margin:0 auto 1rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:example-loading-spin .8s linear infinite}.example-loading-title{font-size:1rem;font-weight:600;margin-bottom:.5rem}.example-loading-hint{font-size:.82rem;color:var(--text-secondary)}@keyframes example-loading-spin{to{transform:rotate(360deg)}}.desktop-download-overlay{background:color-mix(in srgb,#08111f 62%,transparent);backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%);padding:1rem}.desktop-download-dialog{width:min(1120px,calc(100vw - 2rem));max-width:none;max-height:min(760px,calc(100dvh - 2rem));border-radius:22px;border-color:color-mix(in srgb,var(--border-color) 72%,#6366f1);box-shadow:0 30px 90px #0000006b,0 6px 24px #0003}.desktop-download-content{display:flex;flex-direction:column;max-height:min(760px,calc(100dvh - 2rem));padding:0;overflow:hidden;text-align:left}.desktop-download-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--border-color);background:radial-gradient(circle at 12% -60%,color-mix(in srgb,#8b5cf6 25%,transparent),transparent 50%),color-mix(in srgb,var(--bg-primary) 94%,#6366f1)}.desktop-download-heading{display:flex;align-items:center;gap:.85rem;min-width:0}.desktop-download-heading-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;color:#fff;background:linear-gradient(145deg,#2563eb,#8b5cf6);box-shadow:0 9px 24px color-mix(in srgb,#6366f1 42%,transparent)}.desktop-download-heading-icon svg{width:25px;height:25px}.desktop-download-heading-copy{display:flex;flex-direction:column;min-width:0}.desktop-download-heading-copy h2{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:750;letter-spacing:-.02em}.desktop-download-version{margin-top:.14rem;color:var(--text-secondary);font-size:.8rem;font-weight:650}.desktop-download-version-separator{margin:0 .4rem;opacity:.55}.desktop-download-version .desktop-download-release-link{font-size:inherit;text-decoration:underline;text-underline-offset:.15em}.desktop-download-close{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;padding:0;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.desktop-download-close svg{width:21px;height:21px}.desktop-download-close:hover{color:var(--text-primary);background:var(--hover-bg);border-color:var(--border-color)}.desktop-download-intro{flex:0 0 auto;margin:0;padding:1.05rem 1.35rem 0;color:var(--text-secondary);font-size:.92rem;line-height:1.5}.desktop-download-availability-note+.desktop-download-intro{padding-top:.18rem}.desktop-download-grid{display:grid;flex:1 1 auto;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;padding:1rem 1.35rem 1.25rem;overflow:auto}.desktop-platform-card{--desktop-platform-color: #64748b;position:relative;display:flex;flex-direction:column;min-width:0;padding:1rem;border:1px solid color-mix(in srgb,var(--border-color) 78%,var(--desktop-platform-color));border-radius:17px;background:linear-gradient(155deg,color-mix(in srgb,var(--desktop-platform-color) 8%,var(--bg-primary)),var(--bg-primary) 46%);box-shadow:0 8px 24px color-mix(in srgb,#000 10%,transparent);overflow:hidden}.desktop-platform-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--desktop-platform-color);opacity:.88}.desktop-platform-windows{--desktop-platform-color: #0a84ff}.desktop-platform-macos{--desktop-platform-color: #8b5cf6}.desktop-platform-linux{--desktop-platform-color: #f59e0b}.desktop-platform-card.is-coming-soon{background:color-mix(in srgb,var(--bg-secondary) 78%,var(--bg-primary))}.desktop-platform-card.is-coming-soon:before{opacity:.45}.desktop-platform-top{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:.75rem}.desktop-platform-logo-wrap{display:grid;place-items:center;width:58px;height:58px;border:1px solid color-mix(in srgb,var(--desktop-platform-color) 30%,var(--border-color));border-radius:16px;background:color-mix(in srgb,var(--desktop-platform-color) 11%,var(--bg-primary))}.desktop-platform-logo{width:34px;height:34px;object-fit:contain}.theme-dark .desktop-platform-logo-macos,.theme-dark .desktop-platform-logo-linux{filter:invert(1) brightness(1.15)}.desktop-platform-heading{min-width:0}.desktop-platform-heading h3{margin:0;color:var(--text-primary);font-size:1.08rem;font-weight:750}.desktop-platform-heading p{margin:.2rem 0 0;color:var(--text-secondary);font-size:.75rem;line-height:1.35}.desktop-platform-status{grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;min-height:24px;margin-top:.7rem;padding:.18rem .58rem;border-radius:999px;font-size:.69rem;font-weight:750;letter-spacing:.025em;text-transform:uppercase}.desktop-platform-status.is-available{color:#08783e;background:color-mix(in srgb,#22c55e 18%,var(--bg-primary))}.theme-dark .desktop-platform-status.is-available{color:#86efac}.desktop-platform-status.is-publishing{color:#9a5b00;background:color-mix(in srgb,#f59e0b 19%,var(--bg-primary))}.theme-dark .desktop-platform-status.is-publishing{color:#fcd34d}.desktop-platform-status.is-coming-soon{color:var(--text-secondary);background:var(--bg-tertiary)}.desktop-download-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:1rem}.desktop-download-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;min-height:62px;padding:.62rem .7rem;border:1px solid color-mix(in srgb,var(--desktop-platform-color) 38%,var(--border-color));border-radius:11px;background:var(--bg-primary);color:var(--text-primary);font:inherit;text-align:left;text-decoration:none;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}a.desktop-download-action:hover{transform:translateY(-1px);border-color:var(--desktop-platform-color);background:color-mix(in srgb,var(--desktop-platform-color) 8%,var(--bg-primary));box-shadow:0 7px 18px color-mix(in srgb,var(--desktop-platform-color) 16%,transparent)}.desktop-download-action strong{display:block;max-width:100%;overflow:hidden;color:inherit;font-size:.81rem;text-overflow:ellipsis;white-space:nowrap}.desktop-download-action span{display:block;max-width:100%;margin-top:.2rem;overflow:hidden;color:var(--text-secondary);font-size:.66rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}button.desktop-download-action:disabled{cursor:not-allowed;opacity:.52}.desktop-download-close:focus-visible,.desktop-download-action:focus-visible,.desktop-download-release-link:focus-visible,.desktop-download-footer-close:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.desktop-download-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;border-top:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-secondary) 62%,var(--bg-primary))}.desktop-download-notes{min-width:0}.desktop-download-notes p{margin:0;color:var(--text-secondary);font-size:.68rem;line-height:1.35}.desktop-download-notes .desktop-download-unsigned-note{margin-top:.18rem;padding:.55rem .7rem;border:1px solid color-mix(in srgb,var(--warning-color) 55%,var(--border-color));border-radius:8px;background:color-mix(in srgb,var(--warning-color) 9%,var(--bg-primary));color:color-mix(in srgb,var(--warning-color) 80%,var(--text-primary));font-size:.68rem;line-height:1.35}.desktop-download-unsigned-note p,.desktop-download-unsigned-list{margin:0}.desktop-download-unsigned-note p{color:inherit}.desktop-download-unsigned-list{display:grid;gap:.18rem;margin-top:.38rem;padding-left:1.15rem;font-size:inherit;line-height:inherit}.desktop-download-unsigned-list li::marker{color:var(--warning-color)}.desktop-download-footer-actions{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}.desktop-download-release-link{color:var(--primary-color);font-size:.78rem;font-weight:650;text-decoration:none;white-space:nowrap}.desktop-download-release-link:hover{text-decoration:underline}.desktop-download-footer-close{min-width:92px}@media (max-width: 900px){.desktop-download-dialog,.desktop-download-content{max-height:calc(100dvh - 1.25rem)}.desktop-download-grid{grid-template-columns:1fr}.desktop-platform-card{min-height:0}}@media (max-width: 600px){.desktop-download-overlay{padding:.4rem}.desktop-download-dialog{width:calc(100vw - .8rem);border-radius:16px}.desktop-download-header,.desktop-download-footer{padding:.8rem}.desktop-download-heading-icon{width:40px;height:40px;flex-basis:40px}.desktop-download-heading-copy h2{font-size:1.05rem}.desktop-download-intro{padding:.8rem .85rem 0}.desktop-download-availability-note+.desktop-download-intro{padding-top:.18rem}.desktop-download-grid{padding:.8rem .85rem 1rem}.desktop-download-footer{align-items:stretch;flex-direction:column}.desktop-download-footer-actions{justify-content:space-between}}.sidebar-author{padding:.75rem 1rem;font-size:.78rem;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:auto;text-align:center}.sidebar-author a{color:var(--primary-color);text-decoration:none}.sidebar-author a:hover{text-decoration:underline}.state-anim-container{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden;position:relative}.state-anim-container .plotly-container{flex:1;min-height:0}.camera-debug-overlay{position:absolute;top:34px;right:10px;z-index:5;max-width:min(360px,calc(100% - 20px));margin:0;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:color-mix(in srgb,var(--bg-primary) 88%,transparent);color:var(--text-primary);font-family:Consolas,Courier New,monospace;font-size:.72rem;line-height:1.35;white-space:pre-wrap;-webkit-user-select:text;user-select:text;box-shadow:var(--shadow-md)}.state-anim-slots{padding:4px 8px;font-size:.72rem;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);white-space:nowrap;overflow-x:auto;flex-shrink:0}.sa-slot-row{padding:1px 0}.sa-slot-row b{color:var(--text-primary);display:inline-block;min-width:42px}.sa-slot-var{color:var(--primary-color);font-weight:600}.sa-slot-der{color:var(--success-color);font-weight:600}.sa-slot-noder{color:var(--text-muted);opacity:.8;font-style:italic}.sa-slot-noder .sa-emoji{font-style:normal}.state-anim-controls{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--bg-tertiary);border-top:1px solid var(--border-color);flex-shrink:0;flex-wrap:wrap}.sa-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.8rem;padding:3px 8px;line-height:1.2;transition:background-color .15s}.sa-btn:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.sa-scrubber{flex:1;min-width:60px;cursor:pointer;accent-color:var(--primary-color)}.sa-time-label{font-size:.72rem;color:var(--text-secondary);min-width:90px;text-align:center;font-family:Consolas,Courier New,monospace}.sa-speed{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.72rem;padding:2px 4px;cursor:pointer}.sa-toggle{display:flex;align-items:center;gap:3px;font-size:.72rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.sa-toggle input[type=checkbox]{cursor:pointer;margin:0}.sa-vector-label{position:relative;display:inline-block;min-width:.8rem;line-height:1}.sa-vector-base{display:inline-block}.sa-vector-arrow{position:absolute;left:50%;top:-.36em;transform:translate(-50%) scaleX(.88);font-size:.72em;line-height:1;pointer-events:none}body.sync-hover-active .plotly-mode-timeseries .hoverlayer .hovertext{display:none!important}@media (max-width: 768px){.sidebar{position:absolute;height:100%;z-index:100;box-shadow:2px 0 8px #0000001a}.top-bar{padding:.5rem 1rem}.top-bar-left h1{font-size:1rem}.app-brand{max-width:10rem}.app-subtitle{font-size:.66rem}}.example-loading-cancel{margin-top:1.1rem;min-width:8rem}.modal-dialog-plot-export{width:min(560px,calc(100vw - 32px));max-width:none}.modal-dialog-plot-export .modal-content{text-align:left;padding:1.5rem 1.75rem;max-height:calc(100vh - 32px);overflow-y:auto}.modal-dialog-plot-export .modal-icon,.modal-dialog-plot-export .modal-title{text-align:center}.plot-export-icon{margin-bottom:.5rem}.plot-export-icon svg{display:block;width:2rem;height:2rem;margin:0 auto;color:var(--primary-color)}.modal-dialog-plot-export .modal-message{text-align:center;font-size:.9rem;color:var(--text-secondary);margin-bottom:.9rem}.export-section{margin-bottom:.9rem}.export-section[hidden]{display:none}.export-option-grid{display:flex;flex-direction:column;gap:.4rem}.export-option-grid-compact{flex-direction:row;flex-wrap:wrap}.export-option-grid-compact .export-option{flex:1 1 8rem;align-items:center}.export-option-grid-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.export-option-grid-2col .export-option{align-items:center}.export-option-grid-2col .export-option input{margin-top:0}.export-option{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .7rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);cursor:pointer}.export-option:hover{background:var(--hover-bg)}.export-option:has(input:checked){border-color:var(--primary-color)}.export-option-disabled,.export-option-disabled:hover{cursor:not-allowed;opacity:.6;background:var(--bg-secondary)}.export-option input{margin-top:.15rem;flex:0 0 auto;cursor:inherit}.export-option-grid-compact .export-option input{margin-top:0}.export-option-text{min-width:0}.export-option-label{font-weight:600;font-size:.92rem;color:var(--text-primary)}.export-option-hint{margin-top:.15rem;font-size:.82rem;line-height:1.35;color:var(--text-secondary)}.export-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.export-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;cursor:pointer}.export-chip:has(input:checked){border-color:var(--primary-color);background:var(--hover-bg)}.export-hint-line{margin-top:.4rem;font-size:.82rem;color:var(--text-secondary)}.export-name-row{display:flex;align-items:center;gap:.4rem}.export-name-input{flex:1 1 auto;min-width:0;padding:.35rem .5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.9rem}.export-name-input:focus{outline:none;border-color:var(--primary-color)}.export-name-ext{flex:0 0 auto;font-family:Consolas,Courier New,monospace;font-size:.9rem;color:var(--text-secondary)}
