:root {
  color-scheme: dark;
  --background: #181818;
  --foreground: #ecece9;
  --muted-foreground: #ababab;
  --blue: #3799de;
  --green: #3cb38b;
  --orange: #ed9c57;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
}
* { box-sizing: border-box; }
body { margin: 0; padding: 24px; background: var(--background); color: var(--foreground); }
main { max-width: 900px; margin: 0 auto; }
button, input, select { font: inherit; }
button, select, summary, input[type="checkbox"] { cursor: pointer; }
.viz-controls { display: flex; flex-wrap: wrap; align-items: start; gap: 12px; margin-bottom: 12px; }
.form-label { display: block; flex: 1 1 calc(50% - 12px); min-width: 240px; }
.form-label output { float: right; }
.form-select { display: block; width: 100%; margin-top: 7px; padding: 8px 10px; background: #2b2b2b; color: var(--foreground); border: 1px solid #444; border-radius: 7px; }
.form-range { display: block; width: 100%; margin: 12px 0; accent-color: #e4b080; }
.viz-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.btn { padding: 7px 12px; background: #333; color: var(--foreground); border: 1px solid #484848; border-radius: 7px; }
.btn:hover { background: #414141; }
.btn[aria-pressed="true"] { background: #e4b080; color: #181818; }
.form-check { display: inline-flex; align-items: center; gap: 7px; }
.form-check-input { width: 18px; height: 18px; margin: 0; accent-color: #e4b080; }
.text-small { font-size: 12px; }
.text-muted { color: var(--muted-foreground); }
.text-destructive { color: #ffb2a8; }
.tabular-nums { font-variant-numeric: tabular-nums; }
summary { padding: 8px 0; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid #e4b080; outline-offset: 3px; }
@media (max-width: 540px) {
  body { padding: 16px; }
  .form-label { flex-basis: 100%; min-width: 0; }
  .btn, .form-select, .form-check { min-height: 44px; }
  .form-range { min-height: 28px; }
}

#folding-attractor-261012 { width:100%; color:var(--foreground); }
  #folding-attractor-261012 canvas { display:block; width:100%; aspect-ratio:1.2; touch-action:pan-y; }
  #folding-attractor-261012 .folding-actions { margin-top:12px; margin-bottom:12px; }
  #folding-attractor-261012 #folding-status { margin-left:auto; }
  #folding-attractor-261012 .folding-coefficients { margin-top:12px; }
  #folding-attractor-261012 summary { width:fit-content; }
  @media(max-width:420px) {
    #folding-attractor-261012 canvas { aspect-ratio:1; }
    #folding-attractor-261012 #folding-status { margin-left:0; }
  }
  #folding-attractor-261012 #folding-poster { margin-top:4px; }
  #folding-attractor-261012 #folding-poster summary { width:fit-content; }
  #folding-attractor-261012 #folding-poster > p { margin:4px 0 12px; max-width:60ch; }
  #folding-attractor-261012 progress { width:min(240px,100%); accent-color:#e4b080; }
  #folding-attractor-261012 [hidden] { display:none; }
