/* The Magic Lab — shared layout for Explore-tab simulations (assets/explore-kit.js).
   A canvas stage on the left, controls and readouts on the right; stacked on
   narrow screens. Colours come from the lesson page's own variables. */
.mlx-sim{--mlx-accent:#60a5fa;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;margin:0 0 8px;align-items:start}
@media (max-width:880px){.mlx-sim{grid-template-columns:minmax(0,1fr)}}
.mlx-stage{background:var(--surface,rgba(255,255,255,.045));border:1px solid var(--border,rgba(255,255,255,.075));border-radius:16px;padding:12px}
.mlx-stage canvas{display:block;width:100%;border-radius:10px;background:#060a14;touch-action:none}
.mlx-caption{font-family:var(--fm,"JetBrains Mono",monospace);font-size:12.5px;line-height:1.55;color:rgba(226,232,240,.72);margin:10px 4px 2px;text-align:center;min-height:1.5em}
.mlx-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.mlx-card{background:var(--surface,rgba(255,255,255,.045));border:1px solid var(--border,rgba(255,255,255,.075));border-radius:14px;padding:14px 16px}
.mlx-card-title{font-size:12px;font-weight:700;color:rgba(226,232,240,.55);margin:0 0 10px}
.mlx-field{margin:0 0 14px}
.mlx-field:last-child{margin-bottom:0}
.mlx-field-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;color:var(--text,#e3e8ef);margin-bottom:6px}
.mlx-field-head output{font-family:var(--fm,"JetBrains Mono",monospace);font-size:12.5px;font-weight:600;color:var(--mlx-accent);white-space:nowrap}
.mlx-field input[type=range]{width:100%;margin:0;accent-color:var(--mlx-accent);height:22px}
.mlx-seg{display:flex;flex-wrap:wrap;gap:6px}
.mlx-seg button,.mlx-btn{flex:1 1 auto;min-height:36px;padding:7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:rgba(226,232,240,.72);font:600 12.5px/1.3 var(--fd,"Cabinet Grotesk",sans-serif);cursor:pointer;transition:background 140ms,border-color 140ms,color 140ms}
.mlx-seg button:hover,.mlx-btn:hover{background:rgba(255,255,255,.08);color:var(--text,#e3e8ef)}
.mlx-seg button[aria-pressed="true"]{border-color:var(--mlx-accent);color:var(--text,#e3e8ef);background:rgba(255,255,255,.09);box-shadow:inset 0 -2px 0 var(--mlx-accent)}
.mlx-btn.primary{border-color:var(--mlx-accent);color:var(--text,#e3e8ef)}
.mlx-btn:disabled{opacity:.45;cursor:default}
.mlx-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.mlx-check{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text,#e3e8ef);cursor:pointer;margin:0 0 10px;min-height:28px}
.mlx-check input{width:17px;height:17px;margin:0;accent-color:var(--mlx-accent)}
.mlx-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.mlx-row:last-child{border-bottom:none}
.mlx-row span:first-child{color:rgba(226,232,240,.55)}
.mlx-row span:last-child{font-family:var(--fm,"JetBrains Mono",monospace);font-size:12.5px;font-weight:600;color:var(--text,#e3e8ef);text-align:right}
.mlx-note{font-size:12.5px;line-height:1.6;color:rgba(226,232,240,.62);margin:0}
.mlx-ref-title{font-size:15px;font-weight:800;color:var(--text,#e3e8ef);margin:30px 0 4px}
.mlx-ref-sub{font-size:13px;color:rgba(226,232,240,.5);margin:0 0 16px}
