:root{--bg: #111317;--panel: rgba(24, 27, 33, .92);--panel-solid: #181b21;--border: #2c313a;--text: #e3e6eb;--muted: #8a919c;--accent: #56b4e9;--error: #ff8a7a;color-scheme:dark;font:13px/1.4 system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}#view{position:fixed;top:0;right:0;bottom:0;left:0}#panel,.side-panel{position:fixed;top:12px;left:12px;width:260px;max-height:calc(100% - 24px);overflow-y:auto;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px}@media(max-width:600px){#panel,.side-panel{top:auto;bottom:0;left:0;width:100%;max-height:45%;border-radius:8px 8px 0 0}}h1{margin:0 0 8px;font-size:16px}h2{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}section{padding:10px 0;border-top:1px solid var(--border)}label{display:block;margin-bottom:6px}details.section-toggle>summary{cursor:pointer;color:var(--muted)}details.section-toggle>summary h2{display:inline}details.section-toggle[open]>summary{margin-bottom:6px}label>input,label>select,section>select{display:block;width:100%;margin-top:2px}input,select,button,.file{font:inherit;color:var(--text);background:#1d2128;border:1px solid var(--border);border-radius:4px;padding:4px 6px}button,.file{cursor:pointer}button:hover,.file:hover{border-color:var(--accent)}button:disabled,input:disabled,select:disabled{opacity:.45;cursor:default}button:disabled:hover{border-color:var(--border)}.row{display:flex;gap:6px;align-items:center;margin:2px 0 6px}.row input{flex:1;min-width:0}.file{display:inline-block;margin:0}.file input{display:none}.float-panel{position:fixed;min-width:220px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);overflow-y:auto;padding:10px 12px;background:var(--panel-solid);border:1px solid var(--border);border-radius:8px}.float-panel[hidden]{display:none}#matrixPanel{top:12px;right:12px;width:400px}#statsPanel{right:12px;bottom:12px;width:360px}#mlpPanel,#esnMlpPanel{top:56px;width:480px}#mlpPanel{right:424px}#esnMlpPanel{right:404px}#esnTablePanel{top:56px;right:404px;width:360px}.lookup-table th,.lookup-table td{text-align:center}.lookup-table td{color:var(--text);border:1px solid var(--bg)}#esnSeedLabel .row{margin:2px 0 0}#esnTablePanel h3{margin:10px 0 4px;font-size:12px}#esnTableNote{margin:8px 0 0}.mlp-panel h3{margin:10px 0 2px;font-size:12px}.mlp-summary{min-height:2.8em;margin:4px 0 0}.mlp-svg{display:block;width:100%;height:auto}.mlp-svg text{font-size:10px;fill:var(--muted);dominant-baseline:central;-webkit-user-select:none;user-select:none}.mlp-svg .label{fill:var(--text);cursor:default}.mlp-svg text.win{font-weight:700}.mlp-svg .edge{stroke-opacity:.7}.mlp-svg .hit{stroke:transparent;stroke-width:5}.mlp-svg.focus .edge:not(.on){stroke-opacity:.06}.mlp-svg .edge.on{stroke-opacity:1}.mlp-svg .unit{fill:#2a2f38;stroke:var(--muted);stroke-width:1}.mlp-svg .unit.win{stroke:var(--text);stroke-width:2}.hover-tip.mlp-tip{z-index:40;max-width:300px;white-space:normal}.resize-handle{position:absolute;top:0;bottom:0;left:-3px;width:8px;cursor:ew-resize;touch-action:none}@media(max-width:600px){.float-panel{width:calc(100% - 24px)}.resize-handle{display:none}}.panel-header{display:flex;align-items:center;justify-content:space-between;margin:-10px -12px 0;padding:10px 12px 6px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.float-panel.dragging{box-shadow:0 8px 24px #00000073}.float-panel.dragging .panel-header{cursor:grabbing}.panel-header h2{margin:0}.panel-header button{cursor:pointer;padding:0 6px;border:none;background:none;color:var(--muted)}#matrixPanel .row select{flex:1;min-width:0}#matrixStateLinesLabel{margin:4px 0 6px}#matrixCanvas{width:100%;aspect-ratio:1}#matrixCanvas canvas{display:block;cursor:crosshair}.colorbar{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}#matrixBar{flex:1;height:8px;border-radius:2px}#matrixReadout{min-height:2.8em;font-variant-numeric:tabular-nums}#statsSummary{margin:4px 0 8px}.degree-chart{display:block;width:100%;overflow:visible}.degree-chart .title{fill:var(--text);font-size:12px}.degree-chart .tick{fill:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.degree-chart .grid{stroke:var(--border);stroke-width:1;shape-rendering:crispEdges}.degree-chart .hit{fill:transparent;outline:none;cursor:default}.degree-chart .bar.active{filter:brightness(1.3)}.chart-tip{position:fixed;z-index:40;padding:4px 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;font-size:12px;line-height:1.35;white-space:nowrap;pointer-events:none}.chart-tip[hidden]{display:none}.chart-tip .tip-row{display:flex;align-items:center;gap:6px}.chart-tip .tip-row i{width:12px;height:2px;border-radius:1px}.chart-tip strong{font-variant-numeric:tabular-nums}.chart-tip span{color:var(--muted)}.chart-tip>span{display:block}.degree-chart .crosshair{stroke:var(--muted);stroke-width:1;shape-rendering:crispEdges}#statsPanel .row{justify-content:space-between}#statsPanel .row label.check{margin:0}label.check[hidden]{display:none}#statsTableWrap summary{cursor:pointer;color:var(--muted);margin-top:6px}#statsTable{width:100%;margin-top:4px;border-collapse:collapse;font-variant-numeric:tabular-nums}#statsTable th,#statsTable td{padding:2px 6px;text-align:right;border-bottom:1px solid var(--border)}#statsTable th:first-child,#statsTable td:first-child{text-align:left;white-space:nowrap}#statsTable th{color:var(--muted);font-weight:600}.component-tools{position:fixed;z-index:11;padding:8px 10px;background:var(--panel-solid);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 18px #0006}.component-tools[hidden]{display:none}.component-tools .summary{margin-bottom:6px;color:var(--muted);font-size:12px}.component-tools .row{margin:0}.hover-tip{position:fixed;top:0;left:0;z-index:10;padding:3px 7px;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.hover-tip[hidden]{display:none}.info{color:var(--muted);cursor:help}label.check{display:flex;gap:6px;align-items:center}label.check input{width:auto;margin:0}dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0}dt{color:var(--muted)}dt.sub,dd.sub{font-size:12px}dt.sub{padding-left:10px}dd.sub{color:var(--muted)}dd.alert{color:#f0c674;font-weight:600}dd{margin:0;font-variant-numeric:tabular-nums;white-space:pre-line}.muted{color:var(--muted);margin:6px 0 0}.error{color:var(--error)}#legend{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px}.swatch{display:inline-block;width:10px;height:10px;margin-right:4px;border-radius:50%;vertical-align:-1px}#tabs{position:fixed;top:12px;left:50%;z-index:30;display:flex;gap:2px;padding:3px;transform:translate(-50%);background:var(--panel-solid);border:1px solid var(--border);border-radius:8px}#tabs button{padding:4px 14px;border:none;background:none;color:var(--muted)}#tabs button[aria-selected=true]{background:#2a2f38;color:var(--text)}#searchPage,#evolvePage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;overflow-y:auto;padding:60px 16px 24px;background:var(--bg)}#searchPage[hidden],#evolvePage[hidden]{display:none}.search-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;max-width:1200px;margin:0 auto}#searchResults,.card.wide{grid-column:1 / -1}@media(max-width:800px){.search-grid{grid-template-columns:minmax(0,1fr)}}.card{padding:14px 16px;background:var(--panel-solid);border:1px solid var(--border);border-radius:8px}.card h2{margin:0 0 8px}.card h3{margin:14px 0 6px;font-size:12px;font-weight:600;color:var(--muted)}#searchSettings>label{margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:10px 0}.form-grid label{margin:0}.form-grid input,.form-grid select{width:100%}#sFormError{margin:6px 0 0;min-height:1.2em}.hist-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.hist-head h2,.hist-head h3{margin-bottom:0}.hist-head label.check{margin:14px 0 0}.progress-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 24px}#sSummary{flex:0 0 auto}#sBestChart{flex:1 1 260px;min-width:0}.best-chart .line{fill:none;stroke-width:2;stroke-linejoin:round}.best-chart .end{stroke:var(--panel-solid);stroke-width:2;pointer-events:none}.best-chart .joined{stroke-opacity:.4;pointer-events:none}.best-chart .selected-ring,.best-chart .hover-ring{fill:none;stroke-width:2;pointer-events:none}.best-chart .selected-ring{stroke:var(--text)}.best-chart .crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}#sHistogram{min-height:160px;margin-top:6px;color:var(--muted)}#sReasons .reason{display:grid;grid-template-columns:90px 1fr 110px;align-items:center;gap:8px;margin:3px 0;font-variant-numeric:tabular-nums}#sReasons .track{height:8px;background:#22262e;border-radius:2px;overflow:hidden}#sReasons .fill{display:block;height:100%;background:#6b7380}#sReasons .value{color:var(--muted);text-align:right}label.inline{display:flex;align-items:center;gap:6px;margin:0}label.inline input{width:64px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.data-table th,.data-table td{padding:4px 8px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}.data-table th{color:var(--muted);font-weight:600}#sTop td:last-child,.data-table td.buttons{text-align:left}.data-table button{padding:2px 10px}.evolve-grid{grid-template-columns:minmax(320px,440px) minmax(0,1fr)}#eConfig{display:block;box-sizing:border-box;width:100%;margin:10px 0 4px;padding:8px;resize:vertical;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;-moz-tab-size:2;tab-size:2}#eConfig:focus{outline:none;border-color:var(--accent)}.seg-toggle{display:inline-flex;gap:2px;margin-top:10px;padding:3px;background:var(--bg);border:1px solid var(--border);border-radius:6px}.seg-toggle label{margin:0;padding:3px 12px;border-radius:4px;color:var(--muted);cursor:pointer}.seg-toggle label:has(input:checked){background:#2a2f38;color:var(--text)}.seg-toggle label:has(input:focus-visible){outline:1px solid var(--accent)}.seg-toggle input{position:absolute;opacity:0;width:1px;height:1px;margin:0}#eConfig[hidden],#eForm[hidden]{display:none}.config-form{margin:10px 0 4px}.config-form .form-section{padding:8px 0 10px}.config-form h3{margin:0 0 4px}.config-form .form-grid{margin:4px 0}.config-form .form-grid>.wide{grid-column:1 / -1}.config-form label.check{align-self:end;margin-bottom:4px}.form-subsection{margin:8px 0 0;padding-left:10px;border-left:2px solid var(--border)}.form-subsection h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 4px;font-size:12px;font-weight:600;color:var(--muted)}.form-subsection h4 button{padding:0 6px}.form-rows{margin:4px 0}.form-row select,.form-row input,.form-experiments select{flex:1;min-width:0}.form-row select+select{flex:0 0 auto}.config-form .pair{margin:2px 0 0}.config-form .pair input{min-width:0}.config-form .invalid>input,.config-form .invalid>select,.config-form .invalid>.pair input,.config-form .form-row.invalid>select,.config-form .form-row.invalid>input{border-color:var(--error)}.field-error{margin-top:2px;color:var(--error);font-size:11px}#eCheck{min-height:1.2em;margin:2px 0 8px;white-space:pre-line}#eCheck.ok:before{content:"✓ ";color:#0ca30c}#eHelp{margin-top:12px}#eHelp summary{cursor:pointer;color:var(--muted)}#eHelpBody{font-size:12px;line-height:1.5}#eHelpBody h4{margin:10px 0 2px;font-size:12px}#eHelpBody code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--text)}#eHelpBody p,#eHelpBody ul{margin:2px 0 6px;color:var(--muted)}#eHelpBody ul{padding-left:18px}#eSummary{flex:0 0 auto;max-width:300px}#eBestChart{flex:1 1 260px;min-width:0}.chart-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:12px}.chart-row>.chart-box{flex:1 1 260px;min-width:0}.chart-box[hidden]{display:none}.chart-legend{display:flex;flex-wrap:wrap;gap:2px 14px;margin-bottom:4px;color:var(--muted);font-size:11px}.chart-legend i{display:inline-block;width:12px;height:2px;margin-right:5px;border-radius:1px;vertical-align:3px}#eHeatmap{margin-top:4px}.heatmap .cell.active{filter:brightness(1.25)}.heatmap .cell.selected{stroke:var(--text);stroke-width:2}#eCellInfo{min-height:1.4em;margin-top:6px}#eCellInfo button{margin-left:6px;padding:2px 10px}.data-table tr.selected td{background:#232832}#eRuns tbody tr{cursor:pointer}.data-table td.left,.data-table th.left{text-align:left}.data-table td .row{gap:4px}#eCompareChart{margin:6px 0 10px}.status-error{color:var(--error)}#esnPage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--bg)}#esnPage[hidden]{display:none}#esnView{position:absolute;top:0;right:0;bottom:0;left:0}#esnPanel{width:290px}#esnPanel .form-grid{margin:6px 0}#esnPanel label[hidden]{display:none}#esnDysts .form-grid{margin-bottom:4px}#esnDataStatus{margin:2px 0}#esnDataStatus.error{color:var(--error)}#esnTaskNote,#esnMessage{margin:4px 0;white-space:pre-line}#esnMessage.error{color:var(--error)}#esnLegend{margin-top:8px;color:var(--muted);font-size:11px}#esnLegend .weight-bar{height:8px;margin:4px 0 2px;border-radius:2px}#esnLegend .weight-ends{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}#esnLegend .hubs{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px}#esnPlotPanel{right:12px;bottom:12px;width:560px}#sweepPanel{left:288px;bottom:12px;width:520px}#sweepPanel .row{justify-content:space-between}#sweepPanel .row label.check{margin:0}#sweepCharts .chart-box+.chart-box{margin-top:6px}#esnWeightsPanel{top:12px;right:12px;width:380px}#esnWeightsPanel .row label.check{margin:0}#esnWeightsSummary{margin:4px 0 6px}#esnWeightsPanel .row select,#esnPlotPanel .row select{flex:1;min-width:0}#esnCharts .chart-box+.chart-box{margin-top:6px}.degree-chart .marker{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;shape-rendering:crispEdges}.report-dialog{width:min(460px,calc(100% - 32px));padding:16px 18px;color:var(--text);background:var(--panel-solid);border:1px solid var(--border);border-radius:8px}.report-dialog::backdrop{background:#00000080}.report-dialog label input{display:block;width:8em;margin-top:2px}
