:root{--sidebar-width:400px;--plot-bg:#fff;--sidebar-bg:#fafaf7;--border-color:#e6e3dc;--text-color:#1a1a17;--font-family-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ui-size:28px;--ui-font-size:11px}*{box-sizing:border-box}:where(a[href],area,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}body,html,#root{width:100%;height:100%;font-family:var(--font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);color:var(--text-color);margin:0;padding:0;overflow:hidden}.app-container{width:100vw;height:100vh;display:flex}.plot-area{background-color:var(--plot-bg);flex:1;position:relative;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:none;outline:none;padding:0}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.error-page h1{color:var(--danger);margin-bottom:20px}.error-page>p{color:var(--text-muted-color);margin-bottom:10px}.error-page pre{background:var(--bg2);text-align:left;max-width:100%;margin-bottom:20px;padding:10px;font-size:12px;overflow:auto}.error-page-reset{background:var(--accent);color:var(--bg);padding:10px 20px}.error-component{border:1px solid var(--danger);color:var(--danger);padding:20px}.error-component-reset{background:var(--danger);color:var(--bg);margin-top:8px;padding:8px 16px}.axis-zone:focus-visible{outline-offset:-2px}.chart-action-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.chart-action-btn:hover{background-color:var(--bg3)}.collapsed-menu-btns{z-index:2000;background:var(--bg);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow);display:flex;position:fixed;bottom:16px;right:16px}.collapsed-menu-btn{cursor:pointer;width:36px;height:36px;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.collapsed-menu-btn:hover{background-color:var(--bg3);border-radius:4px}.collapsed-menu-btn img{width:18px;height:18px}.popup-picker-popover{z-index:10001;background:var(--bg);border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow);box-sizing:border-box;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute}.popup-picker-item{cursor:pointer;color:var(--text-color);text-align:left;white-space:nowrap;box-sizing:border-box;background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;font-size:.8rem;display:flex}.popup-picker-item:hover:not(:disabled){background:var(--bg3)}.popup-picker-item:disabled{opacity:.4;cursor:default}.popup-picker-item--active{background:var(--bg3);font-weight:600}.popup-picker-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.popup-picker-label{text-overflow:ellipsis;flex:1;max-width:240px;overflow:hidden}.ssp-popover{gap:6px;padding:4px}.ssp-styles{border-top:1px solid var(--border-color);gap:4px;padding-top:4px;display:flex}.ssp-grid{grid-template-columns:repeat(4,auto);gap:1px;display:grid}.ssp-widths{border-left:1px solid var(--border-color);flex-direction:column;gap:1px;padding-left:4px;display:flex}.ssp-cell,.ssp-width{cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:2px;font-size:.75rem;display:flex}.ssp-width-label{text-align:right;min-width:1.6em;color:var(--text-color)}.ssp-cell:hover,.ssp-cell[aria-pressed=true],.ssp-width:hover:not(:disabled),.ssp-width[aria-pressed=true]{background:var(--bg3)}.ssp-cell[aria-pressed=true],.ssp-width[aria-pressed=true]{outline:1px solid var(--text-light);outline-offset:-1px}.ssp-width[aria-pressed=true] .ssp-width-label{font-weight:600}.ssp-width:disabled{opacity:.4;cursor:default}.ssp-swatch{display:block}.sc-axis-swatches{flex-shrink:0;gap:2px;display:inline-flex}.sc-axis-swatch{border-radius:2px;width:8px;height:8px}.color-picker-panel{flex-direction:column;gap:6px;display:flex}.color-picker-panel,.color-picker-panel *{box-sizing:border-box}.color-picker-grid-vertical{background:0 0;grid-template-rows:16px 3px repeat(5,16px);grid-auto-columns:1fr;grid-auto-flow:column;gap:0;width:100%;display:grid}.color-picker-column,.color-picker-main-color,.color-picker-shades{display:contents}.color-picker-grid-spacer{grid-row:2;height:3px}.color-picker-palette-btn{cursor:pointer;border:none;flex-shrink:0;width:100%;height:16px;padding:0;transition:none;display:block}.color-picker-palette-btn:hover{z-index:2;transform:scale(1.35)}.color-picker-inputs{gap:6px;display:flex}.color-picker-input-group{flex:1;align-items:center;gap:4px;display:flex}.color-picker-label{color:var(--text-muted);text-transform:uppercase;flex-shrink:0;font-size:9px}.color-picker-input{background:var(--bg2);border:1px solid var(--border-color);color:var(--text);width:100%;padding:2px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.color-picker-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.color-picker-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-picker-input[type=number]{appearance:textfield}.color-picker-rgb-inputs{flex:1;gap:3px;display:flex}.color-picker-input-group:first-child{flex:none}.color-picker-input-group:first-child .color-picker-input{box-sizing:content-box;width:7.5ch}.color-picker-rgb-inputs .color-picker-input{text-align:center;flex:1;width:0}.sc-row{border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);font-size:var(--ui-font-size);grid-template-columns:24px repeat(5, var(--ui-size)) 1fr var(--ui-size);align-items:center;display:grid;overflow:hidden}.sb-series-row+.sb-series-row .sc-row{border-top:none}.sc-row--hidden{opacity:.5}.sc-btn{width:var(--ui-size);height:var(--ui-size);font-size:var(--ui-font-size);color:var(--text-muted-color);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.sc-btn--plain{background:0 0}.sc-btn--log,.sb-xaxis-log-btn{font-family:var(--font-family-mono);font-size:10px;font-weight:700}.sc-btn--off{color:var(--text-muted-color);opacity:.5;position:relative}.sc-btn--off:after{content:"";pointer-events:none;background:linear-gradient(to bottom left,#0000 calc(50% - .75px),#dc3545 calc(50% - .75px) calc(50% + .75px),#0000 calc(50% + .75px));position:absolute;inset:6px}.sc-drag-handle{width:24px;height:var(--ui-size);background:var(--bg2);color:var(--text-muted-color);cursor:grab;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sc-drag-handle:active{cursor:grabbing}.sc-shared-axis{height:var(--ui-size);color:var(--text-muted-color);opacity:.45;cursor:help;grid-column:span 3;justify-content:center;align-items:center;display:flex}.sc-column-cell{align-items:center;min-width:0;display:flex}.sc-eye{width:22px}.sc-select{width:100%;font-size:var(--ui-font-size);height:var(--ui-size);min-width:0;color:var(--text-muted-color);background:0 0;border:none;flex:1;padding:2px}.legend-container{z-index:10;background:var(--tooltip-bg);border:1px solid var(--tooltip-border);max-width:200px;box-shadow:0 2px 8px var(--shadow);cursor:move;-webkit-user-select:none;user-select:none;padding:4px 0;font-size:11px;position:absolute}.legend-item{cursor:pointer;align-items:center;gap:6px;padding:2px 8px;display:flex}.legend-item:hover{background:var(--bg2)}.legend-line-icon{flex-shrink:0}.legend-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend-label--hidden{text-decoration:line-through}.chart-abs-fill{pointer-events:none;position:absolute;inset:0}.chart-webgl-layer{z-index:1;position:absolute;inset:0}.chart-tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);pointer-events:none;z-index:20;max-width:300px;color:var(--tooltip-color);padding:6px 8px;font-size:11px;position:absolute}.chart-tooltip-x-label{font-size:10px;font-weight:700}.chart-tooltip-item{font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;display:flex}.chart-tooltip-items{font-variant-numeric:tabular-nums}.chart-tooltip-item-row{grid-template-columns:auto auto auto;column-gap:0;display:grid}.chart-tooltip-item-row[hidden]{display:none}.chart-tooltip-item-label{padding-right:4px}.chart-tooltip-swatch{vertical-align:middle;width:12px;height:0;margin-right:5px;display:inline-block}.chart-tooltip-swatch[data-dot=true]{border-radius:50%;width:6px;height:6px;margin:0 8px 0 3px}.chart-tooltip-value-int{text-align:right;font-weight:700}.chart-tooltip-value-dec{text-align:left;font-weight:700}.sidebar{width:var(--sidebar-width);background-color:var(--bg2);border-left:1px solid var(--border-color);height:100%;box-shadow:-2px 0 10px var(--shadow);-webkit-user-select:none;user-select:none;z-index:1000;flex-direction:column;flex-shrink:0;display:flex;position:relative}.sb-resizer{cursor:col-resize;z-index:2;touch-action:none;width:6px;position:absolute;top:0;bottom:0;left:-3px}.sb-resizer:hover,.sb-resizer:focus-visible{background:var(--accent-color);opacity:.5;outline:none}.sb-header{background:var(--bg);border-bottom:1px solid var(--border-color);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;display:flex;overflow:hidden}.sb-logo-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.sb-logo{flex-shrink:0;width:24px;height:24px;margin-right:4px}.sb-hdr-btns{flex-wrap:nowrap;flex:1;align-items:center;gap:2px;display:flex}.sb-hdr-btn{color:var(--text-muted-color);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:background-color .2s;display:flex;position:relative}.sb-hdr-btn:hover{background-color:var(--bg3);border-radius:4px}.sb-hdr-btn--off:after{content:"";pointer-events:none;background:linear-gradient(to bottom left,#0000 calc(50% - 1.25px),#dc3545 calc(50% - 1.25px) calc(50% + 1.25px),#0000 calc(50% + 1.25px));position:absolute;inset:4px}.sb-hdr-sep{background:var(--border-color);width:1px;height:16px;margin:0 2px}.sb-spacer{flex:1}.sb-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden auto}.sb-section{padding:8px 0 16px}.sb-section-header{justify-content:space-between;align-items:center;gap:8px;min-height:24px;margin-bottom:4px;padding-right:10px;display:flex}.sb-section-toggle{cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:0;display:flex}.sb-section-title{color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.08em;margin:0;padding-left:10px;font-size:.7rem;font-weight:700}.sb-dataset-meta{white-space:nowrap;color:var(--text-muted-color);opacity:.85;font-size:.7rem;font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}.sb-xaxis-btn-mono{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}.sb-series-list{flex-direction:column;display:flex}.sb-series-header{grid-template-columns:24px repeat(5, var(--ui-size)) 1fr var(--ui-size);color:var(--text-light);z-index:1;padding:4px 0;display:grid}.sb-series-header-cell{justify-content:center;display:flex}.sb-series-header-cell--log{font-family:var(--font-family-mono);align-items:center;font-size:9px;font-weight:700}.sb-series-header-cell--text{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;font-family:var(--font-family);padding-left:4px;overflow:hidden}.sb-series-row{transition:background .2s}.sb-series-row:hover{background-color:var(--bg3)}.sb-series-row--dragging{opacity:.15}.sb-series-row--ghost{opacity:.45;pointer-events:none;outline:2px dashed var(--text-muted-color);outline-offset:-2px}.sb-series-list--dragging .sb-series-row{pointer-events:none}.sb-footer{border-top:1px solid var(--border-color);white-space:nowrap;color:var(--text-muted-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:.7rem;display:flex;position:relative}.sb-footer-links{align-items:center;gap:8px;min-width:0;display:flex}.sb-footer-version{opacity:.8;text-overflow:ellipsis;min-width:0;overflow:hidden}.sb-footer-sep{opacity:.5}.sb-footer-copy{opacity:.8;flex-shrink:0}.sb-footer .sb-footer-btn{font-size:inherit;padding:0}.sb-footer-btn{color:var(--text-muted-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:.75rem;display:flex}.col-chip-grid{flex-wrap:wrap;gap:2px;padding:4px 6px;display:flex}.col-chip{box-sizing:border-box;background:var(--bg);border-radius:3px;max-width:100%;margin:0;display:flex;position:relative}.col-chip:hover{background:var(--bg3)}.col-chip--plotted,.col-chip--plotted:hover{background:color-mix(in srgb, var(--accent) 14%, var(--bg))}.col-chip>button:first-child{white-space:nowrap;flex:1;min-width:0}.col-chip-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.col-chip-btn{color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:5px;padding:3px 2px 3px 8px;font-size:.7rem;display:flex}.col-chip--plotted .col-chip-btn{font-weight:600}.col-chip-swatch{border-radius:50%;flex-shrink:0;width:7px;height:7px}.col-chip-actions{opacity:0;pointer-events:none;flex-shrink:0;transition:opacity .15s;display:flex}.col-chip-actions button{border-left:none}.col-chip:hover .col-chip-actions,.col-chip:focus-within .col-chip-actions{opacity:1;pointer-events:auto}.toaster{z-index:10002;gap:8px;max-width:420px;display:grid;position:fixed;bottom:16px;right:16px}.toast{background:var(--bg);border:1px solid var(--border2);border-left:3px solid var(--text-muted-color);box-shadow:0 4px 12px var(--shadow);align-items:center;gap:8px;padding:4px 4px 4px 12px;font-size:.85rem;display:flex}.toast--success{border-left-color:var(--accent)}.toast--error{border-left-color:var(--danger)}.toast>span{overflow-wrap:anywhere;flex:1}.toast-action{color:var(--accent);border:1px solid var(--border2);padding:4px 8px}.toast-close{min-width:var(--ui-size);min-height:var(--ui-size);place-items:center;display:grid}@media (prefers-reduced-motion:no-preference){.toast{animation:.15s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}}.sb-storage-readout{z-index:10;background:var(--bg);border:1px solid var(--border-color);max-width:calc(100% - 16px);box-shadow:0 4px 12px var(--shadow);color:var(--text-muted-color);white-space:normal;flex-direction:column;gap:4px;padding:8px 10px;font-size:.7rem;display:flex;position:absolute;bottom:100%;left:8px}.sb-storage-readout strong{color:var(--text-color)}
