.panel{background:var(--viz-panel,#162536);border:1px solid var(--viz-border);border-radius:13px;overflow:hidden;margin:12px 0}.pad{padding:13px}.muted,.bar,small,.small{font-size:12px;color:var(--viz-muted);line-height:1.65}.bar{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center;padding:9px 0}.darkcanvas .bar{padding:9px 12px}.tabs{display:flex;border-bottom:1px solid var(--viz-border)}button{background:var(--viz-card);color:var(--viz-text);border:1px solid var(--viz-border);padding:10px;border-radius:9px;cursor:pointer}.tabs button{width:50%;border:0;border-radius:0;border-bottom:2px solid transparent}.tabs button.active{border-bottom-color:var(--viz-accent);background:var(--viz-accent-bg)}button.active{border-color:var(--viz-accent);background:var(--viz-accent-bg)}button.primary{background:var(--viz-accent);color:#fff}.gates,.actions,.bits,.stats,.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.actions,.bits,.stats,.rules{grid-template-columns:repeat(3,1fr)}.bits button,.bits article,.stats article,.rules article,.details article{background:var(--viz-card);border:1px solid var(--viz-border);border-radius:10px;padding:12px;text-align:center}.bits strong,.stats strong{display:block;font-size:25px}.bits small,.rules small{display:block}.darkcanvas{background:#0d1926;border:1px solid #27394e;border-radius:11px;overflow:hidden;margin:12px 0}.darkcanvas .bar{color:#a9b9cf}canvas{display:block;width:100%;height:auto}.details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.details article{text-align:left}.details table{width:100%;text-align:center;border-collapse:collapse;margin-top:8px}.details th,.details td{padding:8px;border-bottom:1px solid var(--viz-border)}.details tr.selected{background:var(--viz-accent-bg)}.details tbody tr{cursor:pointer}.details #process{font-size:12px;line-height:2;color:var(--viz-muted);margin-top:10px}.details p{font-size:12px;line-height:1.7;color:var(--viz-muted)}input[type=range]{width:100%;accent-color:var(--viz-accent)}.rules{margin-top:12px}[hidden]{display:none!important}@media(max-width:540px){.details{grid-template-columns:1fr}.bits strong,.stats strong{font-size:21px}.gates button{padding:9px 5px}}