*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1115;--panel:#171a21;--panel2:#1e2230;--border:#2a2f3d;--text:#e6e9f0;--muted:#9aa3b5;--accent:#4f8ef7;--accent2:#e8963c;--ok:#4cc38a;--warn:#e5484d}:root[data-theme=light]{--bg:#f6f7f9;--panel:#fff;--panel2:#eef1f5;--border:#d8dee7;--text:#1a1f27;--muted:#59616f;--accent:#2b6bf0;--accent2:#b4700a;--ok:#0e8a5f;--warn:#d23b3b}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:24px 20px 80px}.container.embedded{padding-top:14px}.embed-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:10px;justify-content:flex-end}header.top{display:flex;align-items:baseline;gap:14px;margin-bottom:6px;flex-wrap:wrap}header.top h1{font-size:26px;letter-spacing:.3px}header.top h1 span{color:var(--accent)}.tagline{font-size:14px}.health,.tagline{color:var(--muted)}.health{margin-left:auto;font-size:13px;display:flex;align-items:center;gap:6px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.ok{background:var(--ok)}.dot.bad{background:var(--warn)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-top:18px}.card h2{font-size:17px;margin-bottom:12px}.card h3{font-size:15px;margin:14px 0 6px;color:var(--accent)}textarea{width:100%;min-height:110px;background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:15px;font-family:inherit;resize:vertical}textarea:focus{outline:1px solid var(--accent)}.row{gap:10px;align-items:center;margin-top:12px}.chips,.row{display:flex;flex-wrap:wrap}.chips{gap:8px;margin-top:10px}.chip{background:var(--panel2);border:1px solid var(--border);color:var(--muted);padding:5px 12px;border-radius:999px;font-size:13px;cursor:pointer}.chip:hover{color:var(--text);border-color:var(--accent)}button.primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:15px;font-weight:600;cursor:pointer}button.primary:disabled{opacity:.5;cursor:default}button.primary:hover:not(:disabled){filter:brightness(1.1)}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer}button.ghost.active,button.ghost:hover{border-color:var(--accent)}button.ghost.active{background:rgba(79,142,247,.12)}.filelabel{font-size:13px;color:var(--muted);cursor:pointer;border:1px dashed var(--border);padding:8px 14px;border-radius:8px}.filelabel:hover{border-color:var(--accent);color:var(--text)}.imgpreview{max-height:90px;border-radius:8px;border:1px solid var(--border)}.status-line{color:var(--accent2);min-height:20px}.error,.status-line{font-size:14px;margin-top:12px}.error{color:var(--warn);white-space:pre-wrap}.tabs{display:flex;gap:4px;margin-top:22px;border-bottom:1px solid var(--border)}.tab{padding:9px 18px;font-size:14px;cursor:pointer;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent}.tab.active{color:var(--text);border-bottom-color:var(--accent)}table.bom{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}table.bom td,table.bom th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}table.bom th{color:var(--muted);font-weight:600;font-size:13px}table.bom td.num{text-align:right;white-space:nowrap}.total{text-align:right;margin-top:10px;font-size:15px;font-weight:600}ul.clean{list-style:none}ul.clean li{padding:4px 0 4px 18px;position:relative;font-size:14px;line-height:1.5}ul.clean li:before{content:"•";color:var(--accent);position:absolute;left:2px}ol.steps{margin-left:20px}ol.steps li{padding:4px 0;font-size:14px;line-height:1.5}p.body{font-size:14px;line-height:1.6;color:var(--text);margin:6px 0}.muted,.pill{color:var(--muted)}.pill{display:inline-block;background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:12px;margin-left:8px}.simgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:18px;gap:18px;margin-top:14px}@media (max-width:900px){.simgrid{grid-template-columns:1fr}}.simview{background:#000;border-radius:10px;overflow:hidden;border:1px solid var(--border);position:relative}.simview img{width:100%;display:block;min-height:300px;object-fit:contain}.simoverlay{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.55);padding:6px 12px;border-radius:8px;font-size:13px;display:flex;gap:14px}.sidepanel{display:flex;flex-direction:column;gap:12px}.coverage-big{font-size:34px;font-weight:700;color:var(--ok)}canvas.minimap{width:100%;border-radius:8px;border:1px solid var(--border);background:#14161c}.controls{display:flex;flex-wrap:wrap;gap:8px}.keyhint{font-size:12px;color:var(--muted);line-height:1.6}kbd{background:var(--panel2);border:solid var(--border);border-width:1px 1px 2px;border-radius:4px;padding:1px 6px;font-size:11px;font-family:inherit}.slider-row{display:flex;align-items:center;gap:10px;font-size:13px}.slider-row input[type=range]{flex:1 1}.timebar{display:flex;align-items:center;gap:6px;margin-top:10px}.tbtn{padding:5px 10px;font-size:13px}input.timeline{flex:1 1;accent-color:var(--accent)}.eventlog{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.event{display:grid;grid-template-columns:34px 18px 1fr;grid-gap:6px;gap:6px;font-size:12px;line-height:1.45;color:var(--text)}.event .etime{color:var(--muted);text-align:right}.stepcard{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:16px;gap:16px;border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:14px;background:var(--panel2)}@media (max-width:900px){.stepcard{grid-template-columns:1fr}}.stepcard .diagram{background:#fff;border-radius:8px;overflow:hidden;align-self:start}.stepcard .diagram svg{display:block;width:100%;height:auto}.stepnum{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:14px;margin-right:10px}.checkbox-line{border:1px solid var(--border);border-left:3px solid var(--ok);border-radius:6px;padding:8px 10px;margin-top:10px;font-size:13px}.altrow td{color:var(--muted);font-size:13px}.renderimg{max-width:100%;border-radius:10px;border:1px solid var(--border);margin-top:10px}.linkrow a{color:var(--accent);text-decoration:none}.linkrow a:hover{text-decoration:underline}footer{margin-top:40px;color:var(--muted);font-size:12px;text-align:center}