:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--panel:#fff;--panel-2:#f0f2f5;--border:#d9dde3;--text:#1c2430;--muted:#5d6b7a;--accent:#2563eb;--accent-soft:#dbeafe;--good:#15803d;--good-soft:#dcfce7;--warn:#b45309;--warn-soft:#fef3c7;--bad:#b91c1c;--bad-soft:#fee2e2;--info-soft:#e5e7eb;--sel:#fde68a;--k-solver:#7c3aed;--k-model:#0e7490;--k-presolve:#b45309;--k-search:#2563eb;--k-table:#15803d;--k-response:#be123c;--k-comment:#6b7280;--k-message:#9333ea;--k-unknown:#9ca3af;--k-unparsed:#dc2626;--mono:ui-monospace, "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Inter, sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1419;--panel:#171d25;--panel-2:#1f2731;--border:#2c3642;--text:#e6e9ee;--muted:#98a4b3;--accent:#60a5fa;--accent-soft:#1e3a5f;--good:#4ade80;--good-soft:#14352a;--warn:#fbbf24;--warn-soft:#3d2f12;--bad:#f87171;--bad-soft:#3f1d1d;--info-soft:#273241;--sel:#6b5e1c;--k-solver:#a78bfa;--k-model:#22d3ee;--k-presolve:#fbbf24;--k-search:#60a5fa;--k-table:#4ade80;--k-response:#fb7185;--k-comment:#9ca3af;--k-message:#c084fc;--k-unknown:#6b7280;--k-unparsed:#f87171}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.45}a{color:var(--accent)}code{font-family:var(--mono);background:var(--panel-2);border-radius:3px;padding:0 3px;font-size:.92em}button,select,input{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:5px 10px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}select{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:5px 8px}.app{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;display:flex}.topbar h1{white-space:nowrap;margin:0 8px 0 0;font-size:17px}.topbar .spacer{flex:1}.topbar .status{color:var(--muted);font-size:13px}.topbar a{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:12.5px;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.topbar a:after{content:"↗";opacity:.5;font-size:10px}.topbar a:hover,.topbar a.issue{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.topbar a.issue:hover{background:var(--accent);border-color:var(--accent);color:#fff}.error{color:var(--bad);background:var(--bad-soft);border-radius:6px;padding:6px 10px}.main{grid-template-columns:var(--left,1fr) 6px minmax(0, 1fr);flex:1;min-height:0;display:grid}.pane{min-height:0;overflow:auto}.splitter{cursor:col-resize;background:var(--border)}.splitter:hover{background:var(--accent)}@media (width<=900px){.main{grid-template-rows:1fr 6px 1fr;grid-template-columns:1fr}.splitter{cursor:row-resize}}.landing{max-width:900px;margin:30px auto;padding:0 16px}.landing textarea{width:100%;height:320px;font-family:var(--mono);background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px;font-size:12px}.landing .row{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.landing p{color:var(--muted)}.examples{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.examples button{text-align:left;background:var(--panel);padding:10px}.examples button b{display:block}.examples button span{color:var(--muted);font-size:12px;display:block}.examples button b span{display:inline}.logview{font-family:var(--mono);background:var(--panel);min-height:100%;padding-bottom:40vh;font-size:12px;line-height:1.5}.logline{white-space:pre;cursor:pointer;border-left:3px solid #0000;display:flex}.logline:hover{background:var(--panel-2)}.logline .no{text-align:right;width:56px;color:var(--muted);-webkit-user-select:none;user-select:none;flex:none;padding-right:10px}.logline .txt{flex:1;padding-right:10px}.logline.in-block{background:color-mix(in srgb, var(--accent-soft) 60%, transparent)}.logline.selected{background:var(--sel)}.logline.k-solver{border-left-color:var(--k-solver)}.logline.k-model{border-left-color:var(--k-model)}.logline.k-presolve{border-left-color:var(--k-presolve)}.logline.k-search{border-left-color:var(--k-search)}.logline.k-table{border-left-color:var(--k-table)}.logline.k-response{border-left-color:var(--k-response)}.logline.k-comment{border-left-color:var(--k-comment);color:var(--muted)}.logline.k-message{border-left-color:var(--k-message)}.logline.k-unknown{border-left-color:var(--k-unknown)}.logline.k-unparsed{border-left:3px dashed var(--k-unparsed);background:color-mix(in srgb, var(--k-unparsed) 10%, transparent)}.logline.k-unparsed:hover{background:color-mix(in srgb, var(--k-unparsed) 18%, transparent)}.logline.blank{cursor:default}.panel{flex-direction:column;gap:12px;padding:12px 14px 40vh;display:flex}.panel>h2.phase{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:14px 0 0;font-size:11px;font-weight:700;display:flex}.panel>h2.phase:after{content:"";background:var(--border);flex:1;height:1px}.panel>h2.phase:first-child{margin-top:0}.card{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--k-unknown);border-radius:8px;overflow:hidden}.card.active{box-shadow:0 0 0 2px var(--accent)}.card.k-solver{border-left-color:var(--k-solver)}.card.k-model{border-left-color:var(--k-model)}.card.k-presolve{border-left-color:var(--k-presolve)}.card.k-search{border-left-color:var(--k-search)}.card.k-table{border-left-color:var(--k-table)}.card.k-response{border-left-color:var(--k-response)}.card.k-comment{border-left-color:var(--k-comment)}.card.k-message{border-left-color:var(--k-message)}.card.k-unparsed{border-left:4px dashed var(--k-unparsed)}.card.k-unparsed>header h2{color:var(--k-unparsed)}.card>header{cursor:pointer;background:var(--panel-2);align-items:center;gap:8px;padding:8px 12px;display:flex}.card>header h2{flex:1;margin:0;font-size:14px}.card>header h2 .sum{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.card>header .lines{color:var(--muted);font-size:12px;font-family:var(--mono)}.card>header .lines:hover{color:var(--accent);text-decoration:underline}.card>header .toggle{color:var(--muted);background:0 0;border:none;padding:0 6px;font-size:12px}.card .body{padding:10px 12px}.card .explain{color:var(--muted);border-bottom:1px dashed var(--border);margin-bottom:8px;padding-bottom:6px;font-size:13px}.card .explain p,.md p{margin:0 0 6px}.md p:last-child{margin-bottom:0}.metrics{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.metric{border:1px solid var(--border);cursor:pointer;background:var(--panel);border-radius:6px;padding:6px 8px}.metric:hover{border-color:var(--accent)}.metric .label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.metric .value{font-size:15px;font-weight:600;font-family:var(--mono);overflow-wrap:anywhere}.metric .value small{color:var(--muted);font-size:12px;font-weight:400}.metric.good .value{color:var(--good)}.metric.warn .value{color:var(--warn)}.metric.bad .value{color:var(--bad)}.metric .hint{color:var(--muted);margin-top:2px;font-size:11px}.insight{cursor:pointer;background:var(--info-soft);border-left:3px solid var(--muted);border-radius:6px;margin-bottom:8px;padding:8px 10px}.insight.good{background:var(--good-soft);border-left-color:var(--good)}.insight.warn{background:var(--warn-soft);border-left-color:var(--warn)}.insight.bad{background:var(--bad-soft);border-left-color:var(--bad)}.insight b{margin-bottom:2px;display:block}.sec{margin-top:14px}.sec-title{border-bottom:1px solid var(--border);color:var(--text);align-items:baseline;gap:6px;margin:0 0 5px;padding-bottom:3px;font-size:13px;font-weight:600;display:flex}.sec-title .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400}.raw-wrap{max-height:320px;overflow:auto}.was{color:var(--muted)}.delta{font-variant-numeric:tabular-nums;margin-left:6px;font-size:11px}.delta.good{color:var(--good)}.delta.warn{color:var(--warn)}.delta.info{color:var(--muted)}.tbl-wrap{max-height:520px;overflow:auto}table.tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.tbl th,.tbl td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:3px 8px}.tbl th:first-child,.tbl td:first-child{text-align:left;font-family:var(--mono)}.tbl th{background:var(--panel-2);cursor:help;position:sticky;top:0}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover{background:var(--panel-2)}.tbl tr.selected{background:var(--sel)!important}.tbl td.num{font-family:var(--mono)}.tbl td.muted{color:var(--muted)}.coldocs{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:12px}.coldocs code{color:var(--text)}.kv{grid-template-columns:max-content 1fr;gap:2px 14px;font-size:13px;display:grid}.kv>div:nth-child(odd){color:var(--muted);font-family:var(--mono)}.kv>div{cursor:pointer}.kv>div.selected{background:var(--sel)}.tag{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;margin-right:4px;padding:0 6px;font-size:11px;display:inline-block}.tag.warn{color:var(--warn);border-color:var(--warn)}.tag.good{color:var(--good);border-color:var(--good)}.tag.bad{color:var(--bad);border-color:var(--bad)}.param{border-top:1px solid var(--border);padding:8px 0}.param:first-child{border-top:none}.param .head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.param .head code{font-size:13px}.param .doc{color:var(--muted);white-space:pre-wrap;margin-top:4px;font-size:12.5px}.param .advice{margin-top:4px;font-size:13px}.param .warning{color:var(--warn);margin-top:4px;font-size:13px}.small{color:var(--muted);font-size:12px}details summary{cursor:pointer;color:var(--muted);font-size:12.5px}.raw{font-family:var(--mono);white-space:pre-wrap;margin:0;font-size:12px}.raw div{cursor:pointer}.raw div.selected{background:var(--sel)}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.legend i{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.portfolio-group{margin:6px 0}ul.subsolvers{margin:4px 0;padding-left:12px;list-style:none}ul.subsolvers li{margin:2px 0}ul.subsolvers summary{cursor:pointer}ul.subsolvers .details{border-left:2px solid var(--border);margin:4px 0 8px 16px;padding-left:10px;font-size:12.5px}tr.details-row td{background:var(--panel-2);font-size:12.5px}button.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.tag.info{color:var(--accent);border-color:var(--accent)}.mix{margin:8px 0 4px;font-size:12px}.mix-title{color:var(--text);margin-bottom:3px;font-size:12px;font-weight:600}.mix-bar{background:var(--panel-2);border:1px solid var(--border);border-radius:5px;height:10px;display:flex;overflow:hidden}.mix-bar .seg,.sizebar i{height:100%;display:block}.mix-bar .seg.good,.sizebar i.good,.dot.good{background:var(--good)}.mix-bar .seg.info,.sizebar i.info,.dot.info{background:var(--accent)}.mix-bar .seg.warn,.sizebar i.warn,.dot.warn{background:var(--warn)}.mix-bar .seg.bad,.sizebar i.bad,.dot.bad{background:var(--bad)}.mix-legend{color:var(--muted);flex-wrap:wrap;gap:2px 12px;margin-top:3px;display:flex}.dot{border-radius:4px;width:8px;height:8px;margin-right:4px;display:inline-block}.domain-size{flex-wrap:wrap;align-items:center;gap:4px 6px;display:inline-flex}.sizebar{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;width:44px;height:7px;display:inline-block;overflow:hidden}.domain-size .num{font-family:var(--mono)}.sitelinks{z-index:20;background:var(--panel);border:1px solid var(--border);opacity:.6;border-bottom:0;border-right:0;border-radius:6px 0 0;align-items:center;gap:10px;padding:3px 9px;display:flex;position:fixed;bottom:0;right:0}.sitelinks:hover{opacity:1}.sitelinks a,.sitelinks button.linky{color:var(--muted);font-size:11px;text-decoration:none}.sitelinks a:hover,.sitelinks button.linky:hover{color:var(--accent);text-decoration:underline}button.linky{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}button.linky:hover{text-decoration:underline}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:100%;max-width:720px;max-height:80vh;padding:0 18px 18px;overflow:auto}.modal header{background:var(--panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0 10px;display:flex;position:sticky;top:0}.modal header h2{margin:0;font-size:16px}
