.qm-em{font-style:normal;font-family:var(--font-mono);color:var(--color-text);border-bottom:1px solid var(--color-rule-bright);padding-bottom:0}.qm-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:900px){.qm-grid{grid-template-columns:280px 1fr;gap:2rem;align-items:start}}.qm-controls{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}@media(min-width:900px){.qm-controls{position:sticky;top:5rem}}.qm-group{display:flex;flex-direction:column;gap:.5rem}.qm-row{display:flex;justify-content:space-between;align-items:baseline}.qm-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.qm-output{font-family:var(--font-mono);font-size:12px;color:var(--color-text);font-variant-numeric:tabular-nums}.qm-shapes{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.qm-shape{border:1px solid var(--color-rule);background:color-mix(in srgb,var(--color-bg-soft) 60%,transparent);color:var(--color-text-soft);border-radius:6px;padding:.45rem .55rem;font-family:var(--font-mono);font-size:11px;text-align:center;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.qm-shape:hover{border-color:var(--color-rule-bright);color:var(--color-text)}.qm-shape[aria-pressed=true]{border-color:var(--color-text);color:var(--color-text);background:var(--color-bg-soft)}input[type=range].qm-range,.qm-group input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:4px;background:var(--color-rule);border-radius:999px;outline:none;cursor:pointer}.qm-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:999px;background:var(--color-text);border:2px solid var(--color-bg);box-shadow:0 0 0 1px var(--color-rule-bright);transition:transform .15s ease,box-shadow .15s ease}.qm-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 1px var(--color-text-muted)}.qm-group input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:999px;background:var(--color-text);border:2px solid var(--color-bg);box-shadow:0 0 0 1px var(--color-rule-bright);cursor:pointer}.qm-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-rule)}.qm-stat{display:flex;flex-direction:column;gap:.15rem}.qm-stat-key{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint)}.qm-stat-val{font-family:var(--font-mono);font-size:14px;color:var(--color-text);font-variant-numeric:tabular-nums}.qm-hint{font-size:12px;color:var(--color-text-muted);line-height:1.5;border-top:1px solid var(--color-rule);padding-top:.75rem}.qm-hint strong{color:var(--color-text);font-weight:500}.qm-canvas-wrap{border:1px solid var(--color-rule);border-radius:14px;background:color-mix(in srgb,var(--color-bg-soft) 60%,transparent);padding:.5rem;display:flex;flex-direction:column;gap:.5rem}#qm-canvas{width:100%;aspect-ratio:16 / 10;display:block;border-radius:10px;background:var(--color-bg)}.qm-legend{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem .75rem .25rem;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.qm-legend-item{display:inline-flex;align-items:center;gap:.4rem}.qm-swatch{display:inline-block;width:14px;height:2px;border-radius:999px}.qm-swatch-v{background:#6b7280;height:8px;border-radius:2px}.qm-swatch-e{background:#4ade80}.qm-swatch-prob{background:#ededed}.qm-swatch-re{background:#737373}.qm-guide .prose-reader{max-width:70ch}.qm-eq{display:block;font-family:var(--font-mono);font-size:.92em;line-height:1.5;color:var(--color-text);background:var(--color-bg-soft);border:1px solid var(--color-rule);border-left:2px solid var(--color-rule-bright);border-radius:6px;padding:.85rem 1.1rem;margin:1.1em 0;white-space:pre-wrap;overflow-x:auto}.qm-steps{counter-reset:qm-step;margin:1em 0;padding-left:0;list-style:none}.qm-steps>li{counter-increment:qm-step;position:relative;padding-left:2.2rem;margin:.6em 0}.qm-steps>li:before{content:counter(qm-step,decimal-leading-zero);position:absolute;left:0;top:.05em;font-family:var(--font-mono);font-size:.75em;color:var(--color-text-faint);letter-spacing:.05em}.qm-steps>li:after{content:none}
